跳到正文
Hacker News· theanonymousone·· 4 小时前AI 评分38

编译器也曾被寄望终结编程:从 FORTRAN 到 AI 编程智能体的七十年

The compiler was supposed to end programming too

AI 导读

IBM 在 1954 年称 FORTRAN“应几乎消除编码与调试”,但调试至今仍在,编程只是被抬升到更高抽象层。GitHub 2025 年报告显示开发者已超 1.8 亿,其中 3600 多万是过去十二个月新增;Stack Overflow 调查中 84% 开发者已在用或计划用 AI 工具。

正文 · AI 翻译

现在是2031年一个周二早上的7:40,你还没写一行代码。今天你大概也不会写,这没关系。

你睡觉的时候,四个 agent 处理了你昨天下午整理好的待办事项。其中三个完成了。它们的 pull request 正等着你,每个都附带了它添加的测试、一段功能运行的简短录屏,以及一份关于它不确定之处的说明。第四个 agent 在凌晨2:13停了下来,给你留了一个问题:

规格说明里写着退款要退回原卡。这位客户的卡三月就过期了。应该怎么处理?

这个 agent 可以一整天都在写退款代码。它做不到的是决定你的公司欠一位卡已过期的客户什么,所以它停下来问了,而这正是你希望一个新员工也做到的事。你的早晨是这样的:你读三个 pull request,去找支持团队的人聊一聊,然后把规则写得清清楚楚,清楚到没有人(无论是不是人类)需要再猜一次。

想象 · 2031年,周二

Agents

1234

你

5678910

22:0002:0006:0010:0014:0018:0022:00

Agents

  1. 122:00 三个 agent 处理昨天的待办事项,并打开三个 pull request,每个都带有测试和一段录屏。
  2. 222:00 第四个 agent 停下来,留下一个问题:退款退回原卡,但那张卡已过期。
  3. 313:00 agent 们按照你写下的退款规则来构建,用的是你先写好的测试。
  4. 421:30 今晚的运行从你批准的方案开始。

你

  1. 507:40 读三个 pull request,看录屏。
  2. 609:00 回答 02:13 的那个问题。你还答不上来。
  3. 710:00 问支持团队,卡过期的客户期望什么。
  4. 811:00 把规则写成一份简短的规格说明和五个测试。
  5. 914:00 读 agent 们在涉及钱的那一部分上的工作。
  6. 1016:30 批准今晚的方案。回家。

一个虚构的日子,但仍是按比例绘制的。红色标记是工作唯一等待人的时刻。

那个周二是我编的。不过其中没有一样是科幻。无人值守过夜工作的 agent 今天已经存在,其中一个每晚十点在我自己的机器上运行。它会发明一个小项目,构建它,测试它,而我在吃早餐时发现它做了什么。第一个早晨,我完全不知道它构建了什么。那个构建现在成了 Rule Safari,是本网站上的一个在线项目,还有一篇文章解释它如何运作。

那么这是编程的终结吗?人们问这个问题已经问了七十多年。我觉得这让人安心。我也觉得这有点可疑。

编程从1954年起就在终结

1954年11月10日,IBM 的编程研究组完成了一份关于名为 FORTRAN 的新语言的初步报告。其中有一句话写道,FORTRAN“应能几乎消除编码和调试。”

我喜欢这句话。它如此自信,甚至还附带了预算:解决问题“成本不到”不用 FORTRAN 的一半。当时业界对这类东西有个叫法。汇编器和编译器被称为自动编程。你描述你想要什么,机器就会写出程序。

FORTRAN 于 1957 年发布,它确实消除了一类编码工作。几乎没有人再手工把公式翻译成机器指令了。调试依然完好无损。(这个月我追查了一个 Scry bug,最终发现原因是一个每十二小时才保存一次的书签,所以我可以确认调试依然活得好好的。)

FORTRAN 真正做的是把工作中一个枯燥的部分拿走,并把这项工作提升了一个层次。人们不再思考寄存器,而是开始思考更大的问题。编写程序的成本降低了,所以每个人都想要更多的程序。从那以后,这种情况一次又一次地发生。

  1. 1947

    汇编语言你不再:把指令写成原始数字Kathleen Booth,《Coding for A.R.C.》

  2. 1957

    FORTRAN你不再:手工把公式翻译成机器指令1954 年的报告称:它“应当几乎消除编码和调试”。

  3. 1972

    C你不再:为每一台新机器重写同一个程序

  4. 1981

    The Last One你不再:结果是什么都没有一个 BASIC 程序生成器,被宣传为你需要购买的最后一个程序。

  5. 2008

    Stack Overflow你不再:独自解决每一条错误信息

  6. 2010

    npm你不再:自己编写一切

  7. 2021

    GitHub Copilot你不再:输入样板代码

  8. 2025

    编码智能体你不再:输入大部分代码

  9. 20??

    Next你不再:?

