文章

AI Coding Agents 的真相:代码从来不是瓶颈

AI Coding Agents 的真相:代码从来不是瓶颈

“软件是人类协商后的残留物。代码重要,但它只是更难的工作的副产品,而非工作本身。”

这是最近在 Hacker News 上引发热议的一篇文章《The bottleneck was never the code》的核心观点。作者 Matt 来自 .txt(结构化生成领域的创业公司),他用亲身经历和五十年的软件工程经典理论,指出了一个被 AI coding agents 热潮掩盖的真相。

Coding agents 改变了什么,又没改变什么

Matt 的实验很简单:他花半小时向 Codex 解释一个搁置了一年多的测试方法,几小时后,Codex 给出了可运行的第一版。这很震撼——一年多没启动的实验,几小时就完成了。

但问题也随之而来:当代码生成变得如此廉价,软件开发的真正瓶颈在哪里?

Fred Brooks 在 1975 年的《人月神话》里就给出了答案:沟通和协作。Gerald Weinberg 在 1971 年的《程序开发心理学》里也有类似观察。软件是「一群人协商系统应该做什么」之后剩下的东西。五十年来,我们的注意力被「写代码」的成本牢牢抓住——打字速度、编程语言、IDE、代码审查工具,全是为了降低这个「残留物」的成本。

现在,coding agents 把这个成本降到了接近于零。我们终于能看见代码底下的东西:人,试图达成共识。

当瓶颈从代码转移到管理

Matt 提出了一个观察:在广泛使用 coding agents 的团队里,工程师不再等待其他工程师,而是等待下一个定义良好的需求规格

想想看,以前一个功能从想法到上线,流程大致是:

  1. 产品经理想清楚了,写成 PRD
  2. 工程师理解,开始写代码
  3. 代码审查,测试,上线

第一步往往是模糊的,但没关系,工程师在写代码的过程中会不断追问、澄清、调整。代码写得慢,给了需求方时间想清楚。

现在,代码生成是瞬间完成的。如果需求规格不够精确,coding agent 会产出大量「看起来对但实际上不对」的代码。问题被推迟了,在审查阶段甚至上线后才暴露。工程师没有变快,他们只是把时间花在了纠正错误方向上。

瓶颈从「写代码的人」转移到了「决定写什么代码的人」——也就是管理层。

Jevons 悖论:代码越便宜,写得越多

经济学里有个 Jevons 悖论:当某种资源变得更便宜时,人们往往会使用更多,而不是更少。

代码现在便宜了 10 倍,我们会不会只花 10% 的力气做同样的事?不会。我们会花同样的力气,去追求那些「以前不值得做」的目标。三个月前「太费时间」的原型,现在一下午就能搓出来。没人真正需要的内部工具,建完就被遗忘。每个 vibe-coded 产品都有 12 个功能,其中 11 个是多余的。

Steve Jobs 在 1997 年说过:专注就是说「不」。那年苹果砍掉了 70% 的产品线。这个纪律在 coding agents 时代变得更难——谁不喜欢「又发布了一个功能」的快感呢?

上下文才是金子

Matt 文章里最一针见血的部分,是关于上下文(context)的。

组织的运行依赖一种隐形资源:共享上下文。它包括我们对系统的共同理解、为什么这样设计、什么尝试过但失败了、谁决定了什么、哪些是核心依赖、哪些是历史遗留。人类通过「渗透」获得这些——在同一个房间、读同一个 Slack 频道、凌晨两点一起修故障。

大部分上下文永远不会被写下来。当一个资深工程师在 PR 评论里说「这会破坏迁移」,他调用的是没有文档记录的经验。

Coding agents 无法渗透。 它们不会从半听到的规划对话中获得背景,不会记住上一次事故的教训。你没能塞进 prompt、文件树或显式指令里的东西,它们就是没有。没有上下文的 agent,会针对一个「稍微错误的问题版本」给出一个「看起来合理的答案」。

Matt 坦承:「当我们发现 .txt 里的 agent 做了有用的事,诚实的复盘是,是我们做了上下文工作。接下来的十个工程师不会默认拥有这些背景——除非我们认真把它写下来。」

上下文,这个组织一直依赖的「未书写基质」,现在成了限速输入。而人类的本能是让它保持隐式,因为从来不需要有人去读取它。

这意味着什么

Coding agents 不会让软件行业「大幅提速」,至少不是以人们通常想象的方式。它会改变工作的分布:

  • 写代码的时间 → 趋近于零
  • 定义问题的时间 → 大幅增加
  • 文档化上下文的时间 → 大幅增加
  • 沟通和协调的时间 → 基本不变(可能增加)

对个体开发者来说,coding agent 是一个强大的杠杆——你可以用更少的打字完成更多功能。但对团队和组织来说,真正的挑战是如何在代码成本趋零的世界里,重新设计协作流程和知识管理机制。

这不是悲观。这只是把五十年来被代码成本掩盖的基本事实重新暴露出来:软件工程本质上是人与人之间的事。技术只是媒介。


延伸阅读


如果你在多个 AI 模型之间频繁切换,推荐试试 OfoxAI(ofox.ai)— 一个账号搞定 Claude、GPT、Gemini 等主流模型。

本文由作者按照 CC BY 4.0 进行授权