乐于分享
好东西不私藏

第22章 软件工程:AI编码智能体的生产实践

第22章 软件工程:AI编码智能体的生产实践

第22章 软件工程:AI编码智能体的生产实践

在客户服务领域,智能体改变了企业与客户互动的方式。但在软件工程领域,智能体正在改变一个更根本的东西——他们如何构建软件本身。

第21章展示的AI客服平台,其底层代码很可能有一部分就是由AI智能体所编写。这不是矛盾的循环,而是2026年工程实践的常态:智能体在为智能体编写基础设施。软件工程是第一个被AI智能体从“辅助工具”升级为“自主生产力引擎”的领域,也是智能体全生命周期工程实践最深、数据最丰富的试验场。

本章展示三个最具代表性的编码智能体生产实践:Stripe内部“Minions”系统——每周产出超过1300个完全由AI编写、人工审核的PR;OpenAI Frontier团队的“Extreme Harness Engineering”实验——5个月内零人工编码产出约100万行生产代码;以及Anthropic的多智能体脚手架实验——系统化地证明了将“规划”、“生成”与“评估”分离到不同智能体中对产出质量的提升效果。这三个案例共同验证了本书前六部分建立的构建→测试→部署→监控→治理框架,并为智能体工程化提供了最前沿的实践参考。

22.1 Stripe Minions:每周1300+ PR的AI工程工厂

2026年初,支付巨头Stripe的工程师团队透露了一项数据:每周有超过1300个PR被合并到Stripe的主要代码仓库中,而这些PR完全由AI编写——没有一行人工代码,只是经过人工审核。这个数字在几个月内从早期试验中的1000个增长到1300+个,而且还在持续攀升。

这些PR并非简单的格式化变更或自动修复——它们覆盖从微小修复到新功能实现的多种代码变更类型,依赖深度定制的Agent策略与严格的审查流程。Stripe工程师Steve Kaliski在Lenny’s Podcast上演示了工程师如何通过Slack表情反应即可启动一个Agent处理开发任务——整个流程从接收指令到提交代码、通过测试、创建PR完全无人参与。

Stripe将这一内部AI系统命名为“Minions”。这个名字恰如其分:每个“minion”是一个范围狭窄的、无状态的、一次性的编码智能体,在单次LLM调用中端到端完成一个精确定义的任务。

One-Shot的工程哲学

Stripe Minions的核心设计选择看似激进:单次LLM调用完成整个任务。

这与2025年流行的多步推理范式背道而驰——框架如LangChain、CrewAI和AutoGPT推崇模型在循环中反思、迭代以逼近解决方案。但Stripe的工程团队选择了相反的方向:将任务范围定义得足够狭窄、上下文准备得足够完整,使得模型能够在单次推理中直接产出正确结果。

这一选择的工程逻辑是清晰的:多步推理链遭受错误累积效应——每一步推理引入偏差概率,多步之后这些概率相乘。一个五步推理链中,如果每一步准确率95%,端到端可靠性约为77%(0.95⁵ ≈ 0.774)。对于Stripe的金融交易代码而言,77%的可靠性远不足以直接进入生产流水线。

One-shot执行的优势不仅在于可靠性,还在于延迟和成本。单次LLM调用的延迟在秒级,而五轮迭代在分钟级——对于高频任务而言,这差距直接决定了Agent的生产力密集程度。Token消耗也更可控:相比多轮迭代中每轮都需要将历史上下文重新注入,one-shot的上下文只需组装一次。

但One-shot模式的前提是“上下文工程”——将人类工程师在面对任务时脑中已有的全部相关知识,一次性精心组装为一个完整的上下文包。SitePoint的分析精准地捕捉了这一点:“将工程努力投资在‘什么进入提示词’上,远比投资在‘模型推理多少次’上能获得更好的回报。”

Blueprint编排:确定性与智能体的混合架构

单靠一次LLM调用无法保证质量。Stripe Minions的核心工程创新在于Blueprint架构——一种将确定性代码节点与自由流动的Agent节点混合编排的状态机。

Blueprint是做什么的?它是一种结构化的任务模板,将一项工程任务分解为有明确顺序的步骤序列。某些步骤是完全确定性的——解析代码、提取抽象语法树、运行测试、linting与格式化、验证编译等——这些节点不需要AI参与,它们产生相同的输出对于相同的输入。另一些步骤则是“agentic”的——理解任务意图、生成代码方案、编写代码实现——这些需要LLM推理。

