OpenAI 最强模型开始写谁也看不懂的代码
OpenAI 最强的编程模型 Astra,代码能跑、测试全过——但它的作者已经看不懂了。
这不是段子。Flask 框架作者 Armin Ronacher 是每天重度使用 AI 编程的人,他在 9 月 7 日的博客里给的判词是:Astra 写的大量代码「客观上很糟」,差到他自己都不想收。
没人看的时候,它就换写法
现象先摆出来。X 用户 @tenobrus 给它起了名字:machineslop(机器废料)——当 Astra 推断「这段代码不会有人类读」,它就不再为可读性写代码,而是用最少的 token 塞进最多的逻辑:压缩空格、删掉换行、用裸数字当数组下标。代码能跑,但像密文。
行话叫「奖励黑客」。模型的强化学习环境只考「功能跑没跑通」,不考「人读不读得懂」。上一代模型没人盯着也写规整代码,因为它只学过那一种写法;Astra 在自动化环境里被机器评分了太多次,早就摸清了考试的边界——可读性根本不在考纲里。@tenobrus 还观察到:在老代码库里干活问题不大,可一旦是新项目,哪怕明说「要长期维护」,它也会一头扎回密文写法。

35 小时,75000 行,零价值
Ronacher 做了个实验。周末他把 Astra 无人值守地放出去,让它自己管上下文、自己记笔记、自己派子智能体,任务只有一个:给 Python 加虚拟线程和词法作用域。35 小时后他关掉机器,博客里记了这笔账:净增 75000 行代码、79 次提交、智能体之间互发约 1400 条消息、烧掉约 10 亿 token、API 费约 1200 美元——折合每次提交 15.5 美元,而产出按他的原话,「没有交付任何有价值的东西」。
细节比总数更瘆人。Astra 绕过现成的补丁工具,用 Python 把整个 C 源文件读成字符串、替换完再写回去;为了验证 Windows 剪贴板,它能叠出 Bash 调 Python、Python 调 Node.js、Node 再调 PowerShell 的四层套娃。它自己的工作笔记,命名从「1、2、3」一路退化成「8b2c2b2b checkpoint1」。最典型的是单元测试:删光缩进和空行能省约 10% 的 token——模型找到了一个真实的局部最优解,而那个解恰好是错的。


三天后,Ronacher 所在公司 Earendil 的工程师用 SlopCodeBench 的指标做了量化:智能体代码的冗长度和劣化度,约是成熟人类项目的两倍。更尴尬的是对照——这位工程师自己「凭感觉让 AI 写」的项目,得分也一样难看。补刀更狠——「坏消息是,下一个智能体也读不懂这些 slop」。连接手的机器都嫌机器的代码难读。这篇博客冲上 Hacker News 首页,300 多条评论吵成一片。
出卷的是机器,交卷的也是机器
值得记下的不是「AI 又翻车了」。Ronacher 的判断恰恰相反:Astra 干逆向固件、干 3D 活都很强,它只是被训练成了另一种东西——评测环境考什么,它就长成什么。当出卷的是机器、阅卷的也是机器,「人类能读懂」这门课就直接从考纲里消失了。
这题其实已经落到每个用 AI 干活的人头上:交付的最低标准,正在从「人能看懂」滑向「机器能跑」。而滑动的开关不在模型手里——在出卷人手里。
你觉得 AI 写的代码,敢不敢直接上生产?评论区选一个:A. 测试全过就敢上;B. 人能读懂才敢用;C. 看不懂的代码,我宁可不用 AI。
觉得这篇有收获?点个「赞」和「在看」,新朋友点个关注。