Long-form

Coding is not solved:当代码变得廉价,工程师的价值到底剩什么

5 min read ·

一篇 400 分热文捅破的窗户纸

9 月 26 日,拥有硬件与系统工程双学位的资深工程师 Alex Ewerlöf 发表了《Coding is not solved》,三天内在 Hacker News 拿到 400 分。它的走红时机耐人寻味:过去一年,「编程已被解决」的论调从推特名言升级成了行业共识的候选——DHH 说编程已解决,各路博客宣称工程师的核心竞争力只剩 taste,招聘描述里开始出现「AI 时代指挥官」这样的头衔。Ewerlöf 的反驳之所以值得认真对待,恰恰因为他不是那个容易被想象成的「恐慌的老工程师」:他是 LLM 编码工具的早期采用者,自己动手搭过 harness,教过 AI 辅助开发的课程。他的论点不是拒绝工具,而是拒绝一个危险的推论——创建代码的成本趋近于零,等于软件工程的成本趋近于零。

代码创建从来不是软件工程的大头

文章的骨架是一个行业老常识的新表述:软件工程的大部分成本从来不在写代码那一刻,而在非功能性需求——维护、可靠性、安全性、可扩展性。这些工作没有「一次生成」的爽感,却有持续数十年的责任。AI 恰好在这部分最弱:它可以快速生成一个通过演示的功能,但无法为三年后的内存泄漏负责。

更微妙的是,即使在功能性需求内部,问题也没解决。Ewerlöf 引用了一个经典观察:不读输出的人反而对输出更有信心——达克效应在 AI 时代有了新的宿主。他划出的分界线是风险容忍度:个人工具、概念验证、以及「武装化 AI」产品这三类东西可以不严格审查代码,因为出错代价低;而医疗、金融、汽车、航空、电力这些行业雇佣工程师的理由,恰恰是错误会带来金钱损失、人命或法律后果,因此需要问责链条。工具的效率红利与行业的责任要求,是两个正交的维度。

问责:AI 无法承受后果

全文最锋利的一段话值得完整转述:「AI 无法承受后果。最坏的情况只是拔掉电源。它不会死、不会坐牢、不会被罚款,因此永远无法被问责。你无法为你不能控制的东西负责。」这不是哲学姿态,而是组织设计的硬约束:问责要求责任主体在事情出错时有可失去的东西。工程师的职业责任之所以有效,是因为吊销执照、解雇、诉讼这些后果真实存在。

配套的是他对确定性的分析。编程在本质上是逻辑活动,编译器不在乎作者自认为多正确;而 LLM 的输出是随机性的,其成功依赖 harness 把语法与运行时错误喂回去的反馈循环,上下文窗口越大准确率越低。代码是确定性的,AI 是随机性的,人类犯错是持续地错、错得稳定可预测,模型则是「锯齿状智能」——所以作者持有的是「锯齿状信任」:对不同任务给予不同程度的信任,而非全有或全无。

证据:连 Anthropic 自己都没搞定自己的工具

文章列举的 Claude Code 反例之所以有力,是因为它们指向一个结构性事实:Anthropic 同时控制模型、harness、提示词和运行时(Bun),是世界上最不该出现「自己的工具咬自己」的公司,但公开 issue 里仍有运行时返回 Bun 帮助菜单、安装包自动删除自己、有套餐容量却被额外扣费并报假限流错误这类问题。作者用 Shopify 的案例收束:Tobi Lutke 一年前强制全员用 AI,如今创造了「slop grenades」一词形容那些看起来完整、内里埋雷的产出,并留下那句值得贴在每块团队看板上的话——你无法为你不理解的东西负责。

逐条拆解七个流行谬论

文章最实用的部分是对七大谬论的逐条反驳,这里选三条展开。其一,「可以提前写完整 spec」——任何有几年行业经验的人都知道需求在实现过程中必然演化,除非项目琐碎到不值得 AI 介入。其二,「英语是新的编程语言」——人类语言模糊且自相矛盾,这正是编程语言存在的原因;用更模糊的语言去定义更严格的行为,方向就是反的。其三,「杠杆转移到了 taste」——AI 同时降低了创建门槛、提高了可付费技能的门槛:当人人都能生成,能判断生成物好坏并为之负责的人反而更稀缺;何况 taste 人人都有,稀缺的从来是判断力与问责能力。还有一个数字令人难忘:让 agent 更新五个 npm 补丁版本的依赖,花了 12 分钟、72 步;人工不到 1 分钟。AI 是乘数,同时放大聪明与愚蠢。