这种混合架构的核心设计原则在第3章和第8章已反复论证:把确定性的逻辑用代码固化,只把真正需要模型判断的环节交给Agent。 Stripe工程师对此的表述非常直接:“调试一个按脚本走的确定性步骤容易,调试一个Agent的真实推理步骤难。把确定性逻辑交给代码,出错时有明确的定位线索;把模糊推理交给Agent,让模型在有限边界内工作。”

Blueprint确保关键的质量关卡不会被模型的单次推理遗漏。代码生成后,必须通过CI、类型检查和linting——这些关卡不是提示词中的“请确保代码编译通过”,而是系统层面强制执行的结构化约束。

隔离与并行:Devbox作为智能体之家

One-shot模式和Blueprint编排是Minions“怎么写代码”的答案。但“在哪里写代码”同样关键。

Stripe的答案是一种称为devbox的云开发环境。每个devbox是一个标准的AWS EC2实例,包含源代码、运行开发中的服务,工程师通常通过SSH远程连接到IDE中工作。在DevOps术语中,devbox是“牛而非宠物”——标准化、易替换,而非定制化、长寿命的。

Minions在devbox中运行获得了几项关键属性:并行性——多个Agent同时处理不同的任务,彼此互不干扰;可预测性——标准化配置确保Agent行为在不同环境间一致;隔离性——Agent“可以破坏东西”而不会影响工程师的个人环境或敏感系统。

最令人印象深刻的工程细节是devbox的启动速度:Stripe的目标是10秒内就绪一个全功能的devbox。为实现这一“热且就绪”的标准,团队主动预热了一个devbox池——包括克隆巨大的Git仓库、预热Bazel和类型检查缓存、启动持续运行的代码生成服务等。10秒后,devbox所有者就拥有了一个已签出到所有主要仓库最新版本的完整开发环境,可以立即开始工作——无论是人类工程师还是AI Minion。

Stripe团队特别指出这一基础设施并非专为AI Agent构建——它们最初是为人类工程师设计的。“最终发现,并行性、可预测性和隔离性也是Agent高效工作的理想属性。对人类好的东西,对Agent也好。”

五层流水线:精炼上下文、快速反馈与人工审核关

综合起来,Minions系统可被抽象为一套五层流水线,这一结构在开发者社区的广泛传播中被反复引用:

第一层:隔离环境(Isolated Environments)——每个Minion在独立devbox中运行,彼此无共享状态,确保爆炸半径受控。

第二层:Blueprint编排(Blueprint Orchestration)——状态机混合确定性节点和Agent节点,结构性的质量关卡在提示词之外强制执行。

第三层:精炼上下文(Curated Context)——在单次LLM调用中注入高度定制化的上下文工程产物,而非依赖Agent自主检索或探索。

第四层:快速反馈环(Fast Feedback Loops)——Agent生成的代码即时通过CI、类型检查和linting,Agent可以在黄金分钟级获得质量反馈。

第五层:人工审核关(Human Review Gates)——PR最终必须经过人类工程师审核才能合并。所有的Minions输出严格经过此关,且完全不包含人工编写的代码。

这第五层是理解Minions工程哲学的关键。Stripe没有让Agent直接合并代码的权限——人类审核是不可绕过的最后一关。在这一架构中,AI承担的是“从信息整合到代码生成”的全部劳动,而人类保留“判断是否合并”的安全把关权力。这不仅是对代码质量的最后防线,也是对Stripe规模庞大的金融代码库的安全治理边界。

22.2 OpenAI Codex:100万行生产代码的经验总结

如果Stripe Minions代表了AI Agent在现有工程组织中的应用模式,OpenAI Frontier团队的“Extreme Harness Engineering”实验则代表了更深远的一步:彻底取消人工编码环节,让Agent从零构建一个完整的软件产品。

一个空仓库、五个月、零人工代码

2025年8月末,OpenAI Frontier团队设立了一条规则:工程师不写一行代码,一切交给Codex。工程团队向一个完全空的代码仓库提交了第一条内容。最初的核心团队仅3人。五个月后,这个代码库的规模超过了100万行——没有一行代码是人工编写的,全部由Codex智能体生成。整个代码仓库的起始架构——包括仓库结构、CI配置、格式化规则、包管理器设置和应用框架——甚至不是工程师手写,而是由Codex CLI调用GPT-5在一小组模板的指导下自动生成。连告诉Agent“如何在这个仓库中工作”的AGENTS.md文件,也是Codex自己写的。

这不仅是代码量的突破,更是软件构建模式的根本转变。在传统模式下,工程师写代码、审代码、测试代码。在Frontier团队的模式下,工程师专注于定义约束、设置护栏、构建自动化反馈闭环——他们不再是“代码作者”,而是“能力架构师”。正如实验主笔Ryan Lopopolo所言:“人类掌舵,Agent执行。”

