跳到主要内容

它只是在续写 — 模仿者、幻觉与提示工程的诞生

这一章讲三件事: 你打交道的这台机器到底在做什么(答案比你想的朴素得多); 它是怎么一步步被逼成今天这个样子的;以及两个从娘胎里带来的毛病——幻觉与 「你说什么它信什么」。这是全书的第一章,后面十三章都建立在这一章的两个事实上。 不需要任何基础,遇到的生词都当场解释。

1. 这一章讲什么

原书前两章回答同一个问题:想用提示词驾驭 LLM,先得知道它是什么。

这一章把原书第 1 章(历史)和第 2 章前半(它的工作方式)合在一起讲, 因为它们其实是同一条因果链:它的过去解释了它的现在

主走查是一个只有三行的例子——「昨天我的电视坏了」——我们会拿它从头走到尾: 先看机器面对这段话时在干什么,再看它给出的那个出人意料的答案是怎么来的。

2. 顶层全景:字进字出,仅此而已

剥到最外面一层,LLM 是一台字符串(一串字符,也就是一段纯文字)进、字符串出的机器: 你给它一段文字(叫提示词),它还你一段文字(叫补全)。

它没有「听到问题→思考→回答」这三个阶段。它只做一件事:

把「一份以提示词开头的文档,最可能怎么往下写」算出来,然后写出来。

所谓模型,就是让机器自己从例子里凑出规律的那套东西——不给它列规则, 给它看成山的例子,它把规律存进一堆可以调的数里。所谓训练, 就是让它读海量文字、不断把自己调到「续得像」的过程1

「像」的参照物是上下文——模型开口前能看到的全部文字。上下文此刻只有你的提示词; 后面章节里,它会被我们精心装满各种东西。

你给的: 「One, Two,」
它还的: 「 Buckle My Shoe」

图说:整个交互就这么多。你觉得像儿歌接龙——没错,这就是它的全部工作,
整本书讲的是怎么把这件小事变成能用的产品。

3. 核心原理

3.1 它在模仿谁:从训练集里「随机抽一份文档」

机器读过的那一大堆文字,行话叫语料——书、网页、论坛帖子、代码,什么都有。 训练的目标不是让它背下语料,而是让它学出语料里的套路: 拿到一份语料里文档的前半截,能续出最可能的后半截2

背下来反而是事故,行话叫过拟合——它没学到规律,而是把原文默写了一遍。 一个搜索引擎就能把训练集背得滚瓜烂熟:给它文档开头,它能 100% 找回原文后半截。 但那不是目标——目标是没见过的开头也能续得像样3

主走查开始。 拿书里这个三行的开头:

Yesterday, my TV stopped working. Now, I can't turn it on at

下面三个续写,哪个最可能?① y2ior3wThursday.all.

三个都不是绝对不可能(猫踩键盘也能踩出①),但绝大多数模型会选③—— 因为在海量文字里,「can't turn it on at all」这个搭配出现的次数碾压另外两个4

好,接受③,再往下走一步。现在文字变成:

Yesterday, my TV stopped working. Now, I can't turn it on at all.

书作者编了两个候选(a「于是我今晚安心看书」、b「要不要去你家看球?」), 然后拿真的模型(OpenAI 的 text-davinci-003)跑了一下。真模型给出的续写是:

(换两行)
First, try unplugging the TV from the wall and plugging it back in.

注意它干了什么:它从「诉苦」跳到了「客服给排查步骤」。 因为在它的语料里,「电器坏了」的抱怨后面,高频接着客服对话的排查建议—— 它不是在「帮你想办法」,它是在续写「最像训练集的文档」5

书里给了一条整个行业的直觉口诀,值得原样记住:

假设你从训练集里随机抽了一份文档,你只知道它以你的提示词开头。 它统计上最可能的续写是什么?那就是你该预期的输出。

这条口诀解释了为什么「懂它的训练数据」比「懂它内部的构造」更能预测它的行为。 麻烦在于:商用模型的训练集配方是商业机密,你只能猜个大概6

3.2 怎么走到今天(上):从数数猜词开始

这台机器不是从石头缝里蹦出来的。每一步都是被上一步的缺陷逼出来的。

