Appearance
Part 2: AI 编程简史与核心概念 (35-40 min)
核心思路:沿着时间线,每引入一个里程碑就解释相关概念,并回答「为什么这个概念对开发者重要」
2.1 2020.5: GPT-3 发布 — 大语言模型是什么?
2020 年 5 月,OpenAI 发布论文《Language Models are Few-Shot Learners》[1],介绍了 GPT-3 模型。这个模型有 1750 亿个参数(parameters),是当时最大非稀疏语言模型的 10 倍、前代 GPT-2 的 100 多倍。同年 6 月,OpenAI 开放了 API 申请 [2]。
这篇论文的核心发现是:把语言模型做大之后,它能在几乎不需要额外训练的情况下完成各种任务——翻译、问答、推理都行。这就是所谓的「少样本学习」(Few-shot Learning)。
从这里开始,我们说的「AI 编程」,更准确的说法其实是「大语言模型辅助编程」。
text
┌─────────────────────────────────────────────────────────────────────┐
│ 2020: GPT-3 — 最原始的形态 │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────┐ ┌─────────────────┐ ┌──────────┐ │
│ │ Prompt │ ───▶ │ GPT-3 │ ───▶ │ Response │ │
│ │ (输入) │ │ (175B 参数) │ │ (输出) │ │
│ └──────────┘ └─────────────────┘ └──────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────┐ │
│ │ 训练数据 (截止日期) │ │
│ │ 知识固定,无法更新 │ │
│ └─────────────────────┘ │
│ │
│ ❌ 无状态(每次请求独立) ❌ 无记忆(不记得上一轮对话) │
│ ❌ 无网络(不能上网查资料) ❌ 无工具(不能调用外部功能) │
│ ❌ 纯文字(不能处理图片) ❌ 单次交互(没有多轮对话 UI) │
│ │
└─────────────────────────────────────────────────────────────────────┘| 概念 | 英文 | 解释 | 为什么重要 |
|---|---|---|---|
| 大语言模型 | Large Language Model (LLM)[1:1] | 不是「人工智能」,是一种特定的模型架构 | 正确定位期望值 |
| 词元 | Token[3] | 模型的计费单位、理解单位 | 理解成本和限制 |
| 概率预测 | Next-Token Prediction[4] | 本质是预测下一个词 | 理解为什么会「胡说八道」 |
| 上下文窗口 | Context Window[5] | 模型一次能「看到」的文字量上限,包含提问和回复 | 理解为什么会遗忘 |
| 无状态 | Stateless[6] | 每次请求都是全新开始,模型不「记得」你 | 不要期待它学习你的偏好 |
| 知识截止 | Knowledge Cutoff[7] | 训练完成后,知识就固定了 | 理解为什么不知道最新消息 |
| 训练成本 | Training Cost[8] | GPT-3 训练一次据估算约 460 万美元 | 理解为什么不能随便更新 |
| 按量计费 | Pay-per-Token[9] | 输入输出都按 token 计费,每次提问都重发历史 | 理解成本结构 |
2.1.1 GPT-3 的使用方式
当时没有对话框,只有「文本补全」——你给开头,它预测后文:
text
输入(Prompt):
The capital of France is
输出(Completion):
Paris. Paris is the largest city in France and serves as the country's political, economic, and cultural center...或者用于代码补全:
text
输入(Prompt):
// Function to calculate factorial
function factorial(n) {
输出(Completion):
if (n <= 1) return 1;
return n * factorial(n - 1);
}ChatGPT(2022 年 11 月)才把这种能力包装成「对话」形式。
顺便一提,GPT-3 的 context window 只有 2K tokens——大概只能装 1500 个英文单词,聊个五六轮就满了。难怪当时 LLM 特别容易「失忆」。
2.1.2 Token 的体感
- 100-300 tokens ≈ 一个普通函数
- 400-500 tokens ≈ 一首《春江花月夜》(252 字)
- 1K tokens ≈ 750 个英文单词 ≈ 500 个中文字
- 1K-5K tokens ≈ 一个完整文件
- 200K tokens ≈ Claude 3 的 context 上限 ≈ 一本《读库》
- 3.8 亿 tokens ≈ 我上个月在 Claude Code 的用量