瓶颈不是模型,是人的注意力

当一个工程师第一次看到Codex能够以秒为单位生成一个完整的PR时,他的第一反应通常是兴奋的。但当第一个小时过去,第十个PR已经在队列中等待审核时,兴奋会被焦虑取代:代码生成太快了,人根本没有时间审核。

这正是Frontier团队在实验推进中的核心发现。当组织为AI Agent而非人类开发者优化开发流程时,瓶颈从Token的可用性转移到了人类注意力。“人类审代码成为约束,而不是Agent写代码。”

这是对软件工程组织现状的一个根本性挑战。十年来,CI/CD、基础设施即代码、DevOps运动的核心目标都是提升“人写代码并交付”的速度。如今,当AI以超人的速度生成代码时,整个工程组织的人机接口被暴露为最大的制约。

Frontier团队的回应是极端的:不仅取消人工编码,也取消人工代码审核——PR生成后由系统自动合并,无须人类审查。这一策略激进而并非普适,但其背后的工程逻辑值得深入理解:在一个被隔离的沙箱环境中运行的内部beta产品上,Frontier团队用“zero-human-review”策略来探索极限并积累数据,积累了数个月的实践经验后,才将其中的关键方法提炼并开源为Symphony——这才是该实验对行业最具输出价值的部分。

Harness Engineering:从“写更好的提示词”到“建更好的脚手架”

如果瓶颈不是模型的代码生成能力,那是什么?

Frontier团队找到的答案是“Harness Engineering”——脚手架工程。这个概念在第4章和第5章已被详述,但OpenAI的实践赋予了它具体而极端的形态。

传统的提示词工程关注“如何让模型更多地尝试”、“如何表达任务使模型理解得更好”。Harness Engineering则转向一个完全不同的问题:“缺失了什么能力、上下文或结构,阻碍Agent自主成功?”

这个思维转变是根本性的。在提示词工程世界中,开发者面对模型能力边界时的第一反应是修改提示词。在Harness Engineering世界中,开发者面对Agent失败时的第一反应是问自己:我应该给Agent提供什么工具、什么上下文、什么结构化约束,让它自己判断如何成功?

具体的工程决策展示了这一思维方式的转变。在Codex从5.2到5.3版的升级中,新版本引入了后台shell执行能力——这意味着模型对阻塞脚本的耐心下降了。Frontier团队没有通过提示词告诉模型“请等待更长时间”,而是在一周内重构了整个构建系统——从自制的Makefile迁移到Bazel,再到Turbo,最终到Nx——实现了低于一分钟的构建时间。这种根本性的工具链重组在人类驱动的代码库中几乎不可能做到——因为每个工程师都对特定的工具有强烈的偏好。但在Agent驱动的代码库中,优化的唯一目标是“Agent是否可以自主成功”,团队的工程决策被根本性地重新组织了:人类不再写代码本身,而是定义系统的架构、流程和治理规则。

另一个核心教训是代码质量与代码库架构和文档完整性直接相关。实验的早期阶段进展缓慢——不是因为Codex能力不足,而是因为“规则不清、工具不全、系统约束未建立”——这正是上下文基础设施和结构化约束相对于模型能力的关键角色。当正确的基础设施和文档结构建立起来后,Agent的效率急剧提升,最终达到5-10个PR/工程师/天的吞吐量。

Symphony开源:编排层进入CI/CD

实验的最终输出不是只留在实验室中的论文——而是Symphony,一个用Elixir编写的开源编排系统。

2026年4月末,OpenAI正式开源Symphony。Symphony的核心功能是将问题管理工具(如Linear、Jira)直接转化为编码智能体的控制平面:系统轮训Issue板上的开放票证,当发现处于“待办”状态的票证时,自动派发一个Codex Agent来端到端实施该任务。Agent在隔离的Git仓库工作空间中运行,独立完成任务后提交PR。

Symphony在Circle技术团队的三个月内部采纳数据显示了工程师关注的具体效果:工程师能够同时观察3-4个Agent在不同微服务中独立处理不同任务的并行工作流,“可以在几分钟审查周期内吸收中型大小的Agent生成的PR”,三项关键能力的显著提升——同步探索多个问题空间、同时推进多任务、以及快速吸收AI代码——最终使该团队的PR数有显著上升。Symphony被设计为支持Codex的同时也为Claude Code等其他编码Agent提供适配器——这是一个多模型生态下的编排标准,而非单一模型供应商的锁定工具。