与此前讨论的连线:架构知识的流失

把这篇文章放在最近的讨论脉络里看,它会更有意思。9 月 28 日另一篇 341 分的 HN 热文《The problem is not AI code, but not knowing about system architecture or intent》从另一个侧面指向同一个病灶:团队里懂架构的人离开后,AI 生成的代码没人能判断好坏,系统意图失传。两篇文章合起来构成一个完整的警告——AI 加速了代码的生成,也加速了理解力的流失,当 Knowledge 这根支柱被抽掉,Mandate 和 Accountability 随之空转。这也解释了为什么 SKILLS、AGENTS.md、MCP、self-healing harness 这些务实补救方案在 2026 年集体爆发:它们本质上都是在给流失的知识找新的载体。

行动建议:把风险容忍度当成架构决策

落到操作层,三条建议。第一,按风险容忍度给项目分级,把 AI 的效率红利集中在原型、内部工具、样板代码这些高容忍区,而对关键路径坚持人类评审与测试覆盖的纪律——Ewerlöf 的「Slow is fast」只对低容忍区成立,别把它读成全面保守主义。第二,重新设计团队的度量:别用 PR 数和代码行数衡量产出,用 SLI 和服务消费者满意度;厂商按 AI 输出成本收费却开人类价格的生意模式走不通,团队内部同理。第三,也是最容易被忽视的:把「理解你交付的东西」写成团队的硬要求,架构决策记录、意图文档、on-call 复盘,这些旧东西在 AI 时代反而成了新基础设施。Ewerlöf 预测部分工程师将转型为技术产品经理、AI 管理者、AI 部署工程师与 AI 质量工程师四类角色——转型的前提,是先承认 coding 没有被 solved,然后再决定往哪里走。

Frequently asked questions

「coding is solved」这个说法从哪来的?
近一年随着编码 Agent 能力跃升,包括 DHH 在内的多位行业人物宣称「编程问题已被解决」,暗示工程师的核心工作只剩品味与需求定义。Ewerlöf 的文章是对这一叙事最系统的反驳之一,发布于 2026 年 9 月 26 日,在 Hacker News 获得 400 分以上的讨论热度。
作者承认 AI 编码工具的价值吗?
承认。他自认是 LLM 编码工具的早期采用者,自建过 harness、教过相关课程,明确列出工具的高价值场景:概念验证、个人软件、对人类语言做 map-reduce 式处理(翻译、格式转换、摘要)。他反对的不是工具,而是「工程只剩品味」的无脑叙事。
所有权三支柱是什么?
Knowledge(知识)、Mandate(授权)与 Accountability(问责)。你能对一段代码负责,前提是你理解它、你有权决定它的形态、且你要承担它出错的后果。AI 工具同时削弱了三者:生成者不理解输出、授权边界模糊、而 AI 无法承担任何后果——最坏情况只是被拔掉电源。
Shopify 的 slop grenades 事件说明了什么?
Shopify CEO Tobi Lutke 一年前强制全员使用 AI,近日却创造出 slop grenades(垃圾手雷)一词形容部分 AI 产出——看起来完整、内里潜伏着随时爆炸的问题。连最强的 AI 推动者也公开承认产出质量参差,说明「AI 一键交付」与「可交付」之间存在真实鸿沟。
普通工程师现在该做什么?
三件事:把 AI 用在高风险容忍度场景(原型、个人工具、样板代码)里榨干效率红利;对低风险容忍度系统坚持评审与测试纪律,用 SLI 和用户满意度而非代码行数衡量产出;有意识地保留并文档化系统架构知识,避免团队变成「没人理解自己维护的系统」的状态。
// next.txt ›

Some outbound links in this post are affiliate links — see disclosure.