每一级台阶都从程序员的工作中拿走了一些东西。那条虚线台阶则承诺攀登已经结束。

我最喜欢的一级是 1981 年。一家名为 D.J. “AI” Systems(没错,真的)的英国公司出售了一款名为 The Last One 的 BASIC 程序生成器。这个名字就是全部的卖点。它会为你编写所有程序,所以它将是你需要购买的最后一个程序。

评论者发现它对某些商业程序有用。但它并不是最后一个。

每一级台阶上的模式都是这样。某些东西被自动化了,做这项工作的人不再手工做那件事,而这个领域依然在增长。GitHub 在其 2025 年报告中统计到超过 1.8 亿名开发者,其中超过 3600 万人在此前十二个月内加入。

所以我不认为 AI 会终结编程。我确实认为这一级台阶在一个方面有所不同,那就是速度。GitHub Copilot 的预览版于 2021 年 6 月推出。到 2025 年,Stack Overflow 调查中 84% 的开发者正在使用或计划使用 AI 工具。四年时间,从新奇事物变成默认选择。

2026 年实际会是什么样

现在的氛围很喧嚣,所以让我们从数字开始。(说到氛围:Andrej Karpathy 在 2025 年 2 月创造了“vibe coding”一词,指的是那种你“完全沉浸在氛围中”的编码方式。Stack Overflow 那一年问到了它。72% 的开发者表示它不属于他们的专业工作,另有 5% 表示坚决不。我很喜欢他们提供了这个选项。)

Stack Overflow 的调查是我们拥有的最大规模的定期检查,其中的采用曲线很陡峭:从 2023 年 70% 的开发者使用或计划使用 AI 工具,到 2025 年的 84%,当时一半的专业开发者每天都在使用它们。

你可能会以为这么多使用量意味着开发者喜爱这些工具。并非如此。好感度从 2023 年的 77% 降至 2025 年的 60%,今年才回升到 62%。2025 年,不信任 AI 输出准确性的开发者(46%)多于信任的开发者(33%)。最令人沮丧的问题,有 66% 的人选择,是“几乎正确、但又不完全正确的 AI 方案”。

我深有同感。几乎正确是一种代价高昂的错误,因为你必须逐行阅读才能找出不对的那部分。(45% 的人表示调试 AI 生成的代码耗时更长。)

Stack Overflow 开发者调查,2023 至 2026 年。2026 年的调查删除了“使用或计划使用”这一问题,并改写了信任问题,因此这两条线止于 2025 年。2023 年约有 90,000 名开发者作答,2026 年超过 30,000 名。

然后是我在整个 AI 热潮中最喜欢的一项研究,主要是因为它的结论太不留情面了。2025 年初,非营利研究机构 METR 开展了一项规范的随机对照试验。十六名经验丰富的开源开发者处理自己仓库中的 246 个真实问题——这些项目他们已参与多年——每个问题被随机分配为允许使用 AI 工具或禁止使用。

开始之前,开发者预期 AI 能将他们的时间缩短 24%。完成之后,他们认为 AI 缩短了 20%。而计时显示,使用 AI 时他们多花了 19% 的时间。

多花了 19% 的时间更长!而他们离开时还确信这有帮助。

  • 经济学家预测专家预测减少 39% 时间
  • ML 研究人员预测专家预测减少 38% 时间
  • 开发者预期任务开始前减少 24% 时间
  • 开发者感受任务结束后减少 20% 时间
  • 计时测量实际发生增加 19% 时间

METR,2025 年 7 月:16 名开发者,246 个问题,主要使用 Cursor 搭配 Claude 3.5 和 3.7 Sonnet。专家预测来自该论文。减速的误差范围很大,大约在 2% 到 39% 之间。

在有人截图拿去发暴论之前:这是一项针对十六个人的研究,使用的是 2025 年初的工具,处理的是他们比任何模型都更熟悉的代码库。

METR 尝试再次开展这项研究。一项更大规模的研究于 2025 年 8 月启动,有 57 名开发者和 800 多个任务,2026 年 2 月 METR 表示数据太不可靠,无法依赖。主要原因是开发者不断拒绝参与,因为他们“不想在没有 AI 的情况下工作”。早期数字暗示回归的开发者有 18% 的提速(范围宽到足以包含完全没有提速)。

我觉得这是实验失败得最有 2026 年风格的方式。人们拒绝被分到没有 AI 的那一组。