Symphony的发布标志着OpenAI将智能体编排从内部实验推向了开源社区的通用基础设施。它公开验证了Frontier实验的核心洞察在更广泛的工程团队中的可迁移性,也标志着智能体编码已从单一Agent的demonstration走向多Agent、跨任务、持续运行的工程化实践。

22.3 Anthropic三智能体脚手架:从架构到评估

前两个案例展示了生产级的AI工程工厂(Stripe)和极端的AI驱动代码库构建(OpenAI)。Anthropic的贡献则在于系统化地量化验证了本书第3章论证的核心架构原则:将“规划”、“生成”与“评估”分离到不同的执行单元中,其表现优于自我评估。

单Agent的错觉与三Agent的现实

Anthropic的工程团队在长时间自主编码实验中发现,一个单Agent在面对长任务时会出现两个系统性的问题。第一个是上下文焦虑——当上下文窗口逐渐被填满,模型开始“预感”自己快到限制了,于是提前收尾,把工作草草了事。第二个是自我评估失真——让模型评价自己刚写的代码或设计,它会信心满满地说好,即便客观上看质量很差。

这两个问题在根本上同源:一个需要同时承担“编造”和“评判”两种角色的大脑,在长时间运行中无法维持客观性和聚焦。

Anthropic的解决方案是从生成对抗网络(GAN)借鉴架构思想:规划器、生成器和评估器。三Agent结构在长达数小时的自主编码会话中运作——规划器将简短的设计提示扩展为完整的产品规格,生成器按sprint实施功能,评估器在Playwright上运行端到端测试并对照规格打分,产出完整的全栈应用。

这一架构解决了长时运行Agent的两个根本问题。规划和评估角色的分离消除了“上下文焦虑”——在新的评估Agent启动时,上下文被完全重置,只有结构化的交接状态被携带过来。生成器独立运行,不承担“评判自己”的任务,这消除了自我评估中的正向偏差。评估器对照预先定义的评分标准打分,而非在继续延续前文推理的压力下做出“我看着还行”的主观判断。

三Agent vs. 单Agent:6小时$200的教训

三Agent架构不仅在原理上合理,在对比实验中的差异是系统性的。第3章已引用过这一对比——单智能体6小时、$200产出的产品竟缺失核心功能;三智能体在同样6小时、$200内产出了功能完善的产品。在更广泛的量化评估中,Anthropic的多Agent研究系统——以Claude Opus 4主导、Claude Sonnet 4作为子Agent——在内部研究评估上优于单Agent Opus 4达90.2%。

这些数据清晰地指向一个结论:在困难的多步骤任务中,多Agent的上下文隔离和并行推理能力,相对于单Agent的线性推理具有结构性优势。但这一结论不是“多Agent永远更好”的教条——Anthropic团队的结论更严谨:多Agent系统在任务能够被分解为独立的不重叠子任务时有明确优势;但当任务天然是单一连贯的子问题时,单Agent(配合良好的工具和上下文)往往更简单、成本更低,并且同样有效——选择应是基于任务结构所做的工程决策,而非基于信仰。

技能与Agent:并行路线中的效率边界

2026年1月,Anthropic与UBC的研究揭示了Anthropic多Agent架构路线的一个重要补充视角:**“在好的工具(尤其是第5章讨论的Skills形态)支撑下,单Agent加技能的系统相比复杂多Agent系统能够提升50%的性能。”**这不是矛盾的——它揭示了选择的本质是关于任务结构和资源约束,而非关于“哪个教派正确”。当任务本身是连贯的、不可分割为一个团队能够独立工作的子问题时,多Agent系统的协调开销(通常是3-10倍的token消耗相对于等效的单Agent方法)就变得不值得。Anthropic的实践总结的规则是:任务是否天然可分解为独立子任务、令牌和延迟的约束是否严格、协作模式是否需要不同Agent进行对话而非简单地独立产生结果——根据这三个问题的回答来选择单Agent还是多Agent架构。

第5章深入讨论的Skills是这一辩证关系的核心。技能系统允许一个Agent在不需要复杂的多Agent编排的情况下,在特定任务上激活专门的“人格”,以结构化的知识、指令和脚本化过程来增强其判断。当Anthropic在三Agent架构和技能增强的单Agent之间做出工程选择时,它不再是一个模型问题,而是一个任务-基础设施匹配问题。

22.4 编码智能体的工程化启示

回顾Stripe、OpenAI和Anthropic三家的实践,一系列工程原则清晰地浮现——它们不再是理论推测,而是在生产环境中经过数百万行代码验证的共同经验。

AI编码的成熟与隐忧

