# 第 1 章 从写规则到学规则：AI 的七十年

> 本章问题：机器是怎样学会的？大语言模型从哪里来？
> 来源：https://llm.weiborao.link/#ch1

**上一章留下的问题：**没有人把解题规则写进它的程序里，那它的能力从哪里来？机器是怎样从“被告诉规则”走到“自己学规则”的？

让机器变聪明，只有两条路：要么由人把规则告诉它，要么让它自己从例子里找出规则。人工智能七十年的历史，几乎就是第二条路一步步赢过第一条路的历史。本章沿着这条主线走一遍，走到 ChatGPT 诞生的那一刻，再往前看一步。

### 1.1 教机器认一只猫

假设你要写一个程序，判断一张照片里有没有猫。最直接的办法是写规则。

问：猫有什么特征？

答：四条腿、有尾巴、有胡须、尖耳朵、毛茸茸。

问：狗也是四条腿、有尾巴、有胡须。那怎么区分？

答：加一条：猫的脸比较圆，鼻子比较短。

问：如果照片里的猫蜷成一团，看不到腿呢？只露出半个脑袋呢？是一只无毛猫呢？

答：……那就再加规则。可是规则会越加越多，永远加不完。

问：你三岁的时候，是怎么学会认猫的？

答：没人给我讲过规则。大人指着猫说了很多次“这是猫”，我看多了，自己就会了。

最后一个回答，就是机器学习的全部思想。我们不再告诉机器“猫是什么样的”，而是给它看大量标好了“是猫/不是猫”的照片，让它自己调整内部的判断方式，直到猜得越来越准。

> 【图示】两种让机器变聪明的办法。传统编程：人写规则，规则加数据，程序算出答案。机器学习：给出数据和答案，学习算法反过来算出规则，规则以参数的形式存下来。

**图 1-1** 两种范式的输入和输出正好倒过来。传统编程里，规则是输入；机器学习里，规则是输出，并且以一大堆数字（参数）的形式存下来，人往往读不懂。

类比：

传统编程像给新厨师一本**菜谱**：每一步写清楚，照做就行，但菜谱上没有的菜他就不会。机器学习像让学徒**尝一万道菜**，每次告诉他“好吃”或“难吃”，他自己慢慢摸索出火候和咸淡。学徒学到的东西写不成菜谱，但他能做出菜谱上没有的菜。

##### 机器学习是

- 从大量例子里自动调整内部参数，让预测越来越准
- 一种“把规则当输出”的编程方式

##### 机器学习不是

- 机器有了自我意识，自己想学什么就学什么
- 不需要人：数据、目标、评判标准仍由人来定

### 1.2 七十年的一条主线

“人工智能”这个词出现在 1955 年 8 月的一份研究提案里。提案人 McCarthy、Minsky、Rochester 和 Shannon 计划第二年夏天在达特茅斯学院用两个月时间研究“让机器使用语言、形成抽象和概念”。他们低估了难度，这个问题后来花了将近七十年。

> 【图示】AI 七十年时间线：1955 年提出人工智能，1958 年感知机，1969 年研究转冷，1986 年反向传播，1997 年深蓝，2012 年 AlexNet，2016 年 AlphaGo，2017 年 Transformer，2018 年 GPT-1 和 BERT，2020 年 GPT-3，2022 年 ChatGPT，2024 年推理模型 o1，2025 年编程 Agent 与奥赛金牌线，2026 年新一代模型。

**图 1-2** AI 的七十年，按主导方法分成四个时代。颜色从灰到品红，越往后，“从数据里学”的成分越重、规模越大。2017 年之后的事件密度明显变高。

这条时间线上有三个转折点值得停下来看。

