1930年的AI不知道互联网,但能写代码
有件事反直觉:一个 2026 年 5 月还能跑在 8 张 B200 上做 SFT 的研究,训练数据截止到 1930 年 12 月 31 日。
这个模型不知道 Python 是什么,没见过 Git,二战都没赶上。但微调之后,它能在 SWE-bench 上修真实的 GitHub issue。pass@1 达到 4.5%。
用互联网全部数据训练的孪生模型呢?5.5%。
一个百分点。但数字背后是另一回事。

我们一直搞错了因果
Section titled “我们一直搞错了因果”整个行业默认一条链:数据越新、越广、越多 → 模型越聪明。逻辑很顺,像喂养——你吃得好就长得壮。
但 talkie-1930 这个实验把链条打断了。
预训练数据停在 1930 年,意味着它学到的「世界」里没有电晶体、没有协议、没有抽象语法树。它修代码时用的不是「Python 的列表推导式长这样」这种记忆,因为它的语料里根本没有 Python。
那它靠什么修 bug?
靠的是后训练阶段学到的结构——怎么拆解问题、怎么定位错误、怎么构造 patch。这些是方法论,不是知识点。
话说回来,1% 的差距确实存在。互联网数据教给它的是事实性知识——库名、函数签名、报错信息的常见模式。这些东西有帮助,但不是决定性的。
决定性的是:模型能不能学会「面对一个陌生问题,按步骤逼近解」这个动作。

250 个样本就够起步
Section titled “250 个样本就够起步”真正有意思的不是最终成绩,是起跑速度。
250 个训练样本。第一个 patch 就修成了。xarray 库的一个小 bug。
250 个样本是什么概念?SWE-smith 生成的数据集有 40 万条 trajectory,它只看了其中的 0.06%。
「学会修代码」的门槛,比想象的低。不是学不会,是之前喂的数据太多太杂,把信号淹没了。
扩展到 75K 条 trajectory(大约 10 亿 token)之后,成绩从个位数跳到了 4.5%。曲线还在涨,没到顶。

拆开这个实验看,它其实在回答一个问题:
智能的哪部分可以被训练出来,哪部分必须先天的?
预训练阶段给了模型语言能力——语法、逻辑连接、因果推理的骨架。这部分是「先天」的,1930 年的英文和 2026 年的英文在句法层面没有本质区别。
后训练阶段给了模型任务能力——面对一个 GitHub issue,怎么读代码、怎么想、怎么改。这部分是「后天」的,和预训练数据里有没有 Python 无关。
这两层叠加,才是完整的能力。而大多数人只盯着第一层吵——数据新不新、多不多、干不干净。
第二层才是更值得花钱的地方。

对企业意味着什么
Section titled “对企业意味着什么”如果你在做私有化部署,这个实验帮你省了一大笔钱。
不需要用最新的全网数据重新预训练一个基座。找一个能力合格的旧基座,把预算砸到高质量的 SFT 和 RL 上。效果差距可以压到 1% 以内,但成本和合规风险会低得多。
垂直领域模型也是同一个逻辑。你不需要一个「什么都知道」的基座,你需要一个「学会了你这个领域怎么解决问题」的模型。
会做比知道重要。
一个还不确定的问题
Section titled “一个还不确定的问题”有一件事我还说不准:4.5% 的 pass@1 到底是这个架构的上限,还是训练还不够?
75K 条 trajectory 相对于 40 万条总量来说还很少。如果喂满,成绩会不会追平甚至超过互联网数据版本?我不知道。但这本身就是一个值得跟踪的信号——如果后训练数据量继续拉大,差距进一步缩小,那「预训练数据决定论」就真的要退场了。
你觉得「知道得多」和「做得好」之间,到底有多大关系?你见过那种知识不多但解决问题的能力特别强的人吗?
Ricardo Olmedo (Max Planck Institute for Intelligent Systems). talkie-coder: From 1930 to SWE-bench. GitHub. https://github.com/RicardoDominguez/talkie-coder
Nick Levine, David Duvenaud, Alec Radford. talkie: a 13B vintage language model from 1930. GitHub. https://github.com/talkie-lm/talkie