idevlab-blogs

AI 时代的软件构建正在从 Vibe Coding 走向 AGENTIC Engineering

软件构建已经进入「AI Engineering」阶段。

从 Coding 到 AI Engineering 的演进路线

过去十几年,软件开发的工作方式大体清楚。开发者打开 VS Code,在本地写代码,跑测试,把代码推到 GitHub,等待 Code Review,再通过 CI 进入发布流程。这个链条很稳定,也塑造了这一代工程师的工作习惯。写代码、调试、提交、审查、部署,这些动作连在一起,构成了现代软件工程的日常。

AI 出现后,变化先从很小的地方开始。它一开始像一个更聪明的补全工具,能帮开发者补函数、写样板代码、生成测试、解释报错。随后它进入编辑器,开始理解项目文件。再后来,它进入终端、云端环境、Issue、Pull Request、部署预览和浏览器,开始承担更完整的任务。

今天,AI 已经不只停留在聊天窗口里。它正在接入 Linear、Slack、GitHub、测试环境、部署平台、监控系统和浏览器。它从一个「会回答问题的模型」,变成了一个可以参与软件交付的工程系统。

所以,今天讨论「AI 时代如何构建应用」,重点已经不该停在「模型会不会写代码」。真正关键的问题是:我们如何把需求、上下文、工具、权限、测试、部署、审查和团队协作组织成一个可控的系统。

传统 Coding 关注的是人如何把想法翻译成代码。AI Engineering 关注的是人如何设计一个环境,让 AI 能稳定、可控、可验证地参与工程。这个变化看起来像是工具升级,实际上是在重写软件生产的组织方式。

软件开发的中心正在从「写代码」转向「组织智能劳动力」

过去,开发者面对的是一个编辑器。今天,开发者面对的更像一间小型机器工坊。

左边是版本历史,中间是多个 Agent 会话,右边是文件树、测试面板、运行日志和提交入口。一个 Agent 在读需求,一个 Agent 在查历史讨论,一个 Agent 在修改代码,一个 Agent 在补测试,还有一个 Agent 在浏览器里验证页面。人类开发者坐在中间,负责判断方向、分配任务、检查结果和控制风险。

这就是 AI Engineering 的基本形态。开发者不再只是在键盘前逐行输入。他需要把模糊需求拆成清楚任务,把任务交给不同的 Agent,再根据测试、diff、日志和运行结果判断哪些内容可以进入主线。

这并没有让工程消失。相反,工程被推到了更高的组织层面。代码生成变快后,架构边界、权限控制、测试质量、变更审查、回滚机制和过程记录变得更重要。AI 让产出速度变快,也让错误传播得更快。真正成熟的 AI 开发,不靠模型自由发挥,而靠一套可以约束模型的工程系统。

早期工具提高了编码速度,也暴露了上下文不足

VS Code、GitHub 和 Copilot 可以看作 AI 编程早期阶段的三件基础设施。

VS Code 统一了编辑、调试、终端、插件和语言服务,让本地开发体验变得轻量。GitHub 让代码从本地文件变成可以被讨论、审查、追踪、测试和交付的协作资产。Copilot 则把 AI 第一次大规模带进了编码动作本身。

这一代工具解决了很多实际问题。空白文件没有那么可怕了,重复代码不用一遍遍手写,API 调用、类型定义、测试样板和配置文件都可以更快生成。开发者能把更多注意力放在设计、调试和判断上。

但它的边界也很明显。Copilot 式补全主要围绕当前文件、当前函数和光标附近的内容工作。它擅长顺着你正在写的代码继续写下去,却很难真正理解一个功能为什么存在,也很难跨越几十个文件完成一项完整变更。

它可以帮你写一段函数,但很难回答这些问题:这个功能应该改哪几层?会不会破坏已有权限模型?对计费、日志、测试、灰度有什么影响?这个接口是否需要幂等?这个错误能不能暴露给用户?

