Paper

Scaling Test-Time Compute for LLM Agents:当推理时计算遇上 Agent

10 min read ·

一句话总结:这篇论文首次系统性地将 test-time compute scaling 的各种策略搬到 Agent 场景下做对比实验,得出了一个让人意外的结论——在 Agent 任务中,简单的 best-of-N 采样往往比精心设计的树搜索更有效,而更长的思维链并不总是更好。

一、问题:Agent 场景下的推理 scaling,是一片盲区

过去两年,test-time compute scaling 已经成为 LLM 领域最热门的研究方向之一。核心思路很简单:与其训练更大的模型,不如在推理阶段投入更多计算来提升输出质量。这条路线在 OpenAI 的 o1/o3 系列、DeepSeek-R1 等推理模型上得到了充分验证。

目前主流的 test-time scaling 策略包括:

这些策略在数学推理、代码生成、逻辑推理等单轮、有明确答案的任务上效果拔群。但有一个关键问题一直被忽视:当 LLM 变成 Agent——需要与外部环境交互、使用工具、执行多步操作时,这些 scaling 策略还能用吗?效果如何?

这篇论文正是要填补这个空白。

二、研究框架:四类 scaling 策略的系统对比

论文将 test-time compute scaling 策略分为四个大类,并在 Agent 场景下逐一进行了实验:

1. Internal Scaling:让思维链更长

最直接的方式——给模型更多的「思考空间」。具体做法是增大 max_thinking_tokens 参数,让模型在生成动作之前进行更充分的推理。

在标准 NLP 任务中,更长的思维链几乎总是带来更好的结果。但在 Agent 场景中呢?结论并不那么乐观。

2. External Scaling:多次独立采样

这类策略的核心是用数量换质量。模型对同一个任务独立运行 N 次,然后通过某种聚合机制选出最佳结果:

3. Sequential Revision:自我修正迭代

让 Agent 在得到初始结果后,反复审视和修正自己的输出。这类似于人类的「检查作业」过程:

这种策略在代码生成任务上已有广泛应用(如 Reflexion、Self-Refine),但在更广泛的 Agent 任务中效果未知。

4. Tree Search:系统性探索解空间

将 Agent 的每一步决策视为搜索树的一个节点,使用蒙特卡洛树搜索(MCTS)等算法进行系统性探索。理论上,这是最「聪明」的策略——它能回溯错误决策、探索替代路径。

但问题在于:Agent 任务通常与真实环境交互,操作往往不可逆。你不能真的「撤销」一次网页点击或一个文件删除。这让树搜索的核心假设——状态可回溯——在 Agent 场景中大打折扣。

三、实验设置:三大 Agent Benchmark

论文选择了三个具有代表性的 Agent benchmark 进行评估,每个都代表了不同类型的 Agent 任务:

Benchmark任务类型核心能力典型操作
WebArena网页操作工具使用 + 规划点击、填表、导航、信息提取
SWE-bench代码修复推理 + 代码生成阅读代码、定位 bug、生成 patch
OSWorld桌面操作多步规划 + 界面交互打开应用、编辑文档、系统设置

这三个 benchmark 的选择颇具匠心:WebArena 偏重工具调用,SWE-bench 偏重推理,OSWorld 偏重规划——恰好覆盖了 Agent 的三大核心能力维度。

四、关键发现:五个反直觉结论

发现一:Best-of-N 的惊人优势

这是全文最核心的发现。在所有三个 benchmark 上,简单的 best-of-N 采样在多数场景下都优于或持平复杂的树搜索方法

实验数据对比(以 WebArena 为例,N=8):

策略成功率计算开销(相对值)
单次采样 baseline35.2%1x
Best-of-8 + Rule Verifier51.7%8x
Best-of-8 + LLM Judge49.3%~10x
MCTS (depth=3)46.1%~12x
Sequential Revision (3 轮)43.8%~3x

Best-of-N 不仅效果最好,而且实现最简单、并行化最容易。你不需要设计复杂的搜索树结构,不需要处理状态回溯的问题,只需要让模型独立运行多次,然后选最好的结果。

为什么?论文给出了一个很有说服力的解释:Agent 任务的解空间极大,不同的独立运行会自然探索到完全不同的解决路径。而树搜索在局部分支上进行细粒度探索,反而容易陷入同一类解法的变体中。

发现二:思维链的收益递减现象

在标准推理任务中,更长的思维链几乎总是更好。但在 Agent 场景中,论文观察到了明显的倒 U 型曲线

论文分析了过长思维链失败的原因:模型开始过度分析。它会反复权衡各种可能性,在「应该点击按钮 A 还是按钮 B」这种简单决策上花费大量推理 tokens,最终反而更容易做出错误决定。这在 Agent 场景中尤为严重,因为 Agent 的每一步决策都需要与环境交互——想太多不如直接试

发现三:工具使用能力在多次采样下提升最显著

论文将 Agent 任务按能力维度拆解后发现,不同能力从 scaling 中获益的程度差异巨大:

能力维度Best-of-8 相对提升主要受益策略
工具调用(API 使用)+58%Best-of-N
信息提取+42%Best-of-N
多步规划+31%Tree Search
推理+25%Internal Scaling
界面交互+18%Sequential Revision