对比可见:中文每字约 1.4 tokens,英文每词约 1.2 tokens。同样篇幅的内容,中文比英文多消耗约 10-20% 的 token。
2.1.3 Token 计费
各家模型价格对比(2025 年 12 月):
| 厂商 | 模型 | 输入 | 输出 |
|---|---|---|---|
| OpenAI[10] | GPT-5 | $1.25 | $10 |
| GPT-5 mini | $0.25 | $2 | |
| GPT-5 nano | $0.05 | $0.40 | |
| GPT-5 pro | $15 | $120 | |
| Anthropic[11] | Claude Sonnet 4.5 | $3 | $15 |
| Claude Haiku 4.5 | $1 | $5 | |
| Claude Opus 4.5 | $5 | $25 | |
| DeepSeek[12] | V3 | $0.28 | $0.42 |
| 阿里云[13] | qwen-max | ¥24 (~$3.3) | ¥96 (~$13) |
| qwen-plus | ¥8 (~$1.1) | ¥20 (~$2.8) |
(单位:$/百万 tokens,人民币按 $1 ≈ ¥7.2 换算)
2.2 2021.6: GitHub Copilot — 代码补全时代
2021 年 6 月 29 日,GitHub 发布了 Copilot 技术预览版 [14]。两个月后的 8 月 10 日,OpenAI 正式发布了背后的模型——Codex [15]。这是 GPT-3 的代码特化版本,在 179GB 的 Python 代码上进行了微调,数据来自 5400 万个公开的 GitHub 仓库。
这是 LLM 辅助编程真正意义上的起点。从这里开始,开发者的工作方式发生了根本性的变化:从「搜索答案」到「生成答案」。
text
┌─────────────────────────────────────────────────────────────────────┐
│ 2021: GitHub Copilot — 首次嵌入开发者工作流 │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌─────────────────┐ ┌──────────────┐ │
│ │ IDE │ │ Codex │ │ 代码补全 │ │
│ │ (VSCode) │ ──▶ │ (GPT-3 微调) │ ──▶ │ (Tab 接受) │ │
│ │ 代码上下文 │ │ 12B 参数 │ │ │ │
│ │ + 注释 │ └─────────────────┘ └──────────────┘ │
│ └──────────────┘ │ │
│ │ ▼ │
│ │ ┌─────────────────────┐ │
│ │ │ 训练数据: 179GB 代码 │ │
│ │ │ 来自 5400 万 GitHub 仓库│ │
│ │ └─────────────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ 🆕 IDE 集成(不用离开编辑器) 🆕 代码特化(比 GPT-3 更懂代码)│ │
│ │ 🆕 Tab 补全(零摩擦交互) 🆕 上下文感知(读取当前文件) │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │
│ ❌ 仍然无状态 ❌ 仍然无记忆 ❌ 仍然无网络 ❌ 仍然无工具 │
│ ❌ 不能对话(只能补全) ❌ 不能跨文件理解项目结构 │
│ │
└─────────────────────────────────────────────────────────────────────┘以前遇到问题,你会去 Stack Overflow 搜索,复制粘贴,再改改。现在,你写一行注释,LLM 就能生成整段代码:
text
输入(注释):
// compute the moving average of an array for a given window size
输出(Copilot 生成):
function movingAverage(arr, windowSize) {
const result = [];
for (let i = 0; i <= arr.length - windowSize; i++) {
const window = arr.slice(i, i + windowSize);
const avg = window.reduce((a, b) => a + b) / windowSize;
result.push(avg);
}
return result;
}| 概念 | 英文 | 解释 | 为什么重要 |
|---|---|---|---|
| 代码补全 | Code Completion | 从「搜索答案」到「生成答案」 | 开发方式转变的起点 |
| 微调 | Fine-tuning [16] | 在通用模型基础上,用特定数据再训练 | 理解为什么 Codex 比 GPT-3 更擅长写代码 |
| 训练数据 | Training Data | Codex 训练于公开 GitHub 代码 | 理解版权争议和安全隐患的来源 |
微调的局限性:为什么大公司仍要从零训练?
微调虽然成本低、速度快,但有几个关键局限 [17]:
能力天花板:微调不能让模型学会基座模型不具备的能力,只能"激活"或"强化"已有能力。如果 GPT-3 对某个稀有语言一无所知,微调也无法"无中生有"。
灾难性遗忘(Catastrophic Forgetting):在特定领域微调可能导致模型"忘记"其他能力。比如一个法律微调模型可能变得不擅长写普通文章。
基座模型决定一切:微调后的模型质量 ≤ 基座模型质量。这就是为什么大公司都想做自己的基座模型——那是核心资产,微调谁都能做。
实际上,现代 LLM 是组合使用这些技术的:
text
预训练(从零)→ 基座模型 → 指令微调 → RLHF → 最终产品
↑ ↑ ↑
构建基础能力 让模型"听话" 对齐人类偏好Codex 就是这个模式的早期例子:GPT-3(基座)+ 代码微调 = Codex。
2.2.1 早期的生产力数据
GitHub 在 2022 年做了一个受控实验 [18]:95 名专业程序员被要求用 JavaScript 实现一个 HTTP 服务器,使用 Copilot 的那组完成速度快了 55.8%。此外,60-75% 的用户表示使用 Copilot 后「更少挫败感」「能专注于更有意义的工作」。
2.2.2 但也有问题
NYU 网络安全中心在 2021 年 8 月的研究发现 [19],Copilot 生成的代码中约 40% 存在安全漏洞,包括 SQL 注入、越界写入等。研究者的建议是:「Developers should remain vigilant」(开发者应保持警惕)。
2022 年 11 月,律师 Matthew Butterick 还发起了集体诉讼 [20],指控 Copilot 的训练数据侵犯了开源代码的版权。GitHub 内部研究承认,约 0.1% 的生成代码是训练数据的直接复制。
2.2.3 我的亲历视角:Copilot 元年
作者观点
以下是我个人使用 Copilot 的经历,不代表普遍情况。
我是 2021 年 6 月技术预览刚出来就申请了,用了半年试用期后开始付费,一直用到 Cursor 出来才切换,几个月前又切到 Claude Code。四年来从未间断。
当时的感受是「惊为天人」——写个注释就能生成一整段代码,Tab 键一按就补全了,比传统 IDE 的自动补全强太多。但现在回看,只剩一个念头:「我那个时候是怎么能忍受使用这么烂的模型的」。
这大概就是这几年 LLM 进步速度的最好注脚。
顺便一提,因为从 Copilot 时代入坑,我其实没有养成用「聊天式」模型来开发的习惯。我的工作流一直是 Tab 补全,而不是开个对话框问 LLM。这个习惯一直延续到现在。