所以,早期 AI 编码的核心成果是提高个人编码速度,核心局限是上下文太浅。它像一盏贴近光标的小灯,能照亮手边的代码,却照不到整个系统。

AI IDE 让开发者开始用「意图」打开项目

Cursor、Trae、Windsurf 这类工具,把 AI 从「光标旁边的补全」推进到了「编辑器里的协作者」。

AI 不再只补一句代码,它可以围绕项目提问,检索文件,解释调用链,修改多个文件,提出实现方案。开发者的起手动作也随之变化。过去需要先知道该打开哪个文件,再决定如何修改;现在可以先描述目标,让 AI 帮你找到相关模块,理解现有结构,再给出改法。

这让「对话」变成了开发入口。你可以说:「帮我实现登录后的会员权益页。」AI 可能会创建页面,补接口调用,处理 loading 状态,写错误提示,甚至顺手补几条测试。它像一个熟悉框架、动作很快的初级工程师,愿意试,也能马上改。

但这一阶段的问题也很清楚。

项目越大,AI 越容易漏掉隐含约定。它可能改对了页面,却漏掉埋点;可能写好了接口调用,却没接权限校验;可能修复了一个 bug,又引入新的边界问题。

真实项目里还有 lint、类型检查、测试、构建、环境变量、数据库迁移、日志规范、灰度策略。AI 能写代码,不代表它天然理解这些约束。它生成的实现可能看起来正确,却没有遵守团队的目录约定、接口规范和安全边界。

多人协作也会变复杂。一个 Agent 在你的本地分支上改代码还算简单。多个开发者、多个 Agent、多个任务同时推进时,冲突、审查、合并和回滚都会变成新问题。传统 Git 分支还能承载协作,但 AI 的高并发产出会让分支管理压力变大。

所以,把 AI 放进编辑器只是第一步。AI 要真正进入工程,还需要任务环境、执行环境、协作环境和审查环境一起变化。

任务型 Agent 让 AI 开始接近「接任务」的形态

Claude Code、Codex 这类工具带来了新的跃迁。重点从「编辑器内辅助」转向「任务导向执行」。

这意味着 AI 编程助手开始接近「接任务」。你不再只让它补一个函数,而是可以给它一个 Issue:修复导出失败,补齐支付回调幂等,重构某个组件,增加单元测试,检查一次数据库迁移的风险。

它会读取项目,提出计划,修改代码,运行命令,再把结果交给你审查。

这一阶段的核心进步是 AI 获得了行动能力。行动能力包括三件事:读取项目上下文,调用工具完成任务,对结果做自检。模型本身依然重要,但真正的使用体验来自模型、工具、环境和流程的组合。

风险也随之升级。任务型 Agent 一旦可以运行命令、改文件、操作 Git,风险就高于普通补全。它可能误删文件,可能误解环境,可能写出看起来合理但难维护的结构。它还会遇到本地环境和云端环境不一致、私有依赖安装失败、数据库连接受限、测试数据缺失、权限不足等问题。

AI 越接近真实工程,越需要工程约束。人类开发者的工作重心也开始上移。你不再只盯着每一行代码怎么写,还要思考任务怎么拆,权限怎么给,结果怎么验,失败怎么回滚。

现代开发者正在把一个人扩展成一支小型工程队

到了 Codex App、Superconductor、T3 Code、Cmux、Cursor 3 这类工具所代表的阶段,问题再次变化。

我们不再只问「一个 Agent 能不能完成任务」,也开始问「多个 Agent 如何并行工作」「如何隔离上下文」「如何比较不同结果」「如何把 AI 产出纳入团队工程」。

一个更真实的工作画面是:开发者打开统一工作台,左侧是 Git 分支和变更,中间是多个 Agent 会话,右侧是文件、测试、运行面板和提交入口。每个 Agent 都像一个临时加入的工程伙伴,负责一个较明确的任务。人类开发者负责定义目标、分配任务、检查结果、合并代码和控制风险。

