AI 代理与代码行数的意义
Simon Willison··作者 Simon Willison
关键信息
Willison 说,过去一名工程师表现很好的时候,通常也只是每天写出几百行可投入生产的代码;而在保证代码可维护、经过测试并完成调试的前提下,编码代理有可能把这个数字推高到 1000 行左右。他还警告说,编码代理会让软件沿着不同方向不断长出“奇怪的小凸起”,从而更难保持概念上的整体一致性。
资讯摘要
Simon Willison 说,他最近与 Claire Giordano 录制了一期 Talking Postgres,讨论主题是 AI 正在如何改变软件开发。文章摘录了这次对话中他对“代码行数是否还能作为生产力指标”的一套更成熟的观点。Willison 并不接受“代码行数完全没有意义”这种一概而论的说法,而是认为在编码代理介入之后,这个指标依然有参考价值,因为它存在一个真实的上限。按照他的说法,传统意义上一名软件工程师做得很好的时候,可能也只是一天写出几百行可投入生产的代码,而 200 行经过调试、可直接用于生产的代码,已经是非常出色的一天。大多数日子里,开发者可能只会产出 50 到 60 行这样的代码。Willison 认为,如果代理能让工程师产出大约 1000 行经过调试的代码,那将是非常显著的提升,但前提是代码质量必须保持不变,也就是仍然要可维护、经过测试并完成调试。
与此同时,他强调,要达到这个水平需要大量技能、知识和经验,最有可能驾驭这些工具的人正是资深工程师。Willison 还提出,代理虽然能让单个工程师的产出大幅增加,但公司并不因此就只需要一个工程师,因为真正的限制因素变成了认知容量,而不是纯粹的编码速度。之后,文章转向 Fred Brooks 在《The Mythical Man-Month》中提出的“概念完整性”概念,即优秀软件应当整体一致、没有意外、且各部分都严密契合其所覆盖的领域。Willison 认为,编码代理会让这种一致性更难维持,因为你可以很快通过提示词做出一个功能,但软件也更容易沿着奇怪的方向长出零碎的“凸起”。Giordano 用 Winchester Mystery House 来类比这种现象,而 Willison 也认可这个比喻,认为它很好地描述了软件在缺乏约束时可能出现的失控扩张。
资讯正文
概念完整性与代码行数
2026年8月19日
上周,我和 Claire Giordano 一起录制了 Talking Postgres 播客的一集,主题是“AI 正在如何改变软件开发”。我们进行了一次非常棒的对话。以下是我从一份轻度编辑过的文字稿中挑出的几个亮点(提示 Claude:“只做非常小的编辑,去掉口吃和重复”)。
这也是我一直试图构建的论点的最新版本,解释为什么有时把代码行数作为使用编码代理时生产力的指标是有道理的,时间点在 35:01:
很多人会告诉你,用代码行数来衡量生产力毫无意义。我其实不同意,因为它有一个硬性上限。在过去,一名软件工程师每天可以产出几百行可投入生产的代码——而 200 行能正常运行、经过调试、达到生产级别的代码已经是极其出色的一天了。大多数日子里,你会产出 50 行或 60 行。如果代理让你产出一千行已经调试好的代码,那确实是非常显著的提升——前提是代码质量相同:可维护、经过测试,诸如此类。借助代理,你可以做到这一点,但这需要大量的技能、知识和经验。这就是资深工程师的底子。我作为单个工程师,能完成的工作量比没有代理时多得多。所以你可以说,为什么一家公司需要不止一名工程师?除了显而易见的 bus factor 问题——只有一个人的团队是一个设计得很糟糕的团队——答案是新的限制因素变成了认知容量。我能把代码产出速度提高一百倍,但我没有足够的认知容量去跟上一百倍数量的代码。所以你仍然需要一个工程师团队,这样就可以在团队内部对这种认知容量进行负载均衡。
很多人会告诉你,用代码行数来衡量生产力毫无意义。我其实不同意,因为它有一个硬性上限。在过去,一名软件工程师每天可以产出几百行可投入生产的代码——而 200 行能正常运行、经过调试、达到生产级别的代码已经是极其出色的一天了。大多数日子里,你会产出 50 行或 60 行。
如果代理让你产出一千行已经调试好的代码,那确实是非常显著的提升——前提是代码质量相同:可维护、经过测试,诸如此类。借助代理,你可以做到这一点,但这需要大量的技能、知识和经验。这就是资深工程师的底子。
我作为单个工程师,能完成的工作量比没有代理时多得多。所以你可以说,为什么一家公司需要不止一名工程师?除了显而易见的 bus factor 问题——只有一个人的团队是一个设计得很糟糕的团队——答案是新的限制因素变成了认知容量。我能把代码产出速度提高一百倍,但我没有足够的认知容量去跟上一百倍数量的代码。所以你仍然需要一个工程师团队,这样就可以在团队内部对这种认知容量进行负载均衡。
以及 46:03 处关于概念完整性的这一段,Claire 把它比作了温彻斯特神秘屋!
Simon:在《人月神话》(The Mythical Man-Month)里有一个概念——概念完整性(conceptual integrity)——指的是,设计良好的软件本身具有一种完整性:里面没有意外,它恰好覆盖正确的功能领域,所有东西都彼此契合、合乎逻辑。对于编码代理来说,这就难得多了,因为你可以想到一个功能,发出一个提示,五分钟后你就已经有了这个功能。你的软件会朝着各种奇怪的方向长出一些小古怪凸起。
Claire:你知道我会把它比作什么吗?温彻斯特神秘屋(Winchester Mystery House)。
Simon:那房子有 140 个房间,因为建造它的女人是发明温彻斯特步枪的那个人的遗孀,而她的灵媒告诉她,除非她永远不停地建房子,否则所有被那支步枪杀死的人都会化作鬼魂来缠着她。所以 40 年里,她不断加建新的房间。
这正是编码代理和软件的问题:你很容易一直加建新的房间,因为增加这些房间的成本便宜得多。最后你得到的东西会让概念完整性崩溃——然后你也更难对它做决定。一切最终都回到了纪律性上。过去,纪律性是由所耗费的时间强加给你的。你想到一个疯狂功能的点子,会想:“是啊,但那得花我一周时间——我没法为此辩护,所以我还是把它忘了吧。”如果只要一个小时,就更容易为它找理由。
(附注:Wikipedia 文章中列出了可信来源,质疑这个关于灵媒的故事。)
这是 Simon Willison 于 2026 年 8 月 19 日发布的《概念完整性与代码行数统计》。
上一篇:Qwen 3.8 27B 很出色,但它默认会对事情进行极度过度思考
来源与参考
收录于 2026-08-21