2.3 2022.11: ChatGPT 爆发 — 对话式交互
2022 年 11 月 30 日,OpenAI 发布了 ChatGPT [21]。这不是一次技术上的跨越式突破——底层的 GPT-3.5 能力并没有比 GPT-3 强多少。真正改变的是交互形态:第一次,非技术人员可以直接用自然语言和 LLM 对话。
增长速度是史无前例的:5 天 100 万用户,2 个月 1 亿用户 [22]。作为对比,Netflix 花了 3.5 年才达到 100 万用户,Instagram 花了 2.5 个月。ChatGPT 成为历史上增长最快的消费级应用。
text
┌─────────────────────────────────────────────────────────────────────┐
│ 2022.11: ChatGPT — LLM 第一次「出圈」 │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌─────────────────┐ ┌──────────────┐ │
│ │ 用户输入 │ │ GPT-3.5 │ │ 对话回复 │ │
│ │ (自然语言) │ ──▶ │ + RLHF 微调 │ ──▶ │ (自然语言) │ │
│ └──────────────┘ └─────────────────┘ └──────────────┘ │
│ │ │
│ ▼ │
│ ┌───────────────────────┐ │
│ │ InstructGPT 技术基础 │ │
│ │ 人类反馈强化学习 (RLHF)│ │
│ └───────────────────────┘ │
│ │
│ 🆕 对话式界面(任何人都能用) 🆕 免费开放(不需要 API 申请) │
│ 🆕 多轮对话(能记住上文) 🆕 通用能力(写作/翻译/编程都行) │
│ │
│ ❌ 仍然无状态(关掉窗口就忘了) ❌ 幻觉严重(经常一本正经胡说八道) │
│ ❌ Context 只有 4K tokens ❌ 不能联网(知识截止到训练时) │
│ │
└─────────────────────────────────────────────────────────────────────┘2.3.1 对话式交互 vs 文本补全
对比 GPT-3 的「文本补全」和 ChatGPT 的「对话」:
text
【GPT-3 文本补全】
输入:Write a Python function to calculate fibonacci
输出:numbers. The fibonacci sequence is a series of numbers where
each number is the sum of the two preceding ones...
(它只是在「续写」,不是在「回答」)
【ChatGPT 对话】
用户:Write a Python function to calculate fibonacci
助手:Here's a Python function to calculate Fibonacci numbers:
def fibonacci(n):
if n <= 1:
return n
return fibonacci(n-1) + fibonacci(n-2)
This recursive implementation returns the nth Fibonacci number.
Would you like me to show you an iterative version as well?
(它理解你在「问问题」,给出结构化的回答,还会追问)这就是 RLHF 带来的改变:模型学会了「理解用户意图」而不只是「预测下一个词」。
2.3.2 为什么 ChatGPT 能「对话」?—— RLHF
ChatGPT 能像人一样对话,核心技术是 RLHF(Reinforcement Learning from Human Feedback,人类反馈强化学习)[23]。这项技术在 2022 年 3 月的 InstructGPT 论文中首次公开 [24]。
核心发现是:「把模型做大,不一定能更好地遵循用户意图」。13 亿参数的 InstructGPT 在人类评估中优于 1750 亿参数的 GPT-3——参数少了 100 多倍,但更「听话」。
text
RLHF 三步训练法:
第 1 步:监督微调 (SFT)
└─ 人类标注员写示范回答,教模型「好的回答长什么样」
第 2 步:训练奖励模型 (Reward Model)
└─ 人类对多个回答排序,训练一个模型来预测「人类喜欢哪个」
第 3 步:强化学习优化 (PPO)
└─ 用奖励模型的分数作为信号,优化生成策略简单说:GPT-3 学的是「预测下一个词」,而 ChatGPT 学的是「预测人类会喜欢的回答」。
| 概念 | 英文 | 解释 | 为什么重要 |
|---|---|---|---|
| RLHF | Reinforcement Learning from Human Feedback [23:1] | 用人类偏好训练模型 | ChatGPT 能「对话」的核心技术 |
| LLM 幻觉 | Hallucination [25] | 模型生成看似合理但实际错误的内容 | 永远要验证输出 |
| 上下文窗口 | Context Window | 模型一次能「看到」的文字量上限 | 理解为什么会遗忘、越聊越贵 |
2.3.3 LLM 幻觉:一本正经地胡说八道
ChatGPT 最大的问题是幻觉——它会非常自信地给出完全错误的答案,而且你问它「这是真的吗」,它还会坚称是真的。
最著名的案例是 2023 年 5 月的 Mata v. Avianca 案 [26]:纽约的一位律师用 ChatGPT 查找案例,结果提交了 6 个根本不存在的判例。他甚至问 ChatGPT「这些案例是真的吗」,ChatGPT 回答「是真的」。最终法官对律师和律所进行了制裁。
截至目前,已有超过 655 例 LLM 幻觉出现在法律文件中 [27]。其中律师提交的有 59 例,普通人自己打官司提交的有 62 例。美国法院已对 15 起案件处以罚款,平均罚款 $4,713。
2.3.4 为什么幻觉不可避免?
2025 年 9 月,OpenAI 发布了一篇论文《Why Language Models Hallucinate》[28][29],从数学上证明了:即使训练数据完美,幻觉仍然不可避免。
核心原因是:主流 LLM 评测标准(benchmark)奖励「猜测」而惩罚「承认不确定」。研究者检查了 10 个主流评测标准,发现其中 9 个使用二元评分——答对得分,说「我不知道」得零分。这导致模型被训练成「宁可猜错,也不说不知道」。
解决方案很简单:对自信的错误惩罚更重,对承认不确定给部分分。但这会严重影响用户体验——如果 ChatGPT 对 30% 的问题回答「我不知道」,用户很可能会弃用。
2.3.5 Context Window 的演进
也是从 ChatGPT 开始,「context 不够用」成了常见问题。早期 GPT-3.5 只有 4K tokens,聊几轮就满了。
| 模型 | 发布时间 | Context Window | 约等于 |
|---|---|---|---|
| GPT-3 | 2020.5 | 2K tokens | 1,500 英文单词 |
| GPT-3.5 (ChatGPT) | 2022.11 | 4K tokens | 3,000 英文单词 |
| GPT-4 | 2023.3 | 8K → 32K → 128K | 逐步扩展 |
| Claude 3 | 2024.3 | 200K tokens | 一本《读库》 |
| GPT-4o | 2024 | 128K tokens | — |
| Claude Sonnet 4 | 2025 | 最高 1M tokens | 75 万字 |
Context 越大越好吗?不一定。研究发现 context 越长,准确率会下降(可达 24.2%),这叫「Context Rot」。后面 Part 4 会详细讲。
2.3.6 行业震动:Google 的「红色警报」
ChatGPT 发布后,Google 内部宣布「Code Red」[30]。坐拥 91% 搜索市场份额的巨头,突然发现核心业务被一个聊天机器人威胁。
2023 年 2 月,Google 匆忙推出 Bard 应战。结果首次公开演示就出现幻觉——错误声称 James Webb 望远镜拍到了第一张系外行星照片。CEO Sundar Pichai 后来承认:「OpenAI 先我们一步。」
其实 Google 早在 2021 年就有 LaMDA(1370 亿参数,比 GPT-3 还大),但出于对虚假信息的担忧一直没公开。ChatGPT 的成功证明:有时候「先发布」比「完美」更重要。
2.3.7 我的亲历视角:ChatGPT 太蠢了
作者观点
以下是我个人使用 ChatGPT 早期版本的经历和感受。
说实话,ChatGPT 刚出来的时候我没有第一时间去用。过了一段时间才注册,OpenAI 账号的电话号码还是用的接码平台。
作为 Copilot 老用户,我当时的感受是:GPT-3.5 实在是太蠢了。幻觉非常严重,给的回复基本不可信。而且它又看不到我的代码、看不到我的项目上下文——不能看我其他 tab 的 LLM,我一直觉得没多大用。
所以那段时间,我主要还是把 ChatGPT 当作「搜索引擎的延伸」:问问某个 API 怎么用、让它解释一下报错信息、写写一次性的小脚本。真正的开发工作,还是靠 IDE 里的 Copilot Tab 补全。
有意思的是,我周围非技术背景的朋友,那时候几乎没人知道 ChatGPT。他们大多是等到 2025 年 DeepSeek 火了之后,才第一次接触 LLM。这可能也是国内的普遍情况。
[!TODO] 素材准备
- [ ] ChatGPT 用户增长曲线图(5 天 100 万,2 个月 1 亿)
- [ ] Mata v. Avianca 案新闻截图
- [ ] RLHF 训练流程示意图
- Hugging Face RLHF 博客 - 有清晰的三步流程图
- InstructGPT 论文 Figure 2 - 原始论文经典示意图
- [ ] Google Bard 首次演示幻觉截图
- The Verge 报道 - 有演示 GIF
- Reuters 报道
参考资料
🔬 L1 | Language Models are Few-Shot Learners | arXiv - GPT-3 原始论文,Tom Brown 等 31 位 OpenAI 研究员发表于 2020 年 5 月。 ↩︎ ↩︎
🔬 L1 | OpenAI API | OpenAI - OpenAI 于 2020 年 6 月开放 GPT-3 API 申请。 ↩︎
🔬 L1 | What are tokens and how to count them? | OpenAI Help Center - OpenAI 官方解释 token 的概念和计算方式。 ↩︎
📝 L3 | Next token prediction with GPT | Hugging Face Blog - 解释自回归模型如何通过预测下一个词元生成文本。 ↩︎
📰 L2 | What is a context window? | IBM - IBM 解释上下文窗口的概念及其对 LLM 的影响。 ↩︎
💬 L4 | LLMs are stateless | Nityesh - 每次发送消息都是全新开始,即使在同一个对话线程中。 ↩︎
💬 L4 | Knowledge Cutoff Dates of all LLMs | Otterly.ai - 各主流 LLM 的知识截止日期汇总。 ↩︎
💬 L4 | What is the cost of training large language models? | CUDO Compute - Lambda Labs 估算 GPT-3 训练成本约 460 万美元。 ↩︎
🔬 L1 | Anthropic Pricing - Anthropic Claude 系列模型官方定价。 ↩︎
🔬 L1 | OpenAI API Pricing - OpenAI GPT 系列模型官方定价。 ↩︎
🔬 L1 | Anthropic Models Overview - Claude 各版本模型能力与参数对比。 ↩︎
🔬 L1 | DeepSeek Pricing - DeepSeek API 官方定价,以低成本著称。 ↩︎
🔬 L1 | 阿里云模型服务灵积计费说明 - 阿里云通义千问系列模型官方定价。 ↩︎
📰 L2 | Introducing GitHub Copilot: your AI pair programmer | GitHub Blog - GitHub 于 2021 年 6 月 29 日发布 Copilot 技术预览版。 ↩︎
🔬 L1 | Evaluating Large Language Models Trained on Code | arXiv - Codex 论文(arXiv:2107.03374),Mark Chen 等 OpenAI 研究员发表于 2021 年 7 月。Codex 是 GPT 模型在 179GB GitHub 代码(来自 5400 万公开仓库)上微调的代码特化版本。 ↩︎
🔬 L1 | Fine-tuning | OpenAI Platform - 在预训练模型基础上,使用特定数据集进一步训练以优化特定任务表现。 ↩︎
🔬 L1 | The Ultimate Guide to Fine-Tuning LLMs | arXiv - 微调技术综述,详细讨论了灾难性遗忘、能力天花板等局限性,以及 PEFT 等缓解方法。 ↩︎
🔬 L1 | Measuring GitHub Copilot's Impact on Productivity | ACM - 2022 年受控实验,95 名程序员参与,使用 Copilot 组完成任务快 55.8%。 ↩︎
🔬 L1 | CCS researchers find GitHub Copilot generates vulnerable code 40% of the time | NYU - NYU 网络安全中心 2021 年研究,发现约 40% 生成代码存在安全漏洞。 ↩︎
💬 L4 | GitHub Copilot Isn't Worth the Risk | Kolide - 2022 年 11 月 Matthew Butterick 发起集体诉讼,指控训练数据侵权。 ↩︎
🔬 L1 | Introducing ChatGPT | OpenAI - OpenAI 于 2022 年 11 月 30 日发布 ChatGPT。 ↩︎
💬 L4 | ChatGPT Statistics | DemandSage - ChatGPT 增长数据:5 天 100 万用户,2 个月 1 亿月活。 ↩︎
📝 L3 | Illustrating Reinforcement Learning from Human Feedback (RLHF) | Hugging Face - RLHF 技术详解。 ↩︎ ↩︎
🔬 L1 | Training language models to follow instructions with human feedback | arXiv - InstructGPT 论文,Long Ouyang 等 19 位 OpenAI 研究员,2022 年 3 月发布。 ↩︎
📰 L2 | Hallucination (artificial intelligence) | Wikipedia - AI 幻觉的定义和案例汇总。 ↩︎
📝 L3 | AI Hallucinations in Legal Cases | BitLaw - Mata v. Avianca 案详情,律师因 ChatGPT 幻觉被制裁。 ↩︎
💬 L4 | AI Hallucination Cases Database | Damien Charlotin - 追踪法律领域 AI 幻觉案例的数据库,已收录 655+ 例。 ↩︎
🔬 L1 | Why Language Models Hallucinate | OpenAI - OpenAI 2025 年 9 月发布,解释幻觉的数学必然性。 ↩︎
🔬 L1 | Why Language Models Hallucinate | arXiv - Adam Tauman Kalai 等人,证明即使训练数据完美,幻觉仍不可避免。 ↩︎
📰 L2 | Google Gemini vs ChatGPT | TechTarget - Google 对 ChatGPT 的反应及 Bard/Gemini 发展历程。 ↩︎