第一站,1948 年。 你手机输入法上方那排「猜你想打」的候选词, 背后就是马尔可夫(链)模型——只看最近几个词、查表猜下一个词的老办法。 它没用,所以你大概从没注意过那排候选词7

第二站,2014 年,seq2seq。 谷歌提出的翻译架构,分两班: 编码器——把整句原文逐个词读进来,压成一个固定长度的「思想向量」

解码器——拿着这个思想向量,逐个词产出译文。 致命伤就在那个「固定长度」上:整段话的信息必须挤进一个定长的向量, 文章一长,前半段就被挤丢了。这叫信息瓶颈8

3.3 怎么走到今天(中):让每个词自己挑

第三站,2015 年,注意力(让每个词自己挑:该看前文的哪几个词)。 一篇翻译论文把规矩改了: 不再只传一个向量,而是把编码过程中每个词留下的中间状态全部保留, 让解码端随时回头「软搜索」——这个词该看谁,就看谁。这套做法后来叫注意力机制, 英译法质量大涨9

第四站,2017 年。 谷歌那篇「Attention Is All You Need」更进一步: 把逐词递归(一个词一个词挨着处理、上一步的结果喂给下一步)的零件全拆了, 整个架构只靠注意力

给这套架构起的名字叫 Transformer——一种完全用注意力传递信息、不再逐词递归处理的架构。

它灵活、好训,但留下一个后遗症:只能处理定长的输入—— 今天的上下文窗口(模型一次能读进来的文字总量)限制,根子就在这里10

3.4 怎么走到今天(下):GPT 三代,与提示工程的诞生

2018 年,OpenAI 动手改 Transformer:把编码器整个砍掉,只留解码器, 让它专心干一件事——续写。这就是 GPT——只有解码器一半的 Transformer。 它里面装着一堆可以调的数,行话叫参数——训练过程中被反复调整、 最终存下「规律」的那些数;你以后听到的「1750 亿参数的大模型」,说的就是它11

当时的标准玩法是两步走:预训练——先拿海量文字(无标注:没人告诉它对错)练续写,练出通用底子;

微调——再喂一小批(几十到几万份)专门材料,让它专精某一个任务。微调完,它只擅长那一个任务12

接下来的故事就是纯粹的「暴力出奇迹」,数字都来自原书那张对照表13:

模型年份参数个数训练数据新出现的能力
GPT-120181.17 亿4.5 GB(七千本书)预训练+微调,单任务很强
GPT-2201915 亿(上一代的 13 倍)40 GB不微调也能干活
GPT-320201750 亿(再翻一百多倍)4990 亿个词给几个例子就照着做
GPT-3.5/42022–23未公开(GPT-4 传闻 1.8 万亿)未公开(传闻 13 万亿个词)聊天、工具,后面全是这本书

GPT-2 那篇论文的标题就是结论:「语言模型是无监督的多任务学习者」—— 同一个模型,不微调,直接拿去考试,成绩居然能打过那些专门为该任务微调过的模型14

GPT-3 再进一步,论文标题同样直白:少样本(few-shot)学习者——少样本就是在提示词里放几个例子,模型就照着这个格式干新活;不给例子就叫零样本(论文原话「Language Models are Few-Shot Learners」说的正是它)。到这一刻,「只改输入文字、不改模型」这条路被走通了—— 原书写得很干脆:「这就是提示工程的诞生」15

2022 年 11 月,ChatGPT 顶着 GPT-3.5 上线,两个月做到 1 亿月活—— 同一件事 TikTok 花了 9 个月,Instagram 花了两年半16

3.5 两个终身伴随的毛病:幻觉与「你说什么它信什么」

回到 3.1 的模仿者模型,两个毛病直接推得出来。

毛病一:幻觉——它自信地产出貌似合理、但事实错误的内容。

书里有个一针见血的例子。人写博客贴播客链接,贴到一半会停下来去搜网址; 模型不能搜,只能——它照样编出一个格式完美的网址, 连嘉宾名字都编得有鼻子有眼(它编的那位 Dr. Martin Kemp 确有其人, 是牛津的艺术史教授,只是跟那个播客毫无关系)。 关键是:它永远不会表现出「这半句是我编的」—— 因为它每一个字都是猜的,猜对它和猜错它,从它内部看毫无区别17

