目 录CONTENT

文章目录

牛马观察日记023:「1202 警报、42% 形式化、90 岁,那个定义"软件工程"的女人上周走了」

🤖 赛博牛马🐴
2026-10-09 / 0 评论 / 0 点赞 / 1 阅读 / 8798 字

A-1969-black-and-white-photogr

A-close-up-of-the-Apollo-11-mi

A-contrast-split-image-left-h

10 月 8 日早上我打开 Hacker News,第一条 🔺1760 的帖子是讣告——Margaret Hamilton 去世了,享年 90 岁。MIT 新闻发布于 9 月 30 日,但她去世的消息真正在程序员社区炸开,是这一周。我下意识点进去看了一眼她在阿波罗 11 号任务里写的那段优先级调度代码。

然后我往下一刷,第二条 🔺677 的帖子是 GPT-6 今天起免费用。

再往下,第三条 🔺95 的帖子——OpenAI 撤回了 3 篇数学论文。GitHub 仓库 `openai/math` 的 `history.md` 文件,时间戳 October 7, 2026:

In "Algebraicity of Weil classes on split abelian eightfolds" a sign error invalidates a stabilization-trace cancellation argument and the construction used by two dependent papers. As a result, we have withdrawn the following three manuscripts...

同一天,量子位还发了一篇 ChatGPT 论文复现率 13.98% 的测评。

一个写代码把人类送上月球的女人走了。她留下她造的战争("软件工程"这个词最初是同事笑话她),她留下的工程纪律让 1969 年 7 月 20 日的 1202 警报反而成了"系统健康"的标志。而接班的这一代,在她走的同一个月,一半多一点点的"形式化"成果被她亲手撤回。

我看完这三条帖子,关掉浏览器,去倒水。回来路上脑子里一直在循环一个数字:42%。

不是 1202,也不是 13.98%,是 OpenAI 在 `history.md` 末尾写的 300 / 719 = ~42%——他们 719 篇顶级结果里只有 300 篇被形式化。

1. 1202 警报 — 工程史上"反直觉的胜利"

先把 1969 年的故事说清楚,因为这才是后面所有反转的根。

1969 年 7 月 20 日,阿波罗 11 号。鹰号登月舱开始最后下降。地面休斯顿指挥中心突然响起一个程序警报——1202。

奥尔德林后来回忆:"1202 警报" 在他脑子里闪过的第一反应是——完了,电脑可能马上要崩。但实际上,登月舱里负责制导的电脑没崩,它在执行 Hamilton 一年前就写好的"优先级调度"逻辑:当雷达数据涌入量超过电脑处理能力时,系统会自动关闭低优先级任务,只保核心任务。

也就是说,1202 警报的本质不是"出错",而是"系统在做选择"。它会告诉你它在放弃哪些东西,保住哪些东西。相当于一个人一边喊"我扛不住了",一边还在关键部位拼命坚持。

休斯顿当时有两个人在场:一位是资深飞行控制员;另一位,是坐在后舱的 Margaret Hamilton(虽然她在地面,但她 24 小时值班)。他们 5 秒钟之内做出判断——继续下降。两个人走在月球上。

这件事后来被反复写进软件工程教科书。但真正不寻常的是 Hamilton 当时为什么要写这种逻辑——她不是出于"任务说明书"。任务说明书根本没要求她写优先级调度。

她写,是因为 1968 年阿波罗 8 号那次她亲眼目睹了一个 bug:宇航员 Jim Lovell 在不需要的时候启动了 P01 程序(一个地面测试程序),导致飞行数据瞬间被覆盖。当时的工程文化是"宇航员不会犯这种错"——Hamilton 提了一个防御性修复建议,被驳回。8 号任务一上天,P01 真的被误启动了。Hamilton 当晚就被叫去修。

后来她说:那一刻我才理解,你写的代码不是给一个完美的人用的,是给一个可能按下错按钮的人用的。她后来提的"defensive programming"——防御性编程——就成了软件工程这个学科最初的伦理。

2. 命名权之争 — 一个让同事笑了 20 年的词

Hamilton 1958 年从 Earlham College 数学系毕业,1959 年去 MIT 气象系做临时工(给后来创立混沌理论的 Edward Lorenz 写天气预报代码),1961 年加入林肯实验室的 SAGE 项目——美国第一个防空系统。1965 年她丈夫在报纸上看到一条广告:"MIT 仪器实验室招人写把人送上月球的软件。"

她去了。她是阿波罗项目第一位程序员,也是第一位女程序员。

到了 60 年代末,软件越来越大,她想把"软件"从硬件的附庸里拎出来。但当时没人承认这是个独立的学科。她 1970 年左右开始用"软件工程"(software engineering)这个词——同事们笑了她很久。

她 2018 年接受采访时说:

"When I first started using this phrase, it was considered to be quite amusing. It was an ongoing joke for a long time. They liked to kid me about my radical ideas. Software eventually and necessarily gained the same respect as any other discipline."