我从 METR 得出的结论比任何标题都更狭窄,也更有用:你感觉有多快并不是一种测量。如果你想知道 AI 是否让你的团队更快,就像测量其他任何东西一样去测量它。

那条不断上升的线

METR 的另一个大项目追踪 AI 智能体能够独立完成多长的任务。他们为一组软件任务计时人类专家,然后找出智能体有一半概率成功的任务长度。2019 年,GPT-2 能完成一个人大约三秒钟的任务。GPT-4 在 2023 年达到约四分钟。Claude 3.7 Sonnet 在 2025 年 2 月达到一小时,一年后 Claude Opus 4.6 达到约十二小时。

纵观整个系列,这个数字大约每六个月翻一番。自2023年以来,已经接近每四个月翻一番。

METR的时间跨度(1.1版):每个模型有一半概率能完成的任务长度,以人类专家时间计。METR表示,按其当前任务,超过16小时的任何数据都不可靠,因此Claude Mythos Preview在5月测得的17小时并未画在线上。虚线部分延伸了六个月的翻倍趋势。这是一种趋势,而非承诺。

现在,一张末端带虚线的对数刻度图,是许多糟糕预测的起点,所以让我谨慎一点。在那个定义里,“一半概率”承担了很大的作用。基准任务比你的代码库更干净。而且METR在9月就停止更新那个页面了。但如果这条线即使大致延续下去,智能体将在2028年左右能够以一半概率处理一个月的人类工作量。这就是我那个2031年周二的由来。我不是凭空想出来的。我是从一张对数刻度图里得出来的,而那就是带坐标轴的凭空想象。

构建这些东西的公司已经生活在它的某个版本里了。谷歌在2024年10月表示,其新代码中有超过四分之一是由AI生成的,六个月后这一比例“远超30%”。2025年3月,Anthropic的Dario Amodei预测AI将在三到六个月内编写90%的代码。那太快了。但到2026年5月,Anthropic表示,合并进其自身代码库的代码中超过80%是由Claude编写的。

当代码变得廉价,队列就会移动

让流程中的某一步变快,工作就会在下一个最慢的步骤前堆积起来。任何在周六晚上干过厨房的人都知道这一点:加快烤架,盘子就开始在出菜口等待。

这就是软件团队正在经历的情况。2025年,Faros AI查看了来自1,255个团队、超过10,000名开发者的遥测数据。AI采用率高的团队中的开发者完成了多21%的任务,合并了多98%的拉取请求,而他们的审查时间增加了91%。

Faros在2026年用22,000名开发者又跑了一遍。每位开发者的任务完成量增加了34%,听起来很棒,直到你读到其余部分。审查时间中位数增长了五倍。多31%的拉取请求在完全没有任何审查的情况下被合并,而事故与拉取请求的比率增加了两倍多。

代码变得更便宜,阅读变得更昂贵,一些团队悄悄停止了阅读。这很重要,因为代码并不总是好的。Veracode在2025年用80个编码任务测试了100多个语言模型,45%的结果存在安全缺陷。GitClear发现,复制粘贴的代码行从2021年占变更代码的8.3%上升到2024年的12.3%,而移动的代码——即重构产生的那种——从约四分之一下降到不足10%。

也请为维护者想一想。领导curl的Daniel Stenberg在2025年5月开始封禁提交“AI垃圾”缺陷报告的人,他写道该项目“实际上正在被DDoS攻击”。2026年1月,curl关闭了其漏洞赏金计划。

决定构建什么

把它写下来

编写代码

审查代码

检查它能否运行

发布并运行它

今天:代码到达的速度快于人们阅读它的速度,所以拉取请求在等待审查。

柱状图尺寸仅为示意,并非实测。2026 年的形状依据上文 Faros AI 的数据;2031 年的形状是我的猜测。切换年份即可查看工作在哪里等待。

Fred Brooks 在 1986 年就预见到了这一趋势的某个版本。在《没有银弹》一文中,他借用亚里士多德的说法,将软件的困难分为两类:本质与偶然。偶然是我们工具给我们带来的麻烦,比如语法、样板代码和与构建系统作斗争。本质则是他所称的“这一概念构造的规格说明、设计与测试”,说白了就是:弄清楚这个东西应该做什么。AI 在偶然性方面正变得非常擅长。本质则是凌晨 2:13 那个退款问题,它仍然摆在你的桌上。

我们可能正在锯掉的那根梯级

这是数据中我最不喜欢的部分。