**第一个转折：神经网络能训练了（1986）。**早在 1958 年，Rosenblatt 就做出了“感知机”，一个能从例子里学习的人工神经元。可是单层的感知机能力有限，1969 年 Minsky 和 Papert 的《感知机》一书分析了它的局限，常被看作神经网络研究转冷的原因之一。直到 1986 年，Rumelhart、Hinton 和 Williams 在《自然》上发表了反向传播算法，多层网络才有了一个可行的训练方法。第 2 章会讲这个算法在做什么。

**第二个转折：数据和显卡到位了（2012）。**反向传播有了，但当时的数据太少、计算机太慢，神经网络一直打不过其他方法。2012 年，一个叫 AlexNet 的网络参加 ImageNet 图像识别比赛，前五名错误率 15.3%，第二名是 26.2%。它的训练用了**两块 GTX 580 游戏显卡**，花了五六天。从这一年开始，“神经网络 + 大数据 + 显卡”成了主流。

**第三个转折：Transformer（2017）。**2017 年 6 月，Google 的八位研究者发表论文《Attention Is All You Need》，提出 Transformer 架构。它原本是为机器翻译设计的，最大的模型在一台装 8 块 P100 显卡的机器上训练了 3.5 天。今天几乎所有大语言模型，GPT、Claude、Gemini、Llama、DeepSeek，都是它的后代。第 4 章会拆开它。

**停一下：AlexNet 为什么偏偏用游戏显卡来训练，而不是用更贵的服务器 CPU？**

**参考答案：**

因为训练神经网络的计算几乎全是大量的乘法和加法，而且彼此独立，可以同时算。游戏显卡本来就是为“同时给几百万个像素算颜色”设计的，恰好擅长这种活。这件事在第 9 章会变成主角：为什么 AI 需要 GPU，而且需要上万块。

### 1.3 苦涩的教训

1997 年，IBM 的深蓝战胜了国际象棋世界冠军卡斯帕罗夫。深蓝依靠专用硬件做大规模的棋局搜索，评判局面好坏的规则则由人来设计。十九年后，AlphaGo 在围棋上以 4:1 战胜李世石，它的能力主要来自从棋局中学习，再配合搜索，而不是人写的围棋规则。

强化学习的奠基人之一 Richard Sutton 在 2019 年写了一篇短文，叫《苦涩的教训》（The Bitter Lesson）。他总结了七十年 AI 研究：

> 七十年 AI 研究能得出的最大教训是：利用计算的通用方法最终是最有效的，而且优势巨大。……能随计算无限扩展的方法似乎只有两种：搜索和学习。
>
> —— Richard Sutton，《The Bitter Lesson》，2019 年 3 月

为什么“苦涩”？因为研究者一次次把自己的专业知识精心地编进系统，短期内确实有效；可是一旦计算力涨上来，那些不依赖人类知识、只靠“学”和“搜”的笨办法总会反超。人类的知识写不了太多，算力却每隔几年就翻好几倍。

### 1.4 从 GPT-1 到 ChatGPT：把同一件事做大

Transformer 出现后的第二年，OpenAI 发布了 GPT-1（2018 年 6 月）。它的思路是：先让模型在海量文本上做一件简单的事——**读一段文字，猜下一个词**——这叫“预训练”；再用少量标注数据针对具体任务微调。同年 10 月，Google 发布了 BERT，走的是相近的“先预训练”路线。

此后几年，OpenAI 做的事情说起来很单调：同样的结构，同样的任务，把模型做大，把数据加多。

> 【图示】公开模型参数量的增长（对数刻度）：GPT-1 约 1.1 亿，GPT-2 15 亿，GPT-3 1750 亿，Llama 3.1 405B 4050 亿，DeepSeek-V3 总参数 6710 亿。六年增长约 6000 倍。

**图 1-3** 公开参数量的模型，横轴每一格是 10 倍。从 GPT-1 到 DeepSeek-V3，六年大约涨了 6000 倍。DeepSeek-V3 用的是“混合专家”结构，每个 Token 只激活 6710 亿参数中的 370 亿，第 9 章还会提到它。