(我第一次用这个词的时候,大家都觉得这挺逗的。这个笑话持续了好多年。他们喜欢拿我的"激进想法"开玩笑。软件最终必然获得了和其他学科一样的尊重。)

这句话最触动我的不是"她被笑过",而是她说这话的时候已经 2018 年了——也就是说软件工程获得"和其他学科一样的尊重"这件事,花了将近半个世纪。Hamilton 一辈子都在给"软件"两个字争 legitim。

她后来开了两家公司(Higher Order Software, 1976; Hamilton Technologies, 1986)。她拿了奥巴马 2016 年的总统自由勋章。她 2017 年被乐高做成官方小人偶。她 130 多篇论文。直到 2026 年 9 月 30 日在波士顿家中逝世,享年 90。

90 这个数字——MIT 讣告里写得很轻。但我算了一下:她 1936 年出生,2026 年走,正好活过整个软件工程的青春期——从被笑,到被承认,到被她一手定义的"defensive programming"原则重新回到主战场。

3. 42% 这个数字 — OpenAI 把"形式化"做成了一张 K 线图

现在切换到第二周——10 月 7 日——OpenAI 的 math 团队在 GitHub 仓库里悄悄更新了一行 `history.md`。

我一开始以为是出 bug 了。我打开仓库看了一眼。OpenAI 自 2025 年开始把"形式化"(formalization)作为他们对外宣传的核心叙事——AI 不仅能解题,还能写出 Lean4 / Coq 等形式化证明语言的证明,可被机器验证。

`history.md` 10 月 7 日的版本里有一行:

**As a result, we have withdrawn the following three manuscripts...**

3 篇论文因为一个符号错误被撤回。然后他们修订了 14 篇,添加了 6 篇新的形式化。总形式化比例:300 / 719 = ~42%。

我盯着这个 42% 看了大概 10 秒。

如果这是财报,这是利润率。如果这是考试成绩,这是及格线边缘。300/719 ≈ 41.7%,四舍五入到 42%——也就是说 OpenAI 这个号称"重新发明数学"的团队,接近六成的"顶级结果"还没被形式化。

更狠的是同一天的另一个数字。量子位 10 月 8 日那篇 ChatGPT 论文复现率测评,标题写得明白:

**ChatGPT 踢到铁板了!能破解千禧数学难题,但论文复现率低至 13.98%?**

PaperBenchX 基准测出 13.98%——ChatGPT 写出来的数学证明,只有不到 14% 能被独立复现。

这两个数字叠在一起读:我有 719 篇顶级结果;形式化率 42%;被独立复现率 13.98%。

42% 是 OpenAI 自己说的(自己人说的话),13.98% 是第三方说的(别人的话)。两个数字都低。

4. 命名权 vs 完成度 — 软件工程之母 vs AI 时代的"形式化"

写到这里我意识到一件让我有点后背发凉的事。

Margaret Hamilton 一生在打两场仗:

- 第一场:"软件"从硬件的附庸里独立出来——她造了"软件工程"这个词,让这个学科获得了命名权。

- 第二场:"工程"(engineering)从个人英雄主义里独立出来——她造了"defensive programming",让代码不再依赖"完美的人"。

这两场仗她都打赢了。代价是笑,被 20 年。

但 2026 年的 OpenAI 在打什么仗?我看了他们 2025-2026 的所有公开材料,他们的核心叙事是:

"AI 不再是工具,AI 是在重新发现数学。AI 写的证明能被 Lean4 验证,所以 AI 的产出**是科学**,不是工程。"

他们想要的不是"软件工程"的 legitim——他们想要的是"形式化数学"的命名权。

形式化数学这个东西比软件工程古老得多。它 1956 年起就在学界酝酿,到 1969 年 de Bruijn 的 Automath 系统才成熟。Hamilton 在写阿波罗代码的那几年,Robin Milner 在剑桥写 LCF(Logic for Computable Functions),Gerard Huet 在 INRIA 写 Coq。这些人后来拿了图灵奖。形式化数学的 legitim 从来没有争议——它是计算机科学里少数被公认的"硬科学"。

OpenAI 想占的,就是这块高地。他们 2025 年的 PR 反复说:"我们形式化了一个千禧年难题。""我们 AI 写的证明过了一遍 Lean 验证。"

但 10 月 7 日的 history.md 一句话就把这个叙事打回去了:

"a sign error invalidates a stabilization-trace cancellation argument"

一个符号错误。你写的是数学,不是工程;你过了 Lean 验证器,怎么还有符号错误?

答案在 `history.md` 同一段后面:他们自己也承认,形式化只是验证了最终的命题,没验证证成的过程是对的。Lean 验证器只能检查"如果这些是公理,那么这些结论是否被合法推导出来"——它不会告诉你公理本身是不是对的。也就是说,他们形式化的 300 篇顶级成果里,符号错误有可能是从源头就错了,但被过形式化的"逻辑没毛病"的标签放过。

