随着AI技术持续突破,关于“人工智能是否会取代人类程序员”的焦虑正在开发者社区中蔓延。Simon Willison最新发布的《Agentic Engineering Patterns(智能体工程模式)》指南,反倒给众多工程师带来了一颗定心丸——他提出一个反直觉的观点:编写代码的成本已趋近于零,但人类工程师的不可替代性反而更加凸显。
这听起来像是一个悖论?然而正是这种矛盾,定义了所谓“Agentic Engineering”的核心内涵。Hrishi在推文中提出了一个更尖锐的问题:Agentic Engineering,究竟是用智能体(agent)来做工程,还是专门去构建智能体(agent)的工程?这就像讨论“锤子工程”——你是用锤子干活,还是专门去造锤子?

代码成本归零,但认知成本反而飙升
Simon的指南揭示了一个根本性转变:编程智能体(例如Claude Code、OpenAI Codex)将代码生成成本压缩至几乎为零。然而,交付“高质量代码”的成本依然居高不下。
什么才是好代码?Simon给出了一个相当全面的定义:代码可运行、无错误;我们能确认它可以工作,且有证据表明它解决了正确的问题;优雅地处理各类异常场景,而不只考虑理想路径;保持简洁最小化,只完成必要的功能;拥有测试保护,防止未来回归;具备清晰的文档,能反映系统当前状态;设计上便于后续调整和扩展。
当机器可以轻松生成代码后,人类的角色就从“代码编写者”转变为“问题定义者”和“质量守护者”。我们的价值不再体现在打字速度上,而是判断力、系统思维和业务理解——这些才是真正稀缺的能力。
从编写代码迈向设计代码生成系统
传统for循环与智能体(agentic)循环之间的本质区别,是从“写代码”跃迁到“设计能自主写代码的系统”。
当你从传统循环转向智能体循环时,实际上是在搭建一种“自带大脑的微服务”。每个智能体都需要独立的系统提示和专门角色——架构师负责规划,批评家负责质量控制。否则,整个群体就会陷入上下文漂移的混乱。
这已不再是简单的提示工程或流程编排。Agentic Engineering的核心在于上下文流设计——每一处决策都关乎信息去哪里、何时去、以什么形式去,而不仅仅是调用哪些工具。
现实问题解决的本质是非线性探索
Hrishi在《Antibrittle Agents》一文中深入剖析了一个现实:真正的问题解决根本不是线性的成功步骤序列。
它更像一个迷宫,有各种路径、死胡同和循环,绝非从A到B的直线。复杂工作几乎都不是步骤序列,人类在解决复杂问题时也会频繁犯错、反复回溯。这解释了为何TODO列表强加的线性模型常常弊大于利——它们强行把问题的组成部分塞进一条直线,而不是构建适应任务本质的结构。
具体的工程模式:从理论落地到实践
Simon的指南提供了大量可直接上手的工程模式,帮助AI开发者和软件工程师快速应用。
红绿TDD:抵御AI幻觉的最强防线
采用“红绿TDD”是获得更可靠结果的高效方式。让智能体先编写测试(红阶段),确认测试失败,然后实现代码让测试通过(绿阶段)。这是防止智能体生成无法运行代码的最有效手段。
首先运行测试:建立质量意识
任何新会话都从“先运行测试”开始。这一操作让智能体知道存在测试套件,并强制它学会如何执行测试。仅仅四个字的提示,背后包含了大量软件工程纪律。
Agentic手动测试:弥补自动化测试的盲区
让智能体使用Playwright、Rodney等工具进行真实的浏览器自动化测试。自动化测试可能全部通过,但代码仍然可能崩溃服务器或遗漏关键UI元素。手动测试恰好能填补这一漏洞。
子Agent:管理上下文限制的智慧策略
LLM受限于上下文窗口(通常约100万token)。子Agent允许在全新上下文中处理任务,不消耗宝贵的主上下文资源,还可以并行运行多个子Agent来加速任务完成。
Git高级用法:版本控制的文艺复兴
智能体精通Git的所有高级功能,包括历史重写、分支管理等。由于agent能够处理复杂的Git操作,我们可以更大胆地运用版本控制——这几乎是版本控制领域的文艺复兴。
从魔法到科学:工程化的范式转变
Simon指南最具革命性的地方,在于它将一个原本像魔法的领域转变为可传授的工程学科。通过具体、可重复的实践,Agentic Engineering正从神秘艺术进化为系统科学。
这种转变的标志是“复合工程循环”概念:每个编码项目都以回顾结束,记录有效的方法供未来的智能体运行使用。质量改进开始呈现复合累积效应。
完整指南的体系结构
Simon的《Agentic Engineering Patterns》指南包含六大核心部分:
1. 原则(Principles)
什么是智能体工程?——基础定义和核心概念;如今编写代码很廉价——成本结构变化的深远影响;储存你知道如何做的事情——知识积累与复用模式;AI应帮助我们生产更优质的代码——质量提升的具体方法;反模式:需要规避的问题——常见陷阱及解决方案。
2. 与编程Agent协作(Working with coding agents)
编程Agent如何运作——底层机制与技术细节;在编程Agent中使用Git——版本控制的最佳实践;子Agent——分布式任务处理的高级模式。
3. 测试与质量保障(Testing and QA)
红绿TDD——测试驱动开发的现代实践;先运行测试——测试优先的思维方式;Agentic手动测试——超越自动化测试的验证方法。
4. 理解代码(Understanding code)
线性走查——代码理解与文档化的系统方法;交互式解释——通过互动演示深化理解。
5. 注释提示(Annotated prompts)
基于WebAssembly和Gifsicle的GIF优化工具——具体工具构建的完整案例。
6. 附录(Appendix)
实际工作中可用的具体提示模板。
实践中的变革力量
指南中最具革命性的或许是那些具体的实践模式。比如Simon提到的OCR工具案例:他让智能体整合Tesseract.js OCR库与Mozilla的PDF.js库,在浏览器中搭建了一个PDF OCR工具。这种“组合已知模式”的方法,大幅降低了复杂工具的开发门槛。
另一个典型是GIF优化工具:Simon仅用一个提示就让Claude Code将Gifsicle编译为WebAssembly,并构建了完整的Web界面。这种能力让曾经复杂的项目几乎可以即时原型开发。
Animation. I drop on a GIF and the tool updates the page with a series of optimized versions under different settings. I eventually select Tweak settings on one of them, scroll to the bottom, adjust some sliders and download the result.
未来的挑战与机遇
随着任务时间跨度延长到数天,生成的词数达到数百万,良好的信号和中间状态将提供有用的中断点。何时中断、何时让人介入,将成为越来越棘手的难题。
但更大的挑战或许是认知债务的管理。当智能体编写的代码变成我们不完全理解的黑盒时,规划新功能变得愈发困难,最终会像累积的技术债务一样拖慢进度。
解决方案?通过构建交互式解释和线性走查来偿还认知债务。Simon的动画词云解释就是绝佳实例——通过可视化让复杂的算法变得直观易懂。
Words appear on the word cloud one at a time, with little boxes showing where the algorithm is attempting to place them - if those boxes overlap an existing word it tries again.
小结
Agentic Engineering代表了软件开发的范式转移——我们正从亲手编写代码转向设计能自主编写代码的系统。这可能是自敏捷开发以来,软件工程领域最重要的一次演进。它并非要取代人类工程师,而是重新定义我们的核心角色与价值。
当代码生成成本归零时,真正稀缺的资源变成了:问题定义能力、系统设计思维、质量判断力、业务理解深度。这些正是人类工程师的核心竞争力。
不过,这只能保证你进了新的牌桌——但需求不足的情况下,供给的大幅提升会不会让整个竞争更加激烈?这才是每一位开发者需要认真思考的问题。