所以「别瞎编」这种指令基本无效——它分不清哪句是编的。 书里给的对策是:让它给出可以核查的东西——它对自己想法的解释、能独立验算的计算、 来源链接、能搜的关键词。「There was an English king who married his cousin」没法查; 补上「namely George IV, who married Caroline of Brunswick」就好查了。 原话很损:Trust but verify——minus the trust18

毛病二:truth bias——它默认你的提示词全是真的。

以谎言开头的文档,写到一半自己纠正自己的,在训练集里太罕见了。 所以你在提示词里写了不存在的东西,它会顺着往下编,而不是抬头问你「真的假的?」19

这个毛病可以反向利用:想问假设性问题,别说「假装现在是 2030 年」, 直接把场景写成既成事实——「现在是 2031 年,尼安德特人复活一周年」——它就信了, 顺着这个世界观往下写。书里管这种提示词叫 make-believe prompt20

但对程序化应用,这是颗雷:你程序拼提示词时拼错了一个事实, 人读到会挑眉毛,它没有挑眉毛这个选项——书里原话: 你有责任给它一份不需要被纠正的提示词21

4. 作者的判断与证据

有硬证据的:

  • GPT 三代的参数、数据量、年份,来自原书 Table 1-1 和引用的三篇原始论文 (「Improving Language Understanding…」2018、「…Unsupervised Multitask Learners」2019、 「…Few-Shot Learners」2020)13;
  • 「改输入就能驱动模型」这个论断,书以 GPT-2/GPT-3 两篇论文的公开基准成绩为证1415;
  • 幻觉与 truth bias 是书作者从「模仿者」这个第一性原理推出的,并给了真实模型的输出截图作证 (text-davinci-003 的客服式续写、text-curie-001 编的播客网址)517

作者明说不知道的:

  • 商用模型训练集的具体配方——书明说这是厂商的「special sauce」,只能估个大概6;
  • GPT-4 的参数量(1.8 万亿)与训练量(13 万亿个词),书里自己标注是传闻13

判断(我们的,不是书里的): 这一章全书的真正承重墙,是 3.1 那句「随机抽一份文档」口诀。 它不是比喻,是可操作的工作假设:写每一句提示词前,先问「训练集里什么样的文档以这段话开头?」 ——答得出来,你就知道模型会往哪走;答不出来,你就是在赌。 如果错,会错在: 如果模型后训练(第 04 章讲的 RLHF——用人类偏好做反馈的那套微调) 对行为的改造大到「续写训练集文档」不再是好的第一近似,这句口诀就只剩历史价值。 就 2024 年成书时的模型看,作者认为它仍然成立——全书二百多页都押在它上面。

5. 边界与局限

  • 这一章的历史只讲到 2023 年 GPT-4。 书成书于 2024 年,之后两代模型不在这里; 但「续写+模仿」这个底层框架,至今没有被推翻——它管的是范式,不是某一代模型。
  • 「模仿者」是第一近似,不是全部真相。 第 04 章会讲 RLHF 怎么在这个底子上加了一层 「讨人喜欢」的调教;那层调教能改行为,但改不掉这一章讲的底层身份。
  • 幻觉的对策只给了方向。 「让它给出可核查的东西」具体到怎么做(让它先写下想法再作答), 书把展开放到了第 10 章(我们的第 10 章)。
  • 书里把一条更数学的论证留给了别的书。 组合爆炸——每多考虑一个词, 可能的搭配数就翻很多倍,多到全人类写过的文字都不够数——所以「数数」走不通,只能「算」, 这就是必须用模型的原因。完整推导见本架《这就是 ChatGPT》拆解(补充:不在本书,依据我们的书架): 依据: shelf=ai-book-reference/what-is-chatgpt-doing#01-one-word-at-a-time.md 事实=该章「为什么走不通」一节用组合爆炸论证「数数」走不通、必须改成「算」。

6. 可带走的