2025 年 8 月,Erik Brynjolfsson 和斯坦福数字经济实验室的两位同事利用 ADP 薪资数据研究了谁在获得聘用。22 至 25 岁软件开发者的就业人数较 2022 年末的峰值下降了近 20%。年长的开发者则没有明显变化。

他们今年 8 月更新了这项研究,数据截至 2026 年 6 月。处于 AI 暴露岗位的年轻劳动者,如今比他们若与暴露程度较低的同行保持同步增长时应有的水平低 19%。有经验的劳动者则没有出现可比的差距。大部分效应来自企业从一开始就减少了年轻员工的招聘。

市场的其余部分也谈不上火热。Indeed 的软件开发职位发布指数较 2020 年 2 月低约 21%,此前在 2025 年 5 月曾触底至低 39%。

斯坦福的作者们谨慎地称其发现是描述性的,而非因果性的,而且自 2022 年以来还发生了许多其他事情。利率上升了,许多公司在疫情期间招聘了过多的人(Indeed 的指数在 2022 年初达到 2020 年水平的两倍多)。但这一模式与智能体所擅长的事情令人不安地吻合:那些我们过去交给团队新人的小型、定义明确的工单。

高级工程师是在工作中造就的,主要方式是在真实团队里当初级工程师:处理无聊的工单,把生产环境搞崩一次,然后有人好心地解释原因。如果智能体拿走了所有无聊的工单,下一位高级工程师从何而来?如果你从未写过多少代码,就很难做好代码审查。

我没有一个干净的答案。我的猜测是,2035 年表现出色的团队,将是那些在 2026 年继续招聘初级工程师、并给他们一种不同的学徒期的人:在一位资深工程师身旁审查智能体的工作,端到端地拥有一个小型系统,并编写智能体据以构建的规格说明和测试。编写这些规格说明和测试是一份真正的工作。它可能会成为那份工作。

对 2031 年的五个猜测

好,现在进入猜测部分。收藏这个页面,2031 年回来笑话我。

团队会变小,而团队数量会多得多。据 Y Combinator 的 Jared Friedman 称,2025 年冬季批次中有四分之一的企业其代码库约 95% 由 AI 生成。今年 2 月,Block 裁减了约 4,000 个岗位,Jack Dorsey 将此归因于 AI 工具和“更小、更扁平的团队”。我在这里可能判断有误,但我仍然不认为这总体上意味着软件岗位减少,美国劳工统计局也不这么认为——该局预测 2025 至 2035 年软件开发人员、QA 分析师和测试人员的岗位将增长 10%。

当某样东西变得更便宜时,我们往往会想要更多。经济学家称之为杰文斯悖论,得名于威廉·斯坦利·杰文斯,他在1865年提出,更高效的蒸汽机会让英国烧掉更多煤炭。过去需要一个团队花一个季度才能完成的软件,现在一个人一周就能完成,而许多过去没人负担得起解决的问题,会突然变得值得解决。

规格说明和测试成为源头。 今天我们把代码当作自己拥有的东西,把规格说明当作没人读的文档。我认为这会反过来。规格说明和测试成为你审查和争论的对象,而代码变得更像编译器的输出:你可以打开它、检查它,但很少会手动编辑它。(是的,这又是1954年的那个承诺。也许这次它成真了。)

面向一个人的软件。 我的夜间智能体会构建没人要求的东西,包括我自己在内,其中有些还挺讨人喜欢。当一个可用的工具只花一个晚上而不是一个季度时,人们会像今天做电子表格那样做软件:为一个问题、一个人,用完就扔。

阅读代码成为一种职业。 我们有整个职业生涯都建立在写代码上,却几乎没有建立在读代码上。我预计这会改变,招聘板上会出现类似“验证工程师”的职位,以及更好的工具,能向审查者展示录制过程、有风险的代码行,以及智能体没有编写的测试。Faros的数据表明我们现在就需要它,更不用说2031年了。

每个变更都带有标签。 我认为拉取请求会例行说明是谁或什么写的、谁检查的,以及实际验证了什么。我已经在做一个小版本:我的夜间智能体构建的每个项目都会在README和这个网站上说明这一点。

回到星期二

FORTRAN确实消除了一种编码。它没有消除程序员。它造就了更多程序员,去处理更难的问题,而调试也随之而来。

我认为AI做的是同样的事,只是更快、更混乱。2031年的开发者一天都在决定什么应该存在,把它解释得足够清楚以便机器能构建它,并检查返回的结果是否正确。这一直是困难的部分。我们只是以前忙于打字,留给它的时间更少。

你现在的星期二是什么样子?你审查的比写的多吗?在评论里告诉我。我想知道我的猜测是不是已经错了。

作者:hrih

来源:Hacker News · hrih.si