这类工作流的关键变化是,开发者不再把 AI 当作一个补全按钮。更好的方式是把它看成一组可以被调度的执行单元。一个 Agent 负责读需求,一个负责改代码,一个负责补测试,一个负责做审查,一个负责查文档和历史约定。人类不需要亲自输入每一行代码,但必须持续掌握方向。

现代 AI 开发的第一步,通常不是马上写代码,而是先整理工程边界。项目根目录里的 AGENTS.mdCLAUDE.mdREADME.mdOpenSpec 或类似文件,会成为 AI 的项目说明书。里面要写清楚项目结构、技术栈、包管理方式、测试命令、提交规范、安全边界、命名规则、目录职责,以及哪些文件不能随便改。

过去,这些知识常靠老员工口头传递。现在,它们需要沉淀成 AI 能读懂的文本。没有这些说明,Agent 只能靠猜。猜测在 demo 阶段看起来很快,在真实工程里很容易埋下问题。

第二步,是把需求拆成可执行的小任务。现代 AI 开发最怕一句话扔给 Agent:「帮我把整个会员系统做完。」这样的任务太大,AI 容易混乱,人也很难审查。更稳的做法是把任务拆开:先读取账号模块和权限模块,再设计会员状态字段,再实现后端接口,再写前端页面,再补测试,再检查埋点和错误处理,最后生成变更说明。

每个任务都要有输入、输出和验收方式。AI 擅长执行清楚任务,但不能替人承担模糊目标带来的责任。

第三步,是为每个任务开独立工作空间。这里 git worktree 很重要。传统开发里,很多人习惯一个仓库一个分支,来回切分支,来回 stash。AI 进入后,这种方式很快会乱。你可能同时让三个 Agent 做不同尝试,如果它们都在同一个目录里改文件,冲突会很难处理。

worktree 的价值在于,同一个仓库可以挂出多个独立目录,每个目录对应一个分支,每个 Agent 都在自己的目录里工作。一个 Agent 修支付问题,一个 Agent 改前端交互,一个 Agent 补测试,它们互不干扰。最后,人只需要比较每个分支的 diff,决定哪些内容进入主线。

第四步,是让 Agent 先读,再写。很多 AI 工作流失败,原因并不在模型能力,而在它一上来就改代码。更稳的流程是先让 Agent 做「代码侦察」。让它先回答:这个功能涉及哪些目录?核心入口在哪里?已有模式是什么?哪些测试会受影响?哪些文件不应该碰?然后让它写一个简短计划。计划看起来合理,再允许它进入修改阶段。

第五步,是安排旁路 Agent 做检查。主 Agent 负责实现,另一个 Agent 专门审查。比如要修改一个 OpenSpec change,主 Agent 负责写 proposal.mdtasks.mddesign.md,旁路 Agent 负责检查结构有没有错,任务有没有漏,变更有没有破坏已有约定。

AI 产出越快,人的审查压力越大。让另一个 Agent 先做机械检查,可以把很多低级问题挡在前面。人类开发者看最终 diff 时,就能把注意力放在设计质量和产品判断上。

第六步,是要求 Agent 给出验证结果。不能只看它说「已经完成」。要让它明确跑了哪些命令,结果是什么。比如 pnpm lint 是否通过,pnpm test 是否通过,类型检查是否通过,OpenSpec 校验是否通过,构建是否通过。如果有命令没跑,要说明原因。如果测试失败,要判断是已有问题,还是本次改动带来的问题。

这里有一个很重要的习惯:不要只要结论,要命令和结果。Agent 的总结可能听起来很顺,但工程事实必须由命令、日志、diff 和运行结果支撑。

第七步,是用 diff 做人工审查。AI 改完后,不要急着提交。先看文件数量,确认有没有改到无关文件;再看核心文件,确认实现是否符合现有结构;再看测试文件,确认测试是否覆盖本次变更;最后看文档,确认内容没有空泛堆砌。