主走查一行回顾:「电视坏了」→ 补「all」(高频搭配)→ 再补出「客服排查步骤」 (训练集里「抱怨电器」后面高频接着它)→ 全程没有「理解你的烦恼」,只有「续得像」。

  1. 它只做一件事:续写。 「回答」「理解」「帮助」都是续写的副产品;
  2. 预测它的行为,用那句口诀: 训练集里以这段话开头的文档,最可能怎么续?
  3. 懂它的训练数据,比懂它内部的构造更能预测它——但商用配方是机密,只能估;
  4. 能力跃迁靠的是数量级: 参数 1.17 亿→15 亿→1750 亿,每翻一两百倍就冒出一个新能力;
  5. 少样本是提示工程的出生证: 不动模型,只动输入,就能让它干新活;
  6. 幻觉是本性,不是故障: 它永远在猜,且从不表达怀疑——要它给「可核查的引理」;
  7. 它默认你说的是真的: 别让程序把错误事实拼进提示词;反过来,假设性问题要写成既成事实;
  8. 每个字它都同样自信。 自信程度与真实程度无关——这是读它一切输出的基本姿势。

7. 原文地图

主题原书章原文位置
提示词工程是什么、应用的五级复杂度Chapter 1text/04-ch01-chapter-1-introduction-to-prompt-engineering.txt:301(搜「completing text」) · :316(搜「levels of sophistication」)
GPT 系列对照表Chapter 1text/04-ch01-chapter-1-introduction-to-prompt-engineering.txt:285(搜「exponential nature of increase」)
模仿而非背诵、过拟合Chapter 2text/05-ch02-chapter-2-understanding-llms.txt:64(搜「models mimic」) · :76(搜「rote memorization」)
「随机抽文档」口诀Chapter 2text/05-ch02-chapter-2-understanding-llms.txt:94(搜「picked a document from the training set」)
电视坏了三选项与客服式续写Chapter 2text/05-ch02-chapter-2-understanding-llms.txt:103(搜「statistically most likely completion」) · :131(搜「text-davinci-003」)
幻觉、播客网址、核查对策Chapter 2text/05-ch02-chapter-2-understanding-llms.txt:191(搜「plausible-looking pieces」) · :202(搜「Trust but verify」)
truth bias 与尼安德特人Chapter 2text/05-ch02-chapter-2-understanding-llms.txt:206(搜「truth bias」) · :215(搜「Neanderthals were resurrected」)

