深浅色
两个差异,撞上了就会疼。第二个比第一个更容易被忽略。
计算器不会答错第二次
你按计算器 1+1,按十次都是 2。输入定,输出就定。这种软件叫确定性(deterministic)——同样的输入必然给出同样的结果,这是写程序的基本保证,出 bug 会被抓出来。
它不是这样。同一段话问两次,答案可能不一样。不是每次都不一样,但你会碰上。
温度(temperature)—— 控制随机性大小的旋钮。调低一点,输出会稍微稳一点;调高,输出花样更多。温度调到最低也不保证两次一样,这条后面 L2 会讲。
这不是 bug,也不是「不够成熟」。它是这个做法的直接后果:它在算的是「下一个字最可能是什么」,然后按分数抽一个。既然是抽,两次抽到不同字就是正常的。
取最高分反而更糟
2019 年 Ari Holtzman 和华盛顿大学的同事写了篇论文,标题里有个「奇怪」。他们发现一个反直觉的事:用「每次都取最高分」这种最保险的办法生成文本,出来的东西会平淡、重复、绕进同一个句式里打转——比随机抽还要糟。取最高分等于永远选最安全那句话,于是永远说同一件事。他们在这篇里提出了核采样,意思是别在所有候选里抽,只在累计概率占前头一部分的候选里抽。
我当时读到这儿的第一反应是:这不就是掷骰子吗。第二反应是——对,但掷骰子用的是均匀分布,它用的是文本自己的分布。这两件事差得远。论文给出的结果是:在翻译、摘要、对话续写这些任务上,光换挑法就能把质量拉起来,其中对话续写提升最明显。
它没有替你存东西
这是我被坑得最狠的一条。
你跟它说了你孩子的名字、你老板的偏好、你们公司的报价单。这些不会进它的参数。它里面那几百亿个数字,在训练结束那天就定死了。你这次对话里说的任何东西,都不会被下次用到。
词元(token)—— 模型眼里的最小处理单位。
真正被记下来的是这次对话的内容,不是它的知识变了。区别在于:这次对话可以保存、可以下次再打开给你看,但换个新对话它就不记得了;而且换个新对话,它对你孩子的了解,回到一个陌生人的起点。
我自己踩过的具体坑:我在一个对话框里花了半小时把项目的背景交代清楚,包括几个只有内部人才知道的代号。写到第七轮,它对那些代号的用法完全正确。隔天我开了个新对话,同样的问题,它对代号一无所知,还自己编了一套。
顺带说一句,跟「它不存你的东西」挨着的是另一件事:这些对话通常在服务端。贴进去的东西去了哪,L3 有一整层专门讲。
这两条该拿来怎么办
不要指望它记住。要每次把需要的背景重新给它——长一点没关系,反正它吃多少给多少。真正要记的事,自己找个地方记,不要记在它那儿。
也不要把「两次结果不一样」当成故障。它是设计的一部分。有人喜欢把温度调高,专门用来要多个思路;有人调到最低也要一模一样,发现还是不完全一样,于是生气了。
我自己的习惯是:需要准确的活儿我从来不在对话框里干,我拿它当草稿机。
延伸阅读
The Curious Case of Neural Text Degeneration(Ari Holtzman、Jan Buys、Li Min Du et al.,2019,ICML)—— 那篇讲「取最高分反而更糟」的。核心发现有两层:一是人和机器写出来的文本在分布上不一样;二是光改怎么挑下一个字这件事,就能明显改掉生成质量,而不用改模型本身。核采样就是这篇提的。OpenAlex 检索被引 1136 次(2026-09-29)。arXiv: 1904.09751
How Much Knowledge Can You Pack Into the Parameters of a Language Model?(Adam Paul Roberts、Colin Raffel、Noam Shazeer,2020,EMNLP)—— 标题直接问了个你可能会好奇的问题:那些数字里到底能不能装下知识。这篇做了个实验,把模型调成不看任何外部资料、纯靠内部那堆数字来回答开放问题,结论是能,而且规模越大越灵。但作者自己很小心地说了这只是「跟那些要真去查库的开放问答系统比」。它是「不是数据库」那一条最有力的反方证据。DOI: 10.18653/v1/2020.emnlp-main.437
动手试试
挑一个你手头真实的活儿,同一个提示词(prompt)——你输入给模型的那段话——连着问三次,一次都不改。
注意是连着问,不是开三个新对话。因为要看的是随机性,不是记忆。
然后再开一个新对话,把同样的提示词问一遍。
看两件事:三次的答案哪里不一样;新对话里它是不是对你之前给过的背景一无所知。
五分钟,但这个动作我建议每个用 AI 的人一年至少做一次。做完之后你会开始习惯一件事:重要的事,让它说三遍。
下一站
这层的概念到这儿够了。下一页把这堆词的来路讲清楚,免得你下次看到英文名又懵。