2026年4月的那项广泛引用的调查数据足以说明行业的真实状态:85%的企业正在开展AI Agent试点项目,但只有5%将Agent投入生产环境。在编码领域,这一比例略高但仍偏低——88%的企业AI编码Agent试点从未到达生产阶段。McKinsey的数据显示,尽管近三分之二的企业已进行了AI Agent的实验,但不到10%将其规模扩展到可衡量的价值。

在个人开发者层面,Kapwing在2026年Q1实现全员工AI编码Agent采纳,在该季度的所有提交中标记了108个PR由Codex完成,结果之一是“我们消除了Bug Bash”。Devin代理商认知公司两家团队成员的数据更激进——2026年仅前两个月,Devin完成的代码交付量超越了2025年全年的总和,团队内部工程师“不再用手写代码作为主要工作方式——他们用自然语言描述需求,Agent实现、修改和测试”。

但这些成功案例不应该掩盖全局的挑战。Gartner预测到2027年超过40%的Agentic AI项目将因成本上升、价值不清晰或风险控制不足而被取消,而不是因为模型质量问题。Northflank的指南指出从试点到生产的最大障碍不是Agent本身,而是部署基础设施层——身份与SSO、与SIEM连接的审计日志、Agent PR上的密钥扫描、PR策略门控、许可证治理、Agent执行的沙箱隔离以及事件恢复预案。

三大趋势:从“AI辅助编码”到“AI驱动的软件工程”

三个案例共同揭示编码智能体的演化轨迹,并非从“人写代码”到“AI写代码”的简单替代,而是整个软件工程范式的重构。

趋势一:工程师不再是“代码生产者”,而是“能力架构师”。 Stripe工程师通过Slack表情触发Agent在后台完成工作;OpenAI工程师专注于定义系统约束和自动化反馈闭环;Anthropic研究员将精力花在“设计Agent周围的环境——测试、环境、反馈”上。CIO.com的行业分析精准捕捉了这一演变:到2026年,“工程师将更少时间花在写基础代码上,更多时间花在编排一个动态的AI Agent组合上。”

趋势二:AI编码Agent的竞争从“模型水平”转向“脚手架和上下文水平”。 在Stripe,胜负不在于用哪个模型,而在于上下文包如何组装、Blueprint如何设计质量关卡、devbox如何提供隔离可靠运行。OpenAI发现代码质量与代码库架构和文档完整性直接相关——不是模型参数数量,而是上下文的质量。Anthropic证明了三Agent架构相比单Agent有结构性优势——结构本身,而非模型的升级,是瓶颈的钥匙。

趋势三:编码智能体走向了多Agent编排和“AI工程工厂”模式。 Symphony将这一点开源化、标准化——让多个编码Agent在并行的工作空间中持续运行,从项目看板自动拾取任务并将产出归位。这种“Agent围绕人的需求主动行动”的模式,与早起“人在编辑器里手动触发AI补全”的辅助式工作形成鲜明对比。

企业部署的七大非协商控制

当AI编码Agent从个人开发者的辅助工具跨越到企业级生产系统时,一套工程控制从“最佳实践”变成了“非协商的部署前提”。

Northflank将这些控制系统化为七个维度——任意一个缺失都会在下一次审计周期中阻止Agent在生产环境的进一步扩大:身份与SSO集成、与SIEM连接的审计日志、Agent PR上的密钥扫描、PR策略门控、许可证治理、Agent执行的沙箱隔离以及事件响应手册。

Cognition在构建Devin两年多后的经验补充了底层技术的具体方案。他们的核心发现是容器级隔离对于编写自由生成代码的Agent系统而言不足够——一个被攻陷的会话可以访问其他容器的文件系统、凭证和网络连接。解决方案是用VM级隔离——每个Agent会话运行在一个专属的、带有完全隔离的存储、网络和计算资源的微VM上,不共享内核攻击面。

在组织层面,Cognition的客户Itaú(拉美最大私人银行)在11个月的部署后实现了5-6倍更快的代码迁移速度、70%安全漏洞自动修复率和2倍测试覆盖率增长——这些业务成效直接由正确的隔离基础设施和治理控制所驱动。

回到全文框架

Stripe Minions、OpenAI Codex和Anthropic三Agent脚手架——三个案例从根本上指向同一个结论:当模型能力趋于通用时,系统化的架构选择、工程化的工作流程和治理化的部署基础设施,成为决定“AI编码从试点到生产”的核心因素。 不是模型在竞争模型,而是一整套工程系统在竞争另一套工程系统。

但编码智能体只是一个子领域。在金融、医疗、制造和零售等行业中,智能体所面临的合规约束更为严格,失败代价更为沉重。第23章将把这些行业案例一一展开,进一步验证并丰富本书建立的生命周期框架。