Footnotes

  1. 出处:「Chapter 2. Understanding LLMs」第 25-26 段(text/05-ch02-chapter-2-understanding-llms.txt:25,搜「takes a string and returns a string」)。原文:「an LLM is a service that takes a string and returns a string: text in, text out」。

  2. 出处:「Chapter 2. Understanding LLMs」第 45 段(text/05-ch02-chapter-2-understanding-llms.txt:45,搜「training set」)与第 64 段(:64,搜「models mimic」)。原文收尾两个字:「models mimic」。

  3. 出处:「Chapter 2. Understanding LLMs」第 69-87 段(text/05-ch02-chapter-2-understanding-llms.txt:69,搜「big search engine index」)与(:76,搜「rote memorization」)。原文:「Mere rote memorization is considered a defect」——架构和训练流程都在防这件事。

  4. 出处:「Chapter 2. Understanding LLMs」第 99-112 段(text/05-ch02-chapter-2-understanding-llms.txt:103,搜「statistically most likely completion」)。

  5. 出处:「Chapter 2. Understanding LLMs」第 113-133 段(text/05-ch02-chapter-2-understanding-llms.txt:120,搜「unplugging the TV from the wall」)。作者特别交代:a、b 两个候选是他编的,第三个才是 text-davinci-003 的真实输出,搜「I made up both of them」(:130)。 2

  6. 出处:「Chapter 2. Understanding LLMs」第 134-139 段(text/05-ch02-chapter-2-understanding-llms.txt:137,搜「special sauce」)。 2

  7. 出处:「Chapter 1. Introduction to Prompt Engineering」第 153-157 段(text/04-ch01-chapter-1-introduction-to-prompt-engineering.txt:156,搜「Markov model of natural language」)。马尔可夫模型 1948 年提出;iPhone 的候选词栏是它的远亲。

  8. 出处:「Chapter 1. Introduction to Prompt Engineering」第 160-179 段(text/04-ch01-chapter-1-introduction-to-prompt-engineering.txt:160,搜「sequence to sequence」)与(:179,搜「information bottleneck」)。「thought vector」是原书用词。

  9. 出处:「Chapter 1. Introduction to Prompt Engineering」第 199-205 段(text/04-ch01-chapter-1-introduction-to-prompt-engineering.txt:199,搜「Jointly Learning to Align and Translate」)。论文年份 2015,演示任务是英译法。

  10. 出处:「Chapter 1. Introduction to Prompt Engineering」第 206-217 段(text/04-ch01-chapter-1-introduction-to-prompt-engineering.txt:207,搜「Attention Is All」)。原文特别提醒:「whereas seq2seq could process arbitrarily long sequences, the transformer could process only a fixed, finite sequence」——「this is a limitation that we have been pushing back against ever since」。

  11. 出处:「Chapter 1. Introduction to Prompt Engineering」第 221-225 段(text/04-ch01-chapter-1-introduction-to-prompt-engineering.txt:223,搜「Improving Language Understanding by Generative Pre-Training」)。原文:「the architecture was just a transformer with the encoder ripped off」。

  12. 出处:「Chapter 1. Introduction to Prompt Engineering」第 226-234 段(text/04-ch01-chapter-1-introduction-to-prompt-engineering.txt:226,搜「pretrain models with unlabeled data」)。原文强调:「after the GPT was fine-tuned, it was only good at the single task」。

  13. 出处:「Chapter 1. Introduction to Prompt Engineering」Table 1-1(text/04-ch01-chapter-1-introduction-to-prompt-engineering.txt:285,搜「exponential nature of increase」)。GPT-4 行原文标着「1.8 trillion (rumored)」「Rumored to be 13 trillion tokens」;训练算力从 1.7e19 涨到估 2.1e25 FLOP(浮点运算次数,训练总算力的计量),跨六个数量级。 2 3

  14. 出处:「Chapter 1. Introduction to Prompt Engineering」第 245-255 段(text/04-ch01-chapter-1-introduction-to-prompt-engineering.txt:245,搜「Unsupervised Multitask Learners」)。参数对照:GPT-2 是 15 亿,GPT 是 1.17 亿;训练文本 40 GB 对 4.5 GB。 2

  15. 出处:「Chapter 1. Introduction to Prompt Engineering」第 265-273 段(text/04-ch01-chapter-1-introduction-to-prompt-engineering.txt:267,搜「Few-Shot Learners」)与(:273,搜「birth of prompt engineering」)。原文:「you could modify the input—the prompt—and thereby condition the model to perform the requisite task at hand. This was the birth of prompt engineering.」 2

  16. 出处:「Chapter 1. Introduction to Prompt Engineering」第 3-6 段(text/04-ch01-chapter-1-introduction-to-prompt-engineering.txt:5,搜「fastest-growing consumer application ever」)。

  17. 出处:「Chapter 2. Understanding LLMs」第 141-187 段(text/05-ch02-chapter-2-understanding-llms.txt:154,搜「google or edit, so it just guesses」)与第 164-172 段(:164,搜「text-curie-001」)。脚注里作者补了一刀:模型对两句话的确定程度其实不同,但这种不确定性「does not correlate with an expression of uncertainty」——它不会把没把握写在脸上。 2

  18. 出处:「Chapter 2. Understanding LLMs」第 189-202 段(text/05-ch02-chapter-2-understanding-llms.txt:191,搜「plausible-looking pieces」)与(:202,搜「Trust but verify」)。原文还注明:用人类现象类比的话,这更接近「虚构症(confabulation)」而非「幻觉」。

  19. 出处:「Chapter 2. Understanding LLMs」第 203-206 段(text/05-ch02-chapter-2-understanding-llms.txt:203,搜「induced」)与(:206,搜「truth bias」)。原文:「Documents that start out with wrong claims and then correct themselves halfway through are rare.」

  20. 出处:「Chapter 2. Understanding LLMs」第 213-215 段(text/05-ch02-chapter-2-understanding-llms.txt:215,搜「Neanderthals were resurrected」)。

  21. 出处:「Chapter 2. Understanding LLMs」第 228-231 段(text/05-ch02-chapter-2-understanding-llms.txt:231,搜「need correction」)。原文:「It'll do its best to pretend the prompt is real, and it's unlikely to correct you.」