一道题,模型立即给出的答案错了;让它再想一会儿,有时会改对,有时却写出更长的错误解释。既然第19章说每个token都来自同一个生成过程,额外的时间究竟改变了什么?我们需要分开三个动作:沿一条路线继续演算,重新尝试另一条路线,以及用独立标准检查候选。
第16章讨论训练时怎样用奖励改变参数。本章讨论参数已经固定以后,系统怎样给当前问题分配计算。后者常叫推理时计算或测试时计算。它可以帮助模型运用已学到的能力,却不能保证填补缺失事实,也不自动拥有一个知道真相的裁判。
1.先分清两个“推理”
机器学习里的inference,指训练后使用模型进行计算。即使只判断一张图片里有没有猫,或者接着生成一个标点,也属于这个意义上的推理。
reasoning则强调从条件出发进行多步关系处理,例如推导数值、排除矛盾或比较多个约束。中文都可能译成“推理”,却不是同一层概念。一次inference可以非常短;一次需要reasoning的任务也可能由多次模型计算与工具调用共同完成。
训练时计算决定模型学到了怎样的参数与策略;使用时计算决定这次给它多少展开、探索和检查的机会。固定参数不代表后续token只能重复前一句:新生成的中间结果进入上下文,下一步会以它为条件继续计算,因而可以逐渐组织出更复杂的过程。
但可见的长解释并不一定忠实描述产生答案的全部内部机制。我们可以检查其中算式与证据是否成立,不能仅凭解释流畅就断定模型真正采用了某种思路。评价对象最终仍应包括答案与可外部检验的过程结果。
2.串行展开:让一步结果成为下一步条件
考虑纸笔题:“三盒笔,每盒12支,送出8支,还剩多少?”直接回答要求模型一次把结构处理好;分步写出3×12=36,再写36−8=28,给后一步提供了明确中间数值。
这类展开把计算分散到多个生成位置。它还允许检查单位、补充遗漏条件,或者在发现矛盾后修正。困难题中的收益可能来自有效的新计算,不是文字长度本身。反复说“认真检查”却不引入新证据、新分解或新验证,仍可能只是在重复同一个错误。
串行过程也有脆弱性:若第一步把三盒读成四盒,后面的减法可以完全正确,却一直沿着错误条件推进。更长链条包含更多需要保持一致的状态;模型还可能推翻本来正确的答案,或者越写越偏离题目。
因此,给一条路线更多预算,需要同时问:它卡在哪里?如果只是还没算完,继续可能有用;如果理解了错误目标,单纯延长可能强化偏差;如果缺少一份资料,就应先取得资料,而不是无依据地产生更多文字。
3.并行尝试:增加找到好候选的机会
第二条路线是对同一问题独立采样多个候选。某次可能从代数入手,另一次尝试列举,第三次先检查边界。只要候选确有差异,就有机会在第一次失败后找到有效路径。
Self-consistency研究的基本做法,是采样不同的推理路径,再聚合最终答案。这里的“一致性”统计不同路径落到哪个答案,不是让一条答案自己重复十次。Self-consistency原论文
用一个理想化概率例子理解收益。假设每次尝试答对的概率都是0.4,并且各次成败互相独立。一次失败概率是0.6;三次全失败是0.6×0.6×0.6=0.216。因此三次中至少一次正确的概率是1−0.216=0.784,即78.4%。
每个数都有前提。0.4是人为设定,0.6是它的补数,三次相乘依赖独立假设。我们没有测量任何真实模型。真实输出可能共享同一种误解,尤其在提示、资料和训练偏差相近时,错误往往相关。若三次总是一模一样,重复不会带来这个理论收益。
更重要的是,“至少一次正确”尚未决定最终交付哪个答案。假如候选里只有一个对,系统却选中了另一个,用户仍然得到错误。生成好候选与识别好候选,是两个不同的能力。
4.同一预算,怎样分配才公平
现在设一个纯教学预算:总计1200个生成token单位,暂时忽略输入处理、并行设备与工具成本。方案甲用1000单位完成一条长尝试,再用200单位检查;方案乙做三条各300单位的短尝试,再用300单位比较。
两个方案的总量都为1200,但中间状态不同。甲能走得更深,却可能错过别的方向;乙覆盖更多起点,但每条可能在关键步骤前被截断。把三个短答案接在一起,并不会凭空变成一条拥有900单位连续上下文的推导。
再设方案丙用两条各400单位的尝试,加400单位做独立核验。它把更多预算用于选择,只有在核验确实有区分能力时才值得。如果裁判只偏爱篇幅长、语气强的回答,预算加在它身上可能使错误更稳定地获胜。

