AI 工程师的关键能力:驾驭编程智能体,而不只是让它写代码
如果你最近用过 Claude Code、Codex 或 Cursor,可能已经感受到一种变化:影响开发效率的,不再只是你亲手写代码的速度,而是你能不能把任务清楚地交给编程智能体,并带着它把事情真正做完。
这里的“事情”也不只是写代码。编程智能体还可以分析数据、管理系统运维、检查日志,甚至参与部署和故障处理。
因此,AI 工程领域正在出现一项越来越关键的能力:使用和驾驭编程智能体。
这项能力本身也在快速变化。Claude Code、Codex、Cursor 等闭源智能体,以及 OpenCode、Pi 等开源智能体,都在随着模型和智能体运行框架的改进不断提升。今天有效的使用方式,几个月后可能就需要重新调整。
这意味着,使用编程智能体不是学会几个提示词就结束了。它需要一个持续的过程:不断实验、不断构建、不断学习。
一套高度一致的构建工作流
在采访数十位顶尖 AI 工程师,并回顾团队内部的实际使用方式之后,可以看到一套高度一致的工作流。它主要由三个阶段组成:规划、执行,以及部署和监控。
第一阶段:规划
规划的第一步,是把问题想清楚。
你可能需要先做一些调研和实验。如果面对的是一个已经存在的项目,还要理解现有代码库:它现在如何工作、有哪些约束、又有哪些历史包袱。
在此基础上,再写出一份规格说明。它需要覆盖产品需求、技术设计和系统架构,然后进一步生成可以执行的计划。
但计划生成之后,不应该立刻开工。你还需要审查它:关键假设是否成立?有没有安全风险?是否为了一个简单问题设计了过于复杂的系统?有没有遗漏重要条件?
第二阶段:执行
执行阶段包括构建、测试和验证。
这里最关键的问题,不是要不要让智能体自主工作,而是应该给它多大的自主权。
有些任务适合全程观察,与智能体频繁沟通;有些任务可以一次委派一个更完整的工作块,让它自行推进;还有一些目标足够明确,可以让智能体不断执行、检查和修正,直到满足成功条件。
没有一个自主程度适合所有项目。你需要根据任务风险、验证难度和失败成本作出选择。
而且,智能体完成构建,并不等于任务完成。它的输出还必须经过自动化检查、人工检查,或者两者结合的验证。
第三阶段:部署和监控
软件通过验证之后,下一步是部署。
根据项目风险,部署过程可以经过 CI/CD 流水线,也可以增加人工审批关卡。部署之后,智能体仍然可以继续参与:观察日志、发现异常、整理问题、提出改进方案,并在得到适当授权后执行修改和重新部署。
这套流程与编程智能体出现以前的软件开发流程并没有本质区别。真正改变的,是人的注意力应该放在哪里。
过去,我们把大量时间花在亲手编写代码上。现在,我们越来越需要把注意力放在决定构建什么、如何设计架构、怎样写清楚规格说明,以及如何验证产出上。
当然,每个项目在三个阶段投入的时间可能完全不同,有些步骤也可以省略。
如果只是从零开始做一个原型,规格说明可能只是一段快速写出的宽泛提示词。但如果面对的是一个已经存在、拥有大量用户的系统,规格说明的编写和验证就必须严谨得多。
而且,这不是一条只能向前走的流水线,而是一个高度迭代的循环。验证失败,就要回到执行阶段,让智能体重新构建并修复错误;监控发现问题,可能要回到规划阶段重新检查假设,然后更新系统,再次部署。
真正熟练的开发者,知道什么时候应该继续向前,也知道什么时候必须返回前一步。
驾驭编程智能体的五项能力
要有效推进这套工作流,需要五项关键能力:
\1. 驾驭整个工作流;
\2. 提升智能体的自主性;
\3. 审查工作成果;
\4. 定制智能体及其工作环境;
\5. 理解编程智能体的基础原理。
其中,前三项最直接地贯穿规划、执行和验证过程。
一、驾驭整个工作流
驾驭工作流,意味着你能决定每一步应该投入多少人工精力、多少智能体精力,以及什么时候需要回到更早的阶段重新迭代。
你需要持续权衡四件事:速度、成本、技术风险和人工投入。
前期应该做多少调研和规划?哪些关键工作必须继续由人负责?应该选择什么架构?规格说明需要写到多细?怎样把一个大任务拆解成可以逐步验证的小任务?
这些判断决定了智能体能不能沿着正确方向工作。
二、提升智能体的自主性
让智能体更加自主,并不等于放手不管。
除了选择合适的自主程度,你还需要认真管理它的上下文。
项目进入不同阶段之后,前面获得的重要经验、用户反馈和关键假设,都需要记录下来,并传递到后续工作中。尤其要注意那些中途发生变化的假设。如果智能体仍然依据旧信息工作,它越自主,反而可能偏离得越远。
当任务可以拆分时,你还可以安排多个智能体并行工作,由人类或者更高层级的智能体进行协调。但并行也会带来新的问题:任务怎样分解?不同结果怎样汇总?人的注意力应该放在哪个会话上?
与此同时,自主性必须建立在安全边界之内。权限应该怎样设置?哪些动作可以自动执行?哪些动作必须经过人工批准?怎样减少信息泄露、数据丢失或其他破坏性后果?
真正有价值的自主性,是在风险可控的前提下,让开发更快地推进。
三、审查工作成果
编程智能体的输出具有不确定性。
你无法提前知道,它会提出一个出色的解决方案,还是会在看似合理的实现中埋下缺陷。因此,审查和验证不是最后顺手做一下的步骤,而是整个工作流的核心。
你需要根据任务设计匹配的测试。有时需要验证功能是否正确,有时还要检查系统的实际行为和完整用户流程。你甚至可以让智能体提供截图,作为成功或失败的证据。
对于更偏定性或行为层面的任务,可以使用评测集,也可以引入大语言模型作为评判者。
然后,你还要决定这些检查应该自动化到什么程度。
有些工作流可以将测试和验证全部自动化,让智能体检查自己的工作,并明确知道任务何时完成。但前提是,你必须确认这些测试真的对应你的目标。如果衡量标准错了,智能体只是更高效地完成了错误的任务。
你也可以使用智能体进行代码审查,或者执行 AI 辅助的安全审计和架构审计。当 AI 审查不足以保证质量时,就要在关键位置加入人工检查——优先检查代码表现出来的真实行为,必要时再深入审查代码本身。
最后,验证不能停在部署之前。部署是否成功、系统是否稳定、事故能否被及时发现和处理,同样应该纳入验证机制。
不要把编程智能体想得过于简单
社交媒体很容易把使用编程智能体描述成一件非常简单的事:给它一个目标,让它自主运行几个小时,消耗数百万甚至数千万个 token,然后回来收取结果。
这种方式有时确实有用。但在现阶段,超长周期任务的实际价值,尤其是相对于它的成本而言,常常被夸大。
真正有效的编程智能体工作流,通常是复杂而且高度迭代的。人并没有退出这个过程。相反,人的价值越来越集中在判断、设计、分解、验证,以及在正确的时机介入。
高水平的专业判断,加上恰当的智能体自主性,往往比单纯追求更长的自主运行时间带来更好的结果。
从开发者走向构建者
未来真正拉开 AI 工程师差距的,可能不再只是写代码的速度。
更重要的是:你能不能定义正确的问题,设计合理的工作流,把任务交给智能体,并验证它确实完成了你想要的结果。
当你掌握使用编程智能体的能力,你就不只是一个更高效的开发者,也会逐渐成为一个能够驾驭整个构建过程的人。








