同一个模型昨天封神今天摆烂?拆开是四件事,归你管的有两件
「AI 续写像抽卡」的抱怨里混着四个互不相干的方差来源:采样温度(可控)、上下文构成随窗口滑动换血(可控)、推理服务器按负载拼批次的数值波动(不可控,Thinking Machines 实测温度 0 下同一请求 1000 次出 80 种输出)、还有你自己的阅读状态。逐个拆开,附两个可控项的具体拧法。

用户的原话通常长这样:「同一个模型,昨天那段封神,今天从头拉到尾」「感觉在抽卡」 「是不是我提示词写崩了」。三句抱怨,其实混着四个互不相干的方差来源。这篇把它们逐个拆开, 先给结论:四个来源里你能真正拧动的有两个;剩下两个,知道它们存在,本身就是解药。
动手前先划一条界。AI 续写还有一种「越写越差」,那是方向性的单调滑坡, 我们在 20 轮漂移实验里单独写过; 这篇管的是另一件事:同一个位置、同样的操作,这一次和上一次为什么质量不同。漂移是坡,方差是抖。
来源一:采样温度,每个字都在抓阄
模型落笔前,手里是一张下一个字的概率表:「他」四成,「剑」两成,「忽」半成。 temperature 决定按表抓阄时手有多野:调到 0 永远抓概率最高的那个,调高则冷门选项也有机会上场。 写作恰恰是官方建议手野一点的场景:DeepSeek 的参数文档给创意写作类推荐 1.5,是它列出的全部场景里最高的一档,代码和数学则推荐 0.0(2026-07-18 核对)。 厂商替你把旋钮预设在「抽卡」这一格,因为拧到底的代价是每一句都安全而平庸。
顺带纠正一个常见直觉:重 roll 修不了任何东西,它只是在同一张概率表上再抽一次。 抽出更差的结果和抽出更好的一样合理,模型没坏,你也没做错什么。
这是第一个可控项。嫌波动大就把温度往下调,或者干脆换个发挥稳的模型——九模型双盲横评里「稳」和「好」是两个独立维度: 有模型恒定及格也恒定不像,有模型高光和翻车贴着走。
来源二:你以为的「同样操作」,窗里的料早换了一批
续写发给模型的上下文是一扇固定大小的窗,书却在变长。窗装满之后,每写一段,最早的内容被挤出去一截; 更要命的是成分变化:写到第十五轮,窗里可能一大半是 AI 自己前十四轮的手笔,它参考的「原著」越来越多是它自己。 我们量过这条曲线:裸提示词的链 20 轮里句长波动系数从 0.64 掉到 0.52, 给上下文标注「哪段是原著、哪段是续写」之后,同一指标回升到 0.64。 所以隔了十段再点续写,操作没变,窗里已经不是同一批材料。你没变,料变了。
这是第二个可控项,治法叫结构化供给:设定按需注入而不是靠原文赖在窗里,来源标注打开。 再送一个免费探测器:供应商返回里有缓存命中字段(DeepSeek 叫 prompt_cache_hit_tokens), 它突然从九成掉到零,说明这次请求的前缀和上次不一样了。我们有一篇专盯这个字段的账单笔记, 当时抓出来的元凶是一行每分钟都在变的时间戳。还有一类变化更隐蔽: 设定条目按相关性每轮重排,内容一个字没少,顺序变了,对模型就是另一份上下文。
来源三:你什么都没动,服务器动了
把温度调成 0、上下文逐字节冻结,同一个请求发一千次,总该一样了吧?不一样。Thinking Machines 2025 年 9 月的实测: 温度 0,同一提示发 1000 次,收回 80 种不同输出,前 102 个 token 完全一致,第 103 个开始分叉。 根因与玄学无关:推理服务器按当时的负载把请求拼成大小不一的批次, 常用算子的浮点结果又随批次大小变化,差出一个字,后面全变。
这个你控制不了,换供应商也躲不掉,CPU 和 TPU 上同样存在。 至于「高峰期偷偷换量化版模型」这类传闻,我们没有可核实的证据,不替它背书; 能拿实验钉死的只有上面这层。它对读者的意义很实际:一次翻车不构成对模型的判决, 那可能只是恰好拼进了一个倒霉的批次。
来源四:变的可能是屏幕前的你
最后一个来源没人愿意认领。我们的双盲横评里,两位互不知情、认真到给每轮写笔记的评审, 在两套匿名映射下把首尾名次判得完全一致,却在第四、五名上始终谈不拢,各自标了低置信。 争的是「恒定及格」和「高开炸尾」哪个更好,这是审美权重问题,职业评审也没有标准答案。 深夜两点让你心头一紧的段落,第二天午后重读只觉得普通,中间隔着的不是模型更新,是你睡了一觉。
这条最短,但评估自己状态的成本是零,重 roll 一次的成本不是。
现在是哪一源在咬你?三步分诊
写崩的当下可以现场验。第一步,同一提示词原地连发三次:三次散得厉害,是采样和服务批次在晃, 调温度或者干脆接受;三次都稳定地差,那不是抽卡,去查上下文。第二步,回想这轮「变差」 是不是发生在连续写了很多段之后:是的话,大概率是窗里成分漂了,开来源标注, 或者从一个干净的分支重新起笔。第三步,如果只有深夜觉得差,先去睡觉。 三步的顺序有讲究:便宜的检查放前面,怪自己放最后。
两个旋钮怎么拧,两个包袱怎么放
归你管的:采样,按文体调温度,波动耐受低就选横评里「稳」字辈的模型; 上下文,设定条目化、来源标注打开,让窗里的成分可控。 不归你管的:服务批次和你自己的状态,对策相同,别用单次结果下判断。
最后说回「抽卡」。抽卡真正的问题不在随机,在抽完即弃:重 roll 把上一发覆盖掉,好坏都无从比对。 方差既然消不干净,不如把它接住——重要节点让模型一次给三个方向,并排读完再挑, 输掉的候选也留在原地随时能回头。我们自己现在就这么写:温度不动,候选常开, 「抽卡」的手感自然消失了,因为没有哪一发是最后一发。
常见问题
同一个模型,为什么昨天写得很好今天就拉了?
四个来源叠加的结果:采样温度让每次生成都是重新抽签;上下文窗口里的材料随进度换血,写得越多,窗里 AI 自己旧输出的占比越高;推理服务器按负载拼批次,同一请求在不同负载下浮点结果不同(实测温度 0 下 1000 次同请求出 80 种输出);最后是你自己的阅读状态。前两个可控,后两个只能接受它们存在。
把 temperature 调成 0,AI 续写就稳定了吗?
更稳,但既不完全稳,也未必更好。温度 0 只消掉采样这一层随机,服务器批次带来的数值差仍在——Thinking Machines 实测温度 0 下同一提示发 1000 次仍收回 80 种输出。而写作场景的官方推荐温度普遍偏高,DeepSeek 给创意写作类推荐 1.5,是它全部场景里最高的一档;拧到 0 的产出往往安全而平庸。降一点可以,归零不划算。
AI 续写像抽卡,有办法稳定吗?
能压不能消。可控的两件:把温度调到你能接受的波动区间;用结构化供给把上下文成分固定下来——设定条目化按需注入、打开续写来源标注。压完仍剩的方差,换个用法消化:重要节点让模型一次给两三个候选并排挑,而不是重 roll 覆盖,方差本身就成了备选草稿。
续写忽好忽坏,是不是我提示词的问题?
最多占一部分。提示词属于「上下文构成」这个可控来源,值得检查;但四个来源里有两个(服务器负载、你的评价状态)和提示词毫无关系。一个省力的判断法:同一提示词原地连发三次,若好坏参半,主要是采样和服务侧在波动,不必反复改词自责。
有想法或问题?来 Discord 聊聊 →