图1|三种安排各使用1200个教学生成token单位。每段宽度与单位数成比例;并行改变等待关系,不会取消三条尝试的总量。输入、设备与工具成本暂未纳入。
现实中还必须补回输入token、缓存、模型大小、工具耗时与并发成本。三条候选同时运行可能缩短墙上时钟的等待,但总计算量并不会因为并行而消失。一个更大的验证器用200个token,也未必比小模型用400个token便宜。
停止规则同样属于方案。固定预算用尽停止,能控制资源;发现可验证正确的候选就停止,可能省下后续尝试;一直等到多个模型意见相同,则可能被相关错误误导。比较方案时要把停止规则也写下来,否则“平均只用很少token”可能隐藏了难题被过早放弃。
5.核验器怎样成为新的瓶颈
先看笔的例子。候选A写“3×12−8=28”;候选B写“3×(12−8)=12”。两条算式本身都算对了,但B把“共送出8支”错误理解成“每盒送出8支”。只核验算术不能检查题意。
一个可靠的检查要分层:题目条件有没有读对,计算是否有效,输出是否回答了所问。对代码,还要测试需求覆盖和边界;对资料问答,要查看引用是否真正支持陈述。核验器能看到什么,决定它能排除哪些错误。
继续构造一个具体选择例:三份候选中,A正确,B和C错误。假设某个并不可靠的评分器给出0.70、0.82、0.60,按最高分选会交付B。数字看似精细,仍没有改变选择失误的事实。评分值如果没有经过校准,0.82也不等于82%的真实正确率。
现在把“候选里有正确答案”和“最终选对”接成一笔账。限定选择器只能从候选中原样挑一份,不能重新生成或修正。设C为“候选集合至少有一份正确”,R为“最终交付正确”,那么R只可能发生在C中。因此:
P(R)=P(C)×P(R|C)。
P表示概率,竖线读作“在……条件下”。第二项的分母只包含那些已有正确候选的任务,不是全部任务。若三次独立尝试仍各有0.4成功率,P(C)=0.784;选择器在这些集合中有75%的机会选对,那么最终成功率是0.784×0.75=0.588,即58.8%。候选覆盖的78.4%有一部分被选择错误损失了。
做一个预算相同的教学比较。沿用1200单位,方案乙为3×300生成+300选择,人为设每条成功率0.4、条件选择率0.75;方案丙为2×400生成+400核验,也暂设每条成功率0.4,但条件选择率提高到0.95。丙的候选覆盖为1−0.6²=0.64,最终成功率却是0.64×0.95=0.608,即60.8%,略高于乙的58.8%。这组设定只说明核验能力可能抵消候选数减少,不能从“多给100单位”推导出真实选择率必然变成0.95,真实关系需要测量。

图2|固定1200个教学单位下,三候选方案先有78.4%的集合含正确答案,再以75%的条件选择率得到58.8%;两候选方案先有64%,再以95%得到60.8%。所有概率均为明示假设,选择器只能原样挑选。
如果选择器还能修正甚至另写答案,原来全错的集合也可能被救回,便要把P(非C)×P(R|非C)这一条路径加上。若任务难度不同,也要分别检查覆盖和条件选择率,而不能假定一个平均数适用于每题。
再换成可确证的检查:让独立算术程序重算、让测试用例覆盖遗漏条件、让原始文档核对日期。这样引入的新信息,往往比另写一遍赞同意见更重要。但外部检查也有限,例如测试用例不完整、资料过时或需求本身含糊,都会让“通过检查”与真实成功分离。
模型评审仍然有用,特别是开放性写作缺少唯一标准时;只是需要明确评分规则、参考样例,并检查它与人工判断的一致性。最好用它擅长的局部判断,例如“是否遗漏指定限制”,而不是让一句笼统的“哪个更好”包办所有正确性。
6.搜索:把尝试组织成一棵可修剪的树
串行与并行可以组合。先生成几种分解,在每种分解下走若干步;排除违反已知约束的路线,再把预算分给仍有希望的路线。这就是搜索的一般直觉。树上的节点表示中间状态,边表示一次扩展,不一定是一整篇完整答案。
拿一个小安排题演练:甲、乙、丙三人分配早、中、晚三班,每人一班,甲不能晚班,乙必须早于丙。第一层先决定甲:选晚班立即违反规则,可以剪掉;选早班后,乙中丙晚可行;选中班后,乙早丙晚也可行。
原本三个人的排列共有3×2×1=6种。检查全部六种能找出两个有效安排;提前利用甲的限制,可以不展开甲晚班的两种排列。这个例子展示的是可靠约束如何减少无用工作,不是说模型一定能正确设计剪枝。

