第 02 篇

如今,编写代码的成本已经很低

Simon Willison 讨论编程智能体如何降低编写代码的成本,为什么交付好代码仍然有成本,以及个人和团队需要调整哪些工程习惯。

Hex4C59 3 分钟阅读 更新于 2026-10-17

译文信息

  • 原文:Writing code is cheap now
  • 作者:Simon Willison
  • 中文翻译与整理:Hex4C59(AI 辅助)
  • 翻译整理:2026-10-11

本文为非官方中文译文,依据提供的原文正文翻译。正文中的「我」及成本、质量和实践方面的判断均指原作者。

采用智能体工程实践,最大的挑战是适应这样一个事实及其带来的影响:如今,编写代码的成本已经很低。

过去,编写代码一直很昂贵。对大多数软件开发者而言,写出几百行整洁、经过测试的代码,需要一整天,甚至更长时间。从项目规划到日常开发,我们的许多工程习惯都围绕着这一时间限制形成。

在宏观层面,我们花大量时间设计项目、估算工作量和制定计划,以确保昂贵的编码时间得到尽可能高效的利用。评估产品功能构想时,我们会考虑它们能用这些时间换来多少价值。一项功能带来的回报必须达到开发成本的许多倍,才值得投入!

在日常开发中,我们每天都会权衡可用时间与预期收益,做出数百个决定。如果把一个函数重构得更优雅一些,需要多花一小时写代码,我该不该做?编写文档呢?值得为这个边界情况增加一个测试吗?专门为此构建一个调试界面,能说得过去吗?

编程智能体大幅降低了编写代码的成本,也因此动摇了我们个人和组织对许多取舍是否合理的既有直觉。

能够并行运行多个智能体,让这些取舍更难评估:如今,一名工程师可以同时在多处实现功能、重构、测试和编写文档。

好代码仍然有成本 #

交付新代码的成本已经降到几乎为零……但交付好代码,仍然要付出高得多的成本。

我所说的「好代码」,指的是:

  • 代码能正常工作。它能完成预定的任务,没有缺陷。
  • 我们知道代码能正常工作。我们已经采取措施,向自己和他人确认它确实能满足用途。
  • 它解决的是正确的问题。
  • 它能妥善处理错误情况,而且处理方式可以预期,不能只考虑一切顺利的情况。错误信息应该足够充分,帮助未来的维护者理解哪里出了问题。
  • 它简单、精简,只做必要的事情。它的写法既能让人和机器理解,也便于今后维护。
  • 它有测试保护。测试既证明它现在能正常工作,也能在后续修改时检查原有功能是否仍然正常,防止问题悄悄出现;后者就是回归测试。
  • 它有详略适当的文档,而且文档反映系统的当前状态。如果代码改变了已有行为,现有文档也需要同步更新。
  • 它的设计为未来修改留有余地。遵守 YAGNI(You Aren’t Gonna Need It,你不会需要它)原则很重要:为了预先应对可能永远不会发生的变化而增加复杂度,往往会写出糟糕的代码。但同样重要的是,不要让未来的修改变得比本来应有的难度高得多。
  • 它还满足其他相关的质量属性,例如无障碍性、可测试性、可靠性、安全性、可维护性、可观测性、可扩展性和易用性。这些都是非功能性的质量指标,需要根据所开发的软件类型来确定要求。

编程智能体工具可以帮助我们完成其中的大部分工作,但使用这些工具的开发者仍然承担着不小的责任:确保生成的代码满足当前项目所需的那些「好代码」标准。

我们需要养成新的习惯 #

我们面临的挑战,是在个人和组织层面养成新的习惯,适应智能体工程提供的能力和机会。

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

目前,我认为我们能做的最好尝试,就是重新审视自己的直觉:每当本能告诉我们「别做这个,不值得花时间」时,不妨还是在一个异步智能体会话中发出提示词。最坏的结果,也不过是十分钟后回来查看,发现这次尝试不值得花那些 Token。

一起讨论

选中正文中的文字,可以针对这段内容发起讨论。

正在读取讨论…

在 GitHub 查看与管理讨论 ↗

文章讨论