AI 可以生成代码,但进入仓库的代码必须经过人类审查。

现代 AI 开发工作台:多 Agent 并行协作

真实工具链让 Agent 从代码仓库走向完整交付

现代 AI 开发还有一个关键变化:Agent 不再只待在代码仓库里,它开始连接公司真实的工具链。

过去,开发者需要在很多工具之间搬运信息。产品经理在 Linear 写需求,运营或用户在 Slack 反馈问题,设计师在 Figma 更新页面,工程师在 GitHub Issue 记录 bug。开发者要看 Linear,翻 Slack,读文档,打开代码,跑本地环境,提交 PR,等测试,部署预览,再回到 Slack 或 Linear 同步结果。

AI 进入工程后,这条链路开始被重新组织。成熟的 Agent 工作流不能只会打开仓库写代码。它应该能从 Linear 领取任务,读取 Issue 背景,检索 Slack 里的相关讨论,找到产品文档或设计稿,再回到代码仓库定位实现位置。完成修改后,它可以创建独立分支,启动测试环境,部署 preview,打开浏览器检查页面,运行自动化测试,最后把结果写回 Linear 或 GitHub PR。

这意味着 AI 开发的边界正在从「代码文件」扩展到「工作流系统」。

比如,Linear 里有一个 ticket:「新用户注册后,会员权益页没有展示默认套餐。」Agent 先读取 ticket,提取关键信息:问题发生在注册后,涉及会员权益页、用户初始化、套餐默认值、前端展示和后端接口。然后它去 Slack 搜索近期反馈,发现客服同事提到多个新用户遇到了空页面。接着它打开代码库,查注册流程、会员状态初始化逻辑和权益页渲染逻辑。

这个时候,它已经不再凭一句 prompt 猜测,而是在真实工具链里收集上下文。

随后,它在自己的 git worktree 中创建独立分支,修改后端初始化逻辑,补上默认套餐状态,再修改前端空状态处理,最后补测试。完成第一轮实现后,它运行 lint、类型检查、单元测试和相关集成测试。如果项目配置了 preview 部署,它还可以触发临时环境。

browser usecomputer use 的价值在这里出现。传统 AI Coding 很多时候停在「代码看起来写好了」。真实产品开发还要看运行结果。Agent 可以打开预览环境,像真实用户一样走一遍注册流程:输入邮箱,完成注册,进入权益页,检查默认套餐是否展示,按钮是否可点,空状态是否消失,接口是否返回正确数据。它还可以截图、读取页面文本、比较预期结果和实际结果。

computer use 更进一步。它让 Agent 可以操作完整图形界面,打开本地应用,点击按钮,填写表单,切换页面,查看控制台报错,打开开发者工具,在测试场景里操作第三方后台。它让 AI 从「代码作者」接近「测试同事」和「验收同事」。

当然,这必须有权限边界。Agent 不能随意操作生产后台、真实支付、真实用户数据和不可回滚的配置。

现代 AI 工程闭环:从需求到发布的端到端流程

工具之间形成闭环,AI 工程平台才真正有价值

深度工具集成的重点不在于「AI 能调用更多工具」,而在于这些工具能不能形成闭环。

如果 Agent 只会读 Linear,却不会把结果写回去,那它只是多了一个输入源。如果 Agent 只会部署 preview,却不会打开浏览器验证,那它只是多了一次自动发布。如果 Agent 只会跑测试,却不会解释失败原因,人类仍然要做大量后处理。

真正有价值的深度连接,是让任务从产生到完成形成一条可追踪路径:任务来源清楚,改动分支清楚,测试结果清楚,预览地址清楚,验收记录清楚,PR 说明清楚,失败原因也清楚。