图3|先分配甲,甲晚班因违反硬约束而停止;其余四个叶子再检查“乙早于丙”,留下两个有效安排。灰色虚线显示被省去的两个叶子。剪枝依据来自题目,不来自对候选文风的偏好。
搜索的风险正在这里:局部看起来不好的中间状态,可能通向好答案;评分器误判,正确路线就被过早删去。分支太多消耗预算,分支太少又失去探索。保存、比较和恢复中间状态还需要系统设计,不只是给模型一句“做树搜索”就自动实现。
7.公开模型案例应当怎样读
Qwen3的2025年技术报告把思考预算单独列为研究对象:在同一个Qwen3-235B-A22B模型上调整预算,报告数学、代码和STEM任务的表现曲线;其公开方案还描述达到阈值后结束思考、转入回答的方式。这个案例说明预算可以成为被控制的实验变量。Qwen3报告,思考预算讨论
从中能支持的结论是:在报告给出的任务、模型与预算范围内,更大预算带来了表现改善。不能扩展成任意任务无限增加长度都会改善,也不能把图中不同预算点理解成我们这里三种策略的实测比较。
另一项测试时计算研究明确考察题目难度与计算分配:预算应该怎样用,取决于问题以及提议答案、验证答案的方法。这比“固定给每题同样长的思考”更接近真正的资源决策。测试时计算分配研究
如果拿新模型和旧模型对比,数据、参数、后训练和预算可能一起变化。即使新模型既想得更久又答得更好,也不能把全部提升归因于多想。要研究预算的因果作用,应尽量固定模型与题集,只改变预算及事先定义的分配策略。
8.多算什么时候值得
面对具有清楚约束、答案能验证、初次失败存在可恢复路径的问题,多尝试和核验常有合理用途。面对缺少实时事实的问题,预算应优先给资料获取;面对简单格式转换,长链可能只增加延迟与出错点。
可以把分配理解成一笔边际账:再花一份计算,有没有较大机会改变最终决策?已经通过可靠检查的简单答案,继续改写未必增值;尚未核实的关键条件,值得先查清。预算上限控制最坏情况,升级路径则决定何时换工具、换方法或请人介入。
这不要求普通读者建立复杂优化器。只要在使用或评估时分别记录“尝试多少次、每次多长、谁来选择、依据是什么”,就能看穿许多把计算规模与能力混在一起的说法。
还要给没有解出的题保留明确出口。预算耗尽只能说明在当前策略和资源下尚未得到可验证答案,不能证明题目无解。把失败状态保留下来,有助于之后判断应增加探索、修复验证器,还是补充缺失信息;直接输出一个最像答案的候选会掩盖这个诊断线索。
本章练习
题目
问题1|把两道关算到底
两种方案各用1200个教学单位。乙有3次独立尝试、每次成功率0.4,条件选择率0.75;丙有2次独立尝试、每次成功率0.4,条件选择率0.95。选择器只能从候选中原样挑选。分别算最终成功率;丙的条件选择率至少超过多少,才会严格优于乙?
问题2|并行省的是哪一项
三条尝试各花300单位且各需4秒,选择花300单位且需2秒,必须等三条完成后开始。忽略调度和资源竞争,串行与三路并行分别等多久?两种安排的总单位数是多少?
问题3|构造并保留可行解
甲、乙、丙各上一班,班次为早、中、晚;甲不能晚班,乙早于丙。写出全部可行安排,并说明为什么能在甲选晚班时就停止展开。
思考提示
提示1|对应问题1
先算全部尝试失败的补数,再乘条件选择率。比较门槛时,把丙的条件选择率设为未知数。
提示2|对应问题2
等待时间沿依赖最长的路径相加;资源总量要把三条分支和选择都计入。
提示3|对应问题3
先固定甲,再安排剩余两人。一个已违反硬约束的前缀,后面能否恢复可行性?
参考答案与解析
答案1|对应问题1
乙为1−0.6³×0.75=58.8%;丙为1−0.6²×0.95=60.8%。设丙的条件选择率为s,要有0.64s>0.588,即s>0.91875,超过91.875%才严格优于乙,相等则打平。这是当前独立性、每次成功率和只能挑选的假设下的结论,不是任何验证器的实际成绩。
答案2|对应问题2
串行需4+4+4+2=14秒;理想三路并行需4+2=6秒。两者均消耗3×300+300=1200单位。现实并行会涉及设备、存储、排队和共享资源,故这里只是理想依赖时间,不能由此推断真实费用。
答案3|对应问题3
按“早、中、晚”顺序,可行安排为“甲、乙、丙”与“乙、甲、丙”。甲若已经分到晚班,之后无论怎样安排乙丙,都不能消除这一违约,因此可以安全剪去整个分支。依据模型评分删掉看似不好的状态则未必安全,因为它可能仍能通向可行解。
下一章
计算增加了候选和检查机会,却仍会留下不确定性。模型说“我很有把握”时,这份把握怎样与真实正确率对应?第22章讨论幻觉、校准与拒答,把“愿意回答”和“有充分依据回答”分开衡量。