乐于分享
好东西不私藏

第2章 AI 软件工程工具链

第2章 AI 软件工程工具链
2.1 AI 工具百花齐放的时代

    如果时间回到两三年前,大多数开发者能够接触到的 AI 编程工具并不多。那个时候,人们对于 AI 的理解,更多停留在"聊天机器人"或者"代码补全"。而今天,当我们打开浏览器,会发现各种 AI 工具层出不穷。有人使用 ChatGPT 与 AI 讨论需求;有人使用 Claude 编写项目文档;有人使用 Gemini 查询资料;有人使用 DeepSeek 完成中文场景下的开发;有人使用 Cursor、Claude Code、Trae、CodeBuddy 等 AI IDE 完成代码编写;还有越来越多的 AI Agent 能够直接操作终端、调用工具、执行命令,甚至完成整个软件开发流程。

    AI 已经不再是一个单独的产品,而逐渐演变成一个完整的开发生态。面对如此丰富的工具,很多开发者都会产生一个问题:

我到底应该学习哪一个?

    事实上,这个问题并没有唯一答案。因为真正重要的,并不是工具,而是工具背后的能力。软件开发经历了几十年的发展,从汇编语言到高级语言,从命令行到 IDE,从本地开发到云端开发,每一次技术变革都会伴随着大量新工具的出现。

    但最终留下来的,从来不是某一个工具,而是一套更加高效的软件工程方法。AI 时代也是如此。

    真正值得学习的,不是某一款 AI 产品,而是如何让 AI 参与软件研发的全过程。过去,开发者学习的是编程语言;后来,学习的是框架和工程化;今天,我们需要学习的是如何组织 AI,让 AI 成为软件研发团队的一员。工具会不断变化,但软件工程的方法不会改变。本书不会拘泥于某一个 AI 产品,而是围绕软件工程生命周期,介绍 AI 在各个阶段中的最佳实践。


2.2 AI 工具的分类

    虽然目前市场上的 AI 产品种类繁多,但从软件研发的角度来看,大致可以分为以下几类。

第一类:通用大模型

    这一类产品拥有强大的自然语言理解与推理能力,适合需求分析、方案讨论、文档编写、技术选型、代码解释、问题分析等场景。它们更像是一位经验丰富的技术顾问。当你不知道如何设计一个系统、不知道应该采用哪种架构、或者需要进行技术方案评审时,通用大模型通常能够提供非常有价值的建议。

第二类:AI 编程助手

    AI 编程助手直接集成在编辑器或 IDE 中,能够理解当前工程的上下文,完成代码生成、重构、补全、Bug 修复以及代码解释等工作。对于开发者而言,它更像是一位坐在身边的结对程序员(Pair Programmer)。相比传统的代码补全工具,它能够结合整个项目上下文理解开发意图,而不仅仅是预测下一行代码。

第三类:AI Agent

    随着 Agent 技术的发展,AI 已经不再满足于"回答问题"。越来越多的 AI Agent 可以直接调用终端命令、访问数据库、执行脚本、调用 API、生成文档、修改代码、提交 Git,甚至完成完整的软件交付流程。它们开始具备"执行能力"。如果说通用大模型负责思考,那么 Agent 更像真正的执行者。

    未来的软件研发,很可能由多个 Agent 协同完成不同角色的工作。

第四类:AI 设计工具

    AI 已经逐渐进入产品设计与 UI 设计领域。从页面布局、配色方案,到图标生成、原型设计,再到设计稿转换为代码,越来越多的设计工作正在被 AI 辅助完成。产品经理和设计师之间的协作方式,也因此发生了变化。

第五类:AI 办公工具

    会议纪要、需求整理、文档生成、知识库问答、日报周报、项目总结等,这些原本需要大量人工整理的工作,如今都可以由 AI 快速完成。虽然它们并不直接参与编码,但却极大提高了整个研发团队的工作效率。


2.3 AI 工具在软件工程中的角色

    很多开发者习惯按照产品名称来记忆工具,例如:"这是一个聊天工具。"、"这是一个 AI IDE。"、"这是一个 Agent。"。但如果从软件工程的角度来看,我们更应该关注的是它在整个研发流程中承担什么角色。

  • 需求分析阶段,AI 可以帮助我们梳理需求、分析竞品、编写 PRD。

  • 系统设计阶段,AI 可以协助完成架构设计、数据库设计、接口设计以及技术选型。

  • 编码阶段,AI 可以生成代码、解释代码、重构代码、发现潜在问题。

  • 测试阶段,AI 可以自动生成测试用例、接口测试以及端到端测试。

  • 部署阶段,AI 可以生成 Dockerfile、CI/CD 配置以及 Kubernetes 部署文件。

  • 运维阶段,AI 可以分析日志、定位异常、给出优化建议。

    因此,我们不应该把 AI 看成某一个工具,而应该把它看成贯穿整个软件生命周期的一套能力。


2.4 如何选择适合自己的 AI 工具

    面对不断更新的 AI 产品,不少开发者会陷入"工具焦虑"。今天学习了一个工具,明天又出现新的产品;刚熟悉一个 IDE,又有新的 Agent 发布。实际上,没有必要追逐所有工具。建议遵循以下几个原则:

第一:优先选择能够融入现有工作流的工具。

    优秀的 AI 工具,不应该改变你的开发习惯,而应该增强你的开发效率。

第二:关注上下文能力,而不仅仅是模型能力。

    对于软件开发而言,是否能够理解整个项目,比单次回答是否精彩更加重要。

第三:关注执行能力。

    未来的软件开发,越来越多的工作将由 Agent 自动完成。因此,是否支持工具调用(Tool Calling)、MCP、终端执行、工作流编排等能力,将成为重要的评价标准。

第四:不要过度依赖单一工具。

    AI 产品更新速度极快。真正需要掌握的是软件工程方法,而不是某一款产品的使用技巧。


2.5 本书采用的 AI 工具体系

    为了帮助读者完成整个软件研发流程,本书不会局限于某一个 AI 产品。相反,我们将根据不同阶段选择最适合的工具。

  • 需求分析阶段,我们将借助具备较强推理能力的大模型完成需求梳理与方案设计。

  • UI 设计阶段,我们将结合 AI 设计工具快速生成页面原型和设计稿。

  • 开发阶段,我们将使用 AI IDE 与 AI 编程助手完成前后端编码。

  • 测试阶段,我们将利用 AI 自动生成测试用例,并辅助完成质量保障。

  • 部署与运维阶段,我们将借助 AI 完成容器化、持续集成、云原生部署以及日志分析。

    需要说明的是,书中所使用的工具只是当前阶段的代表产品。随着 AI 技术的发展,它们可能会不断变化。但本书所介绍的软件工程思想、人与 AI 的协作方式,以及贯穿整个研发流程的方法论,将具有更长久的价值。

    在下一章,我们将开始介绍 AI 时代最重要的一项能力——如何建立属于自己的 AI 开发规范,让 AI 真正理解你的项目,而不是每一次都从零开始。