规模涨上去之后，出现了一件谁也没完全预料到的事。2020 年 5 月发布的 GPT-3 有 1750 亿参数，训练用了 3000 亿个 Token。人们发现，**不用重新训练**，只要在提问时给它看几个例子，它就能学会一个新任务，比如：

在提示里给三个例子，模型自己接上第四个苹果→apple 香蕉→banana 葡萄→grape 草莓→strawberry

这叫“上下文学习”（in-context learning）。模型在训练时从没被要求做“中译英”，但它读过的文字里有足够多这样的模式，它学会了“看到这种格式就接着这种格式往下写”。

可是 GPT-3 还不太听话。你问它一个问题，它可能接着写出五个类似的问题，因为在它读过的网页里，问题后面常常跟着更多问题。2022 年 3 月，OpenAI 发表 InstructGPT：用人写的示范和人对回答的打分去微调模型。结果，一个 13 亿参数的 InstructGPT，回答比 1750 亿参数的 GPT-3 更受人喜欢——小了一百多倍，却更好用。第 5 章会讲清楚其中的道理。

2022 年 11 月 30 日，OpenAI 把这套方法用在对话上，发布了 ChatGPT。OpenAI 的发布文章说，ChatGPT 与 InstructGPT 是“兄弟模型”，用的是同样的人类反馈强化学习方法。到 2026 年 10 月，OpenAI 公布的数字是每周超过 12 亿人使用 ChatGPT。

表 1-1 通向 ChatGPT 的几块关键积木

| 年份 | 事件 | 它解决了什么 |
| --- | --- | --- |
| 1986 | 反向传播 | 多层神经网络有了训练方法 |
| 2012 | AlexNet | 证明“大数据 + GPU + 深层网络”能碾压旧方法 |
| 2017 | Transformer | 一种能高效并行、能处理长文本的网络结构 |
| 2018 | GPT-1、BERT | 先在海量无标注文本上预训练，再迁移到具体任务 |
| 2020 | 缩放定律、GPT-3 | 发现“做大”有规律可循；大模型能从几个例子里学新任务 |
| 2022 | InstructGPT、ChatGPT | 让模型听懂指令、按人喜欢的方式回答 |
| 2024–2026 | 推理模型、Agent | 先想再答；不只会说，还会调用工具去做（第 5、8 章） |

### 1.5 2024 年之后：会想，会做

ChatGPT 之后，主线仍然是“学”，但学的东西变了。2024 年 9 月，OpenAI 发布 o1，称它会在回答前“花更多时间思考”。2025 年 1 月，DeepSeek 发布 R1，论文的结论是：推理能力可以单靠强化学习激发出来，不需要人工写好的推理过程。半年后，就出现了序章里那块奥赛金牌。

与此同时，模型开始从“说”走向“做”。2025 年 2 月，Anthropic 推出 Claude Code，让模型在程序员的终端里读代码、改文件、跑测试；同年 4、5 月，OpenAI 先后推出开源的 Codex CLI 和云端的 Codex。到 2026 年，Meta 的超级智能实验室发布了 Muse Spark 系列模型和终端编程助手 Muse Code，各家的新模型几乎每隔几周就更新一次。这是第 8 章的主题。

不是人把规则教给机器，  
而是机器从数据里*把规则调出来*。

##### 本章带走

AI 七十年的主线：从“人写规则”转向“机器从数据里学规则”，而“学”的效果随着数据和算力一起增长。

- 三个转折：1986 反向传播让神经网络能训练；2012 AlexNet 证明数据 + GPU 有效；2017 Transformer 提供了能做大的结构。
- Sutton 的“苦涩的教训”：利用计算的通用方法（学习与搜索）最终胜出。
- GPT 系列只做一件事——猜下一个词——然后不断做大；再加上指令微调，就有了 ChatGPT。

**于是，下一个问题**：我们一直在说机器“学”。可是“学”在机器里到底是什么动作？它从数据里调出来的“规则”存在哪里，长什么样？
