写代码变便宜了,智能体工程怎么玩

深度Simon Willison2026年3月16日3 分钟阅读
智能体工程最大的挑战,是适应「写代码变便宜」带来的后果。代码一直很贵,但编码智能体让输入代码的成本骤降,颠覆了我们关于开发取舍的直觉。

采用智能体工程(Agentic Engineering)实践的最大挑战,是适应一个事实带来的后果:写代码现在变便宜了

代码一直很贵。大多数软件开发者要花一整天甚至更久,才能产出几百行干净、测试过的代码。我们的工程习惯,无论宏观还是微观层面,都建立在这个核心约束之上。

宏观上,我们花大量时间设计、评估和规划项目,确保宝贵的编码时间用得尽可能高效。产品功能点子会按「投入时间能换回多少价值」来评估——一个功能必须数倍赚回开发成本才值得做。

微观上,我们每天做几百个决策,都基于可用时间和预期权衡:重构这个函数让它更优雅,但要多花一小时编码时间,值吗?写文档呢?给这个边界情况加测试值得吗?为这个功能建个调试界面能说得过去吗?

编码智能体(Coding Agent)大幅降低了往电脑里敲代码的成本,这颠覆了我们个人和组织层面关于「哪些取舍合理」的现有直觉。

并行运行多个智能体的能力让评估更难,因为一个人类工程师现在可以同时在多个地方实现、重构、测试和编写文档。

好代码依然有成本

交付新代码的价格几乎降到免费……但交付好代码的成本依然远高于此。

我说的「好代码」指:

  • 代码能工作。它做该做的事,没有 bug。
  • 我们知道代码能工作。我们采取措施向自己和他人确认代码适合其用途。
  • 它解决了正确的问题。
  • 它优雅且可预测地处理错误情况:不只考虑理想路径。错误应提供足够信息,帮助未来的维护者理解哪里出了问题。
  • 它简单且最小化——只做需要的事,以人类和机器都能理解、未来可维护的方式。
  • 它有测试保护。测试证明它现在能工作,并作为回归测试套件,防止它未来悄悄坏掉。
  • 它有适当层级的文档,且文档反映系统当前状态——如果代码改变了现有行为,现有文档需要相应更新。
  • 设计允许未来变更。保持 YAGNI 很重要——为预期可能永不发生的未来变更增加复杂性的代码通常是坏代码——但同样重要的是,不要写出让未来变更变得异常困难的代码。
  • 所有其他相关的「能力」——可访问性、可测试性、可靠性、安全性、可维护性、可观测性、可扩展性、可用性——适合所开发软件类别的非功能性质量指标。

编码智能体工具能帮助实现其中大部分,但驱动这些工具的开发者仍有相当负担,要确保产出的代码对当前项目所需的好代码子集而言是好的。

我们需要建立新习惯

挑战在于发展新的个人和组织习惯,以响应智能体工程带来的可能性和机会。

这些最佳实践仍在整个行业中摸索。我自己也还在摸索。

目前我认为我们能做的最好方式是质疑自己:每当直觉说「别建那个,不值得花时间」时,无论如何发个提示(Prompt),在一个异步智能体会话中,最坏情况不过是十分钟后检查发现不值得花那些 token。

本文编译自 Writing code is cheap now - Agentic Engineering Patterns,版权归原作者所有。

觉得有用?分享给更多人

获取每周 AI 工具精选

工具推荐、实战教程和生态洞察,每周更新。

相关文章

Simon Willison 正在重构 LLM Python 库的抽象层,以支持服务器端工具执行等新功能。他利用 Claude Code 分析了四大 LLM 提供商的客户端库,生成了用于测试的 curl 命令和 JSON 输出。这些调研材料已开源,旨在帮助设计更通用的 API 抽象。

深度Simon Willison·4月5日·1 分钟

智能体技能——包含程序性知识和可执行资源的结构化包,供智能体在推理时动态加载——已成为增强 LLM 智能体的可靠机制。然而,推理时技能增强存在根本性限制:检索噪声引入无关指导,注入的技能内容带来大量 token 开销,而模型从未真正习得它所遵循的知识。我们提出一个问题:技能是否可以被内化到模型参数中,使其在无需任何运行时技能检索的情况下实现零样本自主行为?我们提出 Skill0,一个专为技能内化设计的上下文强化学习框架。Skill0 引入了一种训练时课程,从提供完整技能上下文开始,逐步撤除。技能按类别离线分组,并与交互历史一起渲染为紧凑的视觉上下文,教授模型工具调用和多轮任务完成。动态课程机制…

深度·4月5日·17 分钟

评论