工具调用的提升最为显著,原因直观:工具调用本身具有离散性和可验证性。一个 API 调用要么参数正确要么不正确,多次尝试就是多了一次「碰对」的机会。而且工具调用的结果通常很容易用规则验证——返回值是否符合预期、是否触发了异常——这让 best-of-N 的验证器成本极低。

发现四:不同 benchmark 的最优策略不同

没有一种 scaling 策略是万能的。论文发现,最优策略取决于任务的核心特征:

这个发现的实践意义在于:你需要根据自己的 Agent 任务类型来选择 scaling 策略,而不是一刀切。

发现五:Scaling 策略之间存在组合效应

论文还探索了不同策略的组合:

最佳实践组合可以总结为:中等思维链 + Best-of-N。这也是计算效率最高的组合。

五、工程启示:给 Agent 开发者的四条建议

1. 优先考虑 Best-of-N,而非复杂搜索

如果你的 Agent 涉及大量工具调用(API 调用、数据库查询、文件操作),那么最简单有效的优化方式就是让 Agent 独立运行多次,然后选最好的结果。实现上只需要:

results = [agent.run(task) for _ in range(N)]
best = verifier.select_best(results)

这比实现 MCTS 简单几个数量级,效果往往更好。

2. 控制思维链长度,不要贪多

不要盲目增大 max_thinking_tokens。论文建议:

3. 投资验证器,而非更复杂的搜索策略

Best-of-N 策略的瓶颈不在于采样,而在于如何判断哪个结果最好。论文发现,一个好的验证器能让 best-of-N 的效果翻倍。优先级排序:

  1. 规则验证器(单元测试、格式检查、API 返回值校验):成本最低、最可靠
  2. LLM 验证器:灵活但有一定误判率
  3. 人工验证:最准确但不可规模化

4. 动态分配计算预算

不是所有任务都值得投入 8 次采样。论文的数据表明:

一个实用的做法是先用小 N 做一次快速尝试,如果失败再逐步增大 N——这种自适应 scaling 比固定 N 更节省计算资源。

六、局限性与未来方向

这篇论文虽然贡献显著,但也存在一些值得注意的局限:

1. Benchmark 覆盖范围有限。 三个 benchmark 虽然各有侧重,但都是英文环境、单 Agent 场景。多 Agent 协作、跨语言任务、实时交互任务(如对话 Agent)尚未涉及。

2. 验证器的上限问题。 Best-of-N 策略的效果严重依赖验证器质量。论文中的规则验证器比较简单(如检查页面标题是否匹配),在更复杂的场景中可能不够用。

3. 成本分析不够深入。 论文比较了计算开销的倍数,但没有给出具体的 dollar cost 分析。在实际工程中,8 次采样意味着 8 倍的 API 调用费用和延迟——这在很多场景下是不可接受的。

4. 与训练时 scaling 的交互效应。 论文没有探讨 test-time scaling 与模型本身能力的关系。一个更强的基座模型是否会改变各策略的相对优劣?这个问题留给了未来工作。

未来的研究方向可能包括:

七、总结

这篇论文的价值不在于提出了新的算法,而在于用系统性的实验填补了一个重要的认知空白。它告诉我们:

  1. 简单策略在 Agent 场景中有惊人的效果。 Best-of-N 的优势颠覆了「越复杂越好」的直觉。
  2. Agent 场景有其特殊性。 环境交互、状态不可逆、操作离散性——这些特征让 Agent 任务与标准 NLP 任务有本质区别,不能简单地将推理任务上的结论搬过来。
  3. 计算效率比计算总量更重要。 在相同的计算预算下,「中等思维链 + 多次采样」几乎总是优于「超长思维链 + 单次运行」。

对于正在构建 Agent 系统的工程师来说,这篇论文提供了一个清晰的优化路线图:先把 best-of-N 做好,再考虑更复杂的策略。 这可能是投入产出比最高的 Agent 性能优化手段。

Frequently asked questions

什么是 test-time compute scaling?
指在模型推理阶段投入更多计算资源来提升输出质量的技术,包括更长的思维链、多次采样投票、自我修正迭代和树搜索等方法,与训练阶段的 scaling 形成互补
为什么 best-of-N 在 Agent 场景中比树搜索效果更好?
Agent 任务通常涉及与外部环境交互,状态空间巨大且不可逆,树搜索的回溯假设不成立。而 best-of-N 通过独立多次尝试,能覆盖更多不同的解决路径
思维链长度为什么在 Agent 场景中会出现收益递减?
过长的思维链会导致模型陷入过度分析和重复推理的循环,在 Agent 场景中更倾向于执行而非思考,超过最优长度后准确率反而下降
这篇论文对实际 Agent 开发有什么指导意义?
建议在工具调用密集的任务中优先使用 best-of-N 采样,在纯推理任务中适度延长思维链,同时根据任务复杂度动态调整计算预算,避免资源浪费
论文使用了哪些 Agent benchmark 进行评估?
主要在 WebArena(网页操作)、SWE-bench(代码修复)和 OSWorld(桌面操作)等主流 Agent benchmark 上进行评估,覆盖了工具使用、代码生成和界面交互等典型 Agent 场景
// next.txt ›

Some outbound links in this post are affiliate links — see disclosure.