💀 Reports of code's death are greatly exaggerated

⭐⭐⭐⭐⭐ 5星 | 作者: Steve Krouse | 来源: Hacker News
编程哲学 AI 抽象思维 未来趋势

核心论点

"Everything is vague to a degree you do not realize till you have tried to make it precise."
— Bertrand Russell

99%的人似乎同意代码已死。但这是错的——就像在印刷术发明时认为讲故事已死一样。代码才刚刚开始。AI将成为编程的巨大福音。

Vibe Coding 的幻觉

"Vibe coding" 这个词很完美:你保持在英语层面的"感觉"运作,对AI创造的产物做出反应来精确你的思维。

但 vibe coding 给你的幻觉是:你的感觉是精确的抽象。它们会一直感觉精确,直到泄露发生——当添加足够功能或达到足够规模时。

Dan Shipper 的经历就是如此:他的 vibe-coded 文本编辑器应用 viral 后崩了。"实时协作真的TM难。"

抽象:人类大脑的唯一救赎

人类大脑有一个根本限制。我们一次只能思考 7±2 件事。所以思考超过 7 件事的唯一方法是把多件事压缩成一件。幸运的是,我们可以递归地做到这一点,无限进行。这个压缩步骤叫做抽象
抽象的目的不是模糊,而是创建一个新的语义层次,在其中可以绝对精确。
— Edsger Dijkstra

为什么好工程师写糟糕的AI代码

  • 奇怪的反馈循环:你无法单步调试 prompt。输出是概率性的。当它终于工作时,你不想碰它。
  • 交付压力:让 LLM 工作感觉像是一种成就。干净的架构感觉是后来的奢侈品。
  • 边界不清:你在哪里画边界?你的 prompt 同时是代码和数据。一切都不熟悉。

AGI 时代

让我们推演 1、2、5、10、100 年后。AI 变得更好/更快/更便宜,但除非你相信魔法,机器智能达到人类智能水平只是时间问题。我们称那一点为 AGI。

如果你有一个Karpathy级别的天才 access,你用它来交付更多 slop?得了吧。当然不。

我们困惑是因为我们(错误地)认为代码只是为了它产生的软件。代码本身也是极其重要的 artifact。做得好,它就是诗歌。

与写作的类比

没人谈论"vibe writing"。我们不困惑是因为:

  • 语法正确的句子不像运行代码那样有什么"神秘"之处
  • 没人声称 ChatGPT 会让伟大作家或记者失业
  • 我们都知道那是扯淡

编程的情况完全相同。AI 产生(越来越少)shitty code。我们都知道。我们都绕过这个限制使用 AI。

AI 帮助我们产生更好的代码

Simon Willison 说:AI 应该帮助我们产生更好的代码。当我们有 AGI 时,这将很容易。

你可能认为随着 AI 变聪明,对好代码的需求就会消失——但这就像用 ChatGPT 写更多 slop。当我们有 AGI 时,我们将用它来创造更好的抽象、更好的协作文本编辑器库等。

经典引言

把使用形式符号的义务视为负担是愚蠢的。我们应该把使用它们的便利视为特权:得益于它们,小学生可以做到以前只有天才才能做到的事。
— Edsger W. Dijkstra
构建软件设计有两种方式:一种是做得如此简单以至于明显没有缺陷,另一种是做得如此复杂以至于没有明显的缺陷。
— Tony Hoare