这就是现代 AI 工程平台和普通 AI 编辑器的差别。普通编辑器主要提升代码生成效率,现代 AI 工程平台要提升整个工程链路的吞吐。它关心的不只是某一段代码写得多快,还包括一个需求从提出到验证、合并、发布,中间有多少摩擦可以减少,有多少低价值沟通可以自动完成,有多少上下文可以被系统保存下来。

这对创业团队尤其有价值。小团队的瓶颈往往不在某一行代码,而在上下文切换。产品、设计、前端、后端、测试、部署、客服反馈混在一起,创始人和核心工程师经常一边写功能,一边查问题,一边回消息,一边改文档。深度连接的 AI 工程队可以承担大量检索、整理、执行、验证和同步工作,让少数人做出更完整的系统。

深度连接也带来了权限、上下文和审计风险

AI 接入真实工具链后,风险会变得更具体。

第一个风险是权限过大。Agent 一旦能读 Slack、Linear、GitHub、部署平台和浏览器环境,就接近了一个真实员工的工作权限。它可能看到敏感讨论、内部需求、用户反馈、密钥配置、测试账号和业务数据。所以权限必须按任务授予。能读 ticket 就不要给管理权限,能部署测试环境就不要给生产发布权限,能访问假数据就不要访问真实用户数据。

第二个风险是上下文污染。Slack 里有很多噪音,Linear 的需求也可能不完整,历史讨论还可能已经过期。Agent 如果把所有信息都当成事实,就会做出错误判断。成熟系统需要让 Agent 标注信息来源:这个结论来自哪条 ticket,哪个 Slack 讨论,哪个文档,哪个代码文件。人类审查时,才能判断它是否误读了上下文。

第三个风险是自动验收带来的错觉。browser use 可以点击页面,computer use 可以操作界面,但它们不能自动替代产品判断。它们可以确认页面有没有报错,按钮是否存在,流程能否走通,却未必能判断交互是否自然,文案是否准确,商业逻辑是否成立。自动验收适合检查明确标准,比如页面元素、接口返回、跳转路径、错误提示、视觉回归、表单提交。产品体验、业务判断和长期取舍,仍然需要人负责。

第四个风险是流程自动化后更难观察。以前人一步步做事,虽然慢,但每个动作都在脑子里留下痕迹。Agent 一口气读任务、改代码、部署、验收、写 PR,如果过程日志不清楚,人反而更难知道它到底做了什么。

因此,未来的 AI Engineering Platform 必须具备「可观察性」。线上系统需要可观察,Agent 的行为也需要可观察。你要能看到它的任务计划、工具调用、文件修改、测试结果、部署记录、浏览器截图、权限使用和最终结论。没有这些记录,AI 工程会变成新的黑箱自动化;有了这些记录,它才有机会成为可靠的工程基础设施。

AI Coding Agent 正在从补全工具成长为工程流程参与者

AI Coding Agent 的发展可以分成几层。

第一层是 Code Completion。它解决「写得更快」的问题。Copilot inline suggestions 就是典型代表。它在输入时提供代码建议,让局部实现更快,让重复表达更少。

第二层是 Code Editing。AI 不再只补一句,而是可以改一个函数、一个文件,甚至几个相关文件。Cursor、Windsurf、Trae 推动了这个阶段。开发者通过自然语言发起修改,再通过 diff 审查结果。

第三层是 Task Agent。Claude Code、Codex、GitHub Copilot cloud agent 这类工具开始围绕完整任务工作。它们可以研究代码库,创建实现计划,在分支上修改代码,随后由开发者审查 diff、继续迭代,并在准备好后创建 Pull Request。

第四层是 Engineering Platform。Agent 不只写代码,还要接入需求、项目管理、测试、部署、文档、安全检查和监控。这个阶段的关键概念包括 MCP、Skills、Harness、Subagents 和 Pipeline。