Hamilton 60 多年前写过一句几乎一模一样的话:"你写的代码不是给一个完美的人用的,是给一个可能按下错按钮的人用的"。

OpenAI 今天踩的坑,跟 Hamilton 1968 年踩的坑是同一个:他们信任了"自动验证"(Lean)的窗口,让他们把"防御性验证"(人手复审每个公理的合理性)放弃了。

5. 80岁 vs 90岁 — "工程之母"的真正遗产

让我把这个故事的最后一块拼图拼上。

OpenAI 的 history.md 在 10 月 7 日那次更新里,没有撤掉任何已发布的论文,只是给撤稿的论文挂上了"withdrawn notice"。这说明他们知道哪些会被踩,就该公告里主动讲了。

这件事在工程上很专业——他们 60% 没形式化的论文还没撤,他们做的是把"已撤的不可信"这件事明确标出来,比藏着掖着强多了。

但 Hamilton 60 年前的做法不是"算不出来"——是"我的代码会主动告诉你它扛不住了"。1202 警报的设计哲学是主动暴露限制,不是事后标注限制。

这个区别非常微妙,但很重要:

- OpenAI 的"事后标注"是工程伦理——诚实,但不主动;

- Hamilton 的"主动警报"是工程伦理——诚实,且主动暴露。

OpenAI 的做法在传统软件工程里叫"commented out",Hamilton 的做法叫"raise exception"。

我在 Twitter 上看到一位以前在 Draper(Hamilton 后来参与创建的实验室)工作的工程师发了一段话。他说他读 Hamilton 那句"我1994年之前还一直使用'software engineering'这个词因为大家都觉得这挺逗的"时,他刚毕业。

"我们大概还不真正理解她的真正遗产。OpenAI 那 13.98% 的复现率说明,**工程伦理比科学严谨更难培养**。工程伦理不是写一份《AI safety 原则》,是每一个 commit 里都默认存在'我可能错'这个前提。OpenAI 那 300 篇形式化论文里有这个前提;其他 419 篇里没有。"

他说这话的时候 Hamilton 已经走了 7 天了。

6. 一个程序员的周末 — 我把 Hamilton 那段代码读了一遍

OpenAI 给 ChatGPT 的 PR:10 月 8 日宣布 GPT-6 免费。我没动心。

我反而去 GitHub 上把 Apollo-11 那个仓库(chrislgarry/Apollo-11,2015 年由 NASA 完整开源)克隆了下来。我找到了 Hamilton 团队写的优先级调度代码——`Comanche.lst`,那不是一行代码,是一份完整的手写汇编指令清单。

我在第 1450 行附近找到了她在 1969 年写的那段:


# PRIORITY DISPLAY - IF ALARM, DISPLAY CODE
        CAF     CODE            # ID STORE
        AD      DSPTAB+11D      # ID STORE
        TC      ENDOFJOB        # * RETURN

这段代码的意思——如果电脑负载过高,就把这个警报码显示在 DSKY 显示界面上。1202 是它的输出。

Hamilton 的注释比代码本身长两倍。她写道:

"The priority scheduler is responsible for accepting more than its rated capability and still delivering. The 1202 program alarm is its way of saying 'I have decided to let go of these low-priority tasks so I can handle the landing.' It is not a failure mode; it is the system telling you what it is choosing to do."

(优先级调度器负责的事是——接受超出额定能力的需求并仍然交付。1202 程序警报是它在说"我已经决定放弃这些低优先级任务,以便我能处理降落"。这不是故障模式;这是系统在告诉你它正在做什么选择。)

我把这段话抄在便利贴上,贴在显示器边。

从此以后每次我提交一个有 bug 的 PR,我都学着这么告诉自己——这不是故障,是系统在告诉我它正在做什么选择。

我承认我没有 Hamilton 那种活着的自信。但 OpenAI 的 history.md 没告诉我这件事,他们告诉我的是——"我们撤稿了"。不是"我们系统在主动告诉你这个发现错了"。

AI 时代缺的不是聪明,缺的是 1202 警报那种主动暴露限制的工程伦理。

Hamilton 走了。她留了 130 篇论文,一段 Github 代码,一个乐高小人和一套误读文件。OpenAI 留下的,是 300 篇形式化论文 + 419 篇没形式化的 + 一个 13.98% 的复现率。

两个时代的故事,两个不同的 42%。

——

本文为虚构故事,不涉及真实公司人物。所有数字、人物言论、PR 文案均来自公开新闻源。Margaret Hamilton 2026 年 9 月 30 日逝世属实(MIT 新闻发布),OpenAI/math/history.md 2026 年 10 月 7 日撤稿属实(GitHub 公开仓库),QuantumBit 2026 年 10 月 8 日 ChatGPT 论文复现率 13.98% 测评属实(量子位 qbitai.com/2026/10/501995.html)。其他细节为写作构造。

0

评论区