MCP 的价值在于连接外部世界。对工程 Agent 来说,代码库只是上下文的一部分。真实任务还需要需求文档、设计稿、监控数据、数据库结构、Issue 状态、用户反馈、日志和部署系统。MCP 让 AI 可以在受控边界内读取这些信息,也让工具调用从临时脚本变成标准接口。

Skills 的价值在于把经验沉淀成可复用模块。一个 skill 可以打包指令、资源和可选脚本,让 Agent 更稳定地执行特定工作流。团队可以把「如何写 API 测试」「如何生成发布说明」「如何做安全审查」「如何按照公司组件规范写前端」沉淀给 Agent,避免每次都临时解释。

Harness 的价值在于提供受控执行环境。一个好的 harness 不只是把模型接上 shell,还要管理上下文、权限、命令执行、错误恢复、日志、成本、审查点和终止条件。没有 harness,Agent 很容易变成权限过大的自动脚本;有了 harness,Agent 才能被纳入工程体系。

Subagents 的价值在于分工。一个主 Agent 负责理解需求和协调工作,多个子 Agent 分别负责实现、测试、审查、文档和迁移检查。它很像一个小型工程团队:有人做实现,有人做测试,有人做代码审查,有人写文档,有人检查安全风险。

当这些能力组合起来,AI Coding Agent 就不再只是会写代码的聊天机器人。它开始成为工程流程中的参与者:读需求,拆任务,查代码,写实现,跑测试,生成 PR,解释风险,补文档,准备发布。

AI Engineering:AI 工程师正在指挥一支小型工程队

每一代工具都在回应上一代工具暴露的问题

工具一代代变化,背后有一条清楚的线。

Copilot 提高了局部编码效率,也暴露了上下文不足。于是 Cursor、Windsurf、Trae 把 AI 带进项目级语境。

AI IDE 解决了编辑器内上下文,也暴露了任务执行不足。于是 Claude Code、Codex 这类工具让 Agent 能读文件、跑命令、改代码、提 PR。

任务型 Agent 解决了单任务执行,也暴露了多任务管理不足。于是 Codex App、Superconductor、Cmux、Cursor 3 这类工具开始强调并行 Agent、worktree、云端环境、统一工作区和 Agent 管理。

并行 Agent 提高了探索效率,也带来质量控制、权限管理、成本控制和技能复用问题。于是 MCP、Skills、Subagents 和 Harness 开始变得重要。

深度工具集成解决了上下文割裂,也带来权限、审计、环境隔离和自动验收难题。未来的工程平台必须同时具备连接能力和控制能力。它要能连接工具,也要能限制权限、记录过程、追踪来源、复现结果和支持回滚。

这条演进线背后有几个稳定驱动力。

开发者真正想要的,不只是一个更会聊天的模型。他们想要少一点重复工作,少一点上下文切换,少一点环境折腾,少一点低价值排错,多一点可靠产出。

模型能力也在推动工具形态变化。上下文窗口、推理能力、工具调用、长任务稳定性、延迟、成本,都会决定产品边界。模型越能理解长上下文,工具越能从补全走向任务;模型越能稳定调用工具,Agent 越能进入真实流程。

工程复杂度同样在推着工具往前走。现代应用已经不只是前端加后端。它包含账号、计费、权限、内容、推荐、AI 调用、日志、风控、监控、合规、灰度和增长实验。AI 要参与构建,就必须理解这套复杂系统。单点补全很快会碰到边界,工程平台才是更大的方向。

未来的应用构建平台会把模型、工具和流程放进同一个可控系统

未来的 AI 应用构建工具,大概率会沿着几个方向继续发展。

首先是更自然的协作。AI Agent 会进入 Issue、PR、设计稿、文档、监控系统和项目管理工具。开发者不需要在十几个窗口之间搬运上下文,Agent 可以在权限允许的范围内读取必要材料。

其次是更完整的角色分工。未来的工具会更像一个多角色团队:产品 Agent 负责澄清需求,架构 Agent 负责设计边界,开发 Agent 负责实现,测试 Agent 负责验证,安全 Agent 负责检查风险,发布 Agent 负责准备上线材料。

第三是更低的延迟和成本。AI 工程要长期可用,不能每次都依赖最贵、最慢的大模型。平台会更重视多模型调度:简单任务用小模型,复杂设计用强模型,代码审查用专门模型,检索和索引用便宜模型。成本会成为工程架构的一部分。

第四是可复用技能模块。一个成熟团队会积累自己的「测试技能」「迁移技能」「文档技能」「组件规范技能」「安全审查技能」。这些技能会承载团队经验,减少重复提示,也让 AI 产出更接近组织标准。

第五是更强的工程控制。未来工具必须提供更清楚的日志、更严格的权限、更可靠的回滚、更可解释的变更记录。生成代码不难,难的是让每一次变更都能被理解、被审查、被追责、被维护。

第六是更接近真实环境的验收。未来的 AI 开发工具不会满足于「代码编译通过」。它会更强调端到端验证:页面能不能打开,流程能不能走通,表单能不能提交,错误提示是否出现,接口是否符合预期,视觉变化是否可接受。浏览器会成为 Agent 的第二个工作台,测试环境会成为 Agent 的实验室。

第七是协作系统回写。AI 完成任务后,需要把结果写回 Linear、Slack、GitHub、发布系统和文档系统。状态同步会成为工程平台的一部分。一个任务从「待处理」到「开发中」到「待审查」到「已验证」到「已发布」,每个状态都应该有对应证据,而不是靠人手动补一句「已完成」。

最终,AI Engineering Platform 会成为新的开发底座。它包含代码编辑器,但范围超过编辑器;它包含 Agent,但目标超过 Agent;它依赖模型,但价值不只来自模型。它更像一个把人、模型、工具、流程、知识和交付连接起来的工程系统。

开发者的价值正在从亲手编码转向设计工程系统

从传统 Coding 到 AI Engineering,本质上是一场重心转移。

过去,开发者的价值常常体现在写得快、记得多、调得熟。今天,这些能力依然重要,但更高层的价值正在浮现:能否准确描述问题,能否拆出合理任务,能否判断 AI 方案的风险,能否维护系统边界,能否把一组智能工具组织成稳定产能。

AI 会让很多代码变得更便宜,也会让草率决策的代价变高。因为产出速度越快,错误扩散也越快。未来优秀的工程师,不只是在代码层面强,也要能设计工程环境、控制复杂度、定义质量标准、驾驭 AI 劳动力。

这也是 AI 时代应用构建最有吸引力的地方。它很务实,关心 worktree、测试、部署、权限、成本和日志;它也重新带来了探索感。一个开发者可以让几个 Agent 同时尝试不同路径,把一个模糊想法更快变成可运行版本,也可以在很短时间内完成过去需要更久的早期验证。

但探索感不能替代工程。可靠的 AI 应用构建,依然需要清晰的架构、严格的验证、稳定的协作和人的判断。AI 扩展了创造力的边界,也放大了工程责任。

所以,「从 Coding 到 AI Engineering」不是一句口号。它代表工具、流程、角色和思维方式一起发生变化。我们正在从手工雕刻代码,走向编排智能系统;从一个人独自写代码,走向人与 Agent 共同完成交付;从关注代码片段,走向关注应用如何被持续、可靠、可控地生成出来。

未来的软件,仍然会由人类的意图点燃。只是那团火,不再只照亮编辑器里的光标,也会照亮一整套正在协作的模型、工具、流程和工程系统。一个现代开发者坐在屏幕前,面对的不再是单一编辑器,而是一支由模型、工具和流程组成的小型工程队。

AI 没有取消工程。它把工程推向了更高的组织层面。真正重要的能力,也从「我能写出多少代码」,扩展到「我能否让这支由 AI 参与的工程队,稳定交付一个值得被使用的产品」。