2026年自主智能体的核心问题,已经从"pass@1能打多高"悄悄换成了"测试时计算(test-time compute)该怎么花"。当模型能力本身进入平台期,决定一个自主体成败的,变成了它在推理阶段愿意烧多少 token、怎么分配这笔预算。OPPO AI Agent Team 发表在 arXiv 2506.12928 的系统性研究《Scaling Test-time Compute for LLM Agents》给出了一个反直觉的结论:让智能体"想得更深"是亏本生意,增益几乎全在"宽度"上。每步强制反思的智能体,分数从 55.76 掉到 55.15;而看起来更高级的树搜索,被最朴素的 Best-of-N 并行采样全面压制。与此同时,SWE-bench Verified 头条分(76.8%)与其"防污染版" SWE-bench Pro(约25%)之间 51 个百分点的断崖,揭示了 pass@1 数字本身的可信度危机。真正决定生产可用性的,是 pass^k 可靠性 × 单题成本的乘积。
| 策略 | 机制 | GAIA 验证集增益/损失 | 计算倍数 | 结论 |
|---|---|---|---|---|
| 每步反思(Step-based) | 每个动作后插入反思 | 55.76→55.15(倒退) | ~1.3× | ❌ 打断推理流,净负收益 |
| 频繁反思(阈值<8) | 高频触发反思 | 53.66(全档最差) | ~1.2× | ❌ 越想越糟 |
| 选择性反思(阈值<2) | 仅劣步触发 | 56.36(全场最佳) | ~1.05× | ✅ 唯一正向的"深度"投入 |
| 树搜索(Tree Search) | 分支展开+验证剪枝 | 50.91(scoring) | ~3-5× | ❌ 验证器误差沿序列复合 |
| Best-of-N(BoN) | N 条并行轨迹取最优 | 56.8→63.03 | N× | ✅ 简单且稳健,性价比之王 |
| Beam Search | 序列宽度受限搜索 | 54.55→56.97 | ~2-3× | ⚠️ 介于两者,受验证器拖累 |
| list-wise 合并/验证 | 候选间相对比较择优 | 比投票/打分 +3~6 分 | ~1.1× | ✅ 最廉价的确定性增益 |
| 多模型 Rollout | 异构模型并行采样 | pass@4 混采 > 单模型 | N× | ✅ 多样性红利,小模型受益最大 |
业界对"反思(reflection)"的迷信近乎宗教——只要 agent 卡住或犯错,第一反应就是"让它多想想、多反省"。OPPO 的数据直接打脸。在 GAIA 验证集上,不带反思的基线智能体得 55.76 分,而每步都反思的版本只有 55.15 分,比不反思还低。反思非但没纠错,反而打断了模型既有的推理节奏。
分难度看更清楚:Level 1 简单任务反思有用(71.7),因为小错易纠、开销小;但 Level 2 中等复杂度任务反思反而拖累基线,触发越频繁越差;Level 3 困难任务反思带来中等改善(34.62),但天花板被任务本身压住。三个反思频率档位——频繁(<8)、适中(<5)、选择性(<2)——分别拿到 53.66、52.12、56.36。最贵的"频繁反思"是全场最低分,最省的"选择性反思"反而是全场最高分。这条曲线几乎是单调的:反思越少,分数越高。
机制上,每步反思等于在智能体的动作流里强行塞入一段"我刚才做得对吗"的元推理,这不仅稀释了主任务信号的注意力,还可能把一个原本正确方向的动作"想歪了"。健康阈值门控反思的代码非常简单,却比框架默认的全局反思强得多:
# 选择性反思:仅当本步质量分低于阈值才触发,其余时候放过
def maybe_reflect(step_score: float, action, obs, threshold: float = 2.0):
if step_score < threshold: # 劣步才反省,好步不打断
return reflection_agent(action, obs) # 返回修正后的下一步意图
return None # None = 继续原推理流,零开销
结论:"何时反思"比"是否反思"重要十倍。任何在 loop 里无条件插入 reflection 的框架,都在向用户收一笔深思税。
"树搜索比贪心采样更高级"是另一个被高估的直觉。在数学/推理任务上成立,但在智能体任务上失效。OPPO 的对照里,Tree Search 配 scoring 验证只有 50.91 分,是所有并行采样里最低的;而最朴素的 Best-of-N 配 list-wise 合并拿到 63.03,高出 12 分。
根本原因在于智能体的工作方式:它把一个大问题拆成多步,依次调用模型逐步推进。这意味着树搜索每展开一个深层节点,都依赖验证器对该节点"动作质量"的判断;而验证器本身有误差。在序列上,误差会沿动作链指数复合——第 k 层的正确率约等于验证器单步准确率的 k 次方。验证器稍微不靠谱,深层展开几乎必然把智能体带偏。
# 为什么 BoN 稳、Tree Search 慌
Best-of-N: 轨迹1 ┐ 轨迹2 ┤ → 全跑完 → list-wise 挑最优 (N 条独立,误差不复合)
轨迹3 ┘
Tree Search: 根 → A1(验证器判优) → A1B1(验证器判优) → ... (每层都赌验证器,误差连乘)
Best-of-N 的优势恰恰在于"并行的独立性":N 条轨迹各自从头跑到尾,互不传染,最后用一次全局比较挑出最好的那条。验证器的误差只在最后合并那一处用一次,而不是在搜索树的每一层反复用。对自主体而言,搜索的深度不是免费的,验证器误差会把它变成负债。这也解释了为什么 BoN 在"简单却有效"的标签下长期被低估——它不是不够高级,而是它恰好避开了智能体序列展开特有的复合误差。
并行采样跑完多条轨迹后,怎么从候选里选出最终答案?这里有投票(voting)、打分(scoring)、list-wise(两两/列表相对比较)三种主流做法。OPPO 的结果非常干净:无论底层是 BoN 还是 Beam Search,list-wise 都碾压另外两种。
具体数字:BoN 上,投票 56.8、打分 59.39、list-wise 63.03;Beam Search 上,投票 54.55、打分 53.94、list-wise 56.97。把验证器换成 list-wise 模式,平均比 scoring 高出约 3 分,个别配置高出 6 分以上。而且这是几乎不增加成本的改动——同样的候选集,只是换个挑选方式。
为什么相对比较胜出?两个原因。第一,绝对打分缺乏稳定标尺:同一个验证器给不同题目的"8 分"含义可能完全不同,而 list-wise 是在同一批候选之间做相对排序,标尺一致、更准。第二,投票会被多数错误带偏:如果 5 条候选里有 3 条都犯了同一个常见错误,投票会把错误选上来;list-wise 不只看多数,还能从少数派候选里挑出"尽管小众但正确"的那条。这与上一节的复合误差呼应——把验证器的"决策权"集中使用一次(合并时),而不是层层使用(搜索时),正是稳健性的来源。
# 三种合并方式,list-wise 性价比最高
def merge_vote(cands): return Counter(c.extract_final() for c in cands).most_common(1)[0][0]
def merge_score(cands): return max(cands, key=lambda c: prm.score(c)).extract_final()
def merge_listwise(cands): # 让 PRM 在同批候选里做相对优选,标尺一致
return judge.listwise_best(cands).extract_final()
可落地的建议:只要你的智能体已经做了并行采样,把合并器从 voting/scoring 换成 list-wise 是近乎白捡的增益,且实现成本极低。
并行采样的增益,除了"采多少条",还有"用谁采"。OPPO 测了用不同 LLM 作为 rollout 模型的效果:在 pass@1 下 GPT-4.1 单独最强;但一旦进入 pass@2、pass@4,用异构模型与 GPT-4.1 混采,比纯用 GPT-4.1 还高。换句话说,多样性本身就是一种算力——它扩大了探索空间,让"至少有一条对"的概率上升。
这条结论与 SWE-bench 上的真实战绩高度吻合。2025 年 6 月,TRAE 用 Claude 4 Sonnet 与 Claude 3.7 Sonnet 的集成冲到 75.2%,证明了"模型多样性能突破单模型天花板"。更极端的是 Qwen3-Coder-Next:仅约 3B 激活参数的 MoE 架构,在 SWE-bench Verified 上拿到 70.6%——一个 2024 年只有大模型才够得着的数字。它的标签是"奖励采样策略(rewards sampling strategies)":单次不够强,但 pass@5 的每 GPU 小时产出效率,反而压过那些 pass@1 更高却需更多资源追加采样的庞然大物。
# 多样性 = 算力乘数(GAIA pass@k 观察趋势)
单模型 pass@4: ████████░░ (相关候选高度重复,pass@k 接近 pass@1)
多模型 pass@4: ███████████ (错误模式互不重叠,pass@k 显著抬升)
对自主体团队的直接启示:与其把全部预算砸在一个最贵的模型上跑 N 次一模一样的轨迹,不如用 2-3 个异构模型分担采样配额。同一个 prompt 在不同模型上犯错的位置往往不同,混采的"互补性"比单纯加 N 更值钱。这也让中等尺寸的开源模型在采样密集型工作流里重新变得有竞争力。
前面四节讲的都是"如何把测试时计算花对"。但还有一个更上游的问题:你拿来当基准的那个 pass@1 分数,本身有多可信? SWE-bench 的进化史给出了冷酷答案。2023 年 10 月 Princeton 发布 SWE-bench 时,GPT-4 配 RAG 只解出 1.96%;同年 SWE-agent(让模型直接与仓库交互而非读快照)冲到 12.47%,单这一个架构决策就带来约 6 倍提升——能力提升从来主要来自更好的 agent loop,而非更猛的模型。
此后是教科书式的"脚手架军备竞赛":Devin 13.86%、GPT-4o 裸跑 33.2%、Devlo 47.3%、GRU 多智能体 48.67%、o3+脚手架 ~71%、Opus 4.5+Live-SWE-agent 79.2%。每一步跃迁都标注着"agentic scaffolding"——工具调用、测试执行反馈、多步规划、模型集成——而不是单纯换大模型。到 2026 年 4 月,头条已逼近 80%。
但断崖在"换题"时出现。Kimi K2.5 在 Verified 上 76.8%,在企业级、多文件、模型没见过的 SWE-bench Pro 上,头部模型集体塌到 23–46%。一个 Verified 能解 76% 的模型,在难度相当但新鲜的仓库上可能只解 25%。这 51 个百分点的落差不是噪声,主要是污染:模型在包含 Verified 题集的数据上训练过,等于在已经见过的考卷上拿分。当 SWE-rebench 用统一脚手架重测,排名大洗牌:Claude Opus 4.6 65.3%、GLM-5 62.8%、DeepSeek V3.2 60.9%——脚手架优化型提交不再注水。Epoch AI 曾预测 2025 年底到 88%,实际约 81%,因为最后 10–15 分是当前修复架构啃不动的跨模块多文件 bug。
flowchart TD
Q[一个 SWE-bench 任务] --> V[SWE-bench Verified<br/>头条榜]
Q --> P[SWE-bench Pro / SWE-rebench<br/>防污染重测]
V -->|"Kimi K2.5: 76.8%<br/>头条漂亮"| NOTE1[⚠️ 多为训练污染]
P -->|"同模型 Pro: ~25%<br/>同脚手架: 60–65%"| NOTE2[✅ 真实泛化能力]
NOTE1 -.->|差 51 分| NOTE2
style NOTE1 fill:#ffd0d0
style NOTE2 fill:#d0e8ff
读榜的姿势:头条 pass@1 是个被污染的上界,真正可信的是统一脚手架下的 SWE-rebench 排名。否则你很可能在为一个"背过答案"的系统买单。
把以上拼起来,2026 年自主智能体的生产度量公式应该是:value = pass^k 可靠性 × (1 / 单题成本),而不是单独看 pass@1。研究者原话:"From the lens of business automation, pass^k is more relevant. However, most benchmarks only report pass@1, not higher pass^k metrics."——榜上公布的,和生产需要的,正好错位。
成本侧的数据同样关键。Kimi K2.5 每 100 万输入 token 仅 $0.60,约为 Claude 档模型的十分之一。对高吞吐部署,"中等精度 × 海量低成本"往往打败"最高精度 × 高价"。正确的试点姿势是:对同一批代表性任务,每个模型跑 5 次,追踪一致性。一个"每次都稳定解出 70%"的模型,对自动化流水线而言,远比"最佳一次能解 80%、但重复跑会掉到 50%"的模型有价值。后者意味着你永远不知道这一次跑出来能不能用,必须人盯——那就不是"自主"了。
# 生产侧该测的是 pass^k 的"稳定区",不是 pass@1 的"最高分"
def assess(agent, tasks, k=5):
rows = []
for t in tasks:
outs = [agent.run(t) for _ in range(k)] # 同题 k 次
passed = sum(run.tests_pass for run in outs)
rows.append(passed / k) # 每题的稳定通过率
return {
"pass1_mean": mean(rows), # 平均能解多少
"pass1_std": stdev(rows), # 稳不稳(越小越可自动化)
"cost_per_ok": total_cost / (sum(rows) * len(tasks)), # 每解一题花多少钱
}
把 pass@k 一致性、单题成本、防污染重测这三个数字摆在一起,远比一个孤零零的头条 pass@1 诚实。任何只报 pass@1 的厂商材料,都该按"上界"而非"实测"来读。
这套"测试时计算的最优配方"(并行 BoN + 选择性反思 + list-wise 合并 + 多模型 rollout)本身就是一个可产品化的切入点,因为它的每一个组件都有清晰的、可量化的边际收益,正好是训练营和 B 端工具最爱的叙事结构。
训练营层面,它可以拆成一个三段式课程:第一段"反思税"实验(让学员亲眼看到每步反思掉分 0.6),第二段"合并器升级"(voting→list-wise,一行代码换 +6 分),第三段"多模型采样预算分配"(用 GLM-5 + DeepSeek 混采压低单题成本)。每一段都有数字结果,适合做成"实测改一行、分数跳一档"的钩子型内容。注意避坑:强调"何时反思"而非"要不要反思",避免落入"反思万能"的旧叙事。
产品层面,最自然的落点是给现有 coding agent(OpenHands、SWE-agent、Aider 这类)加一层"采样编排层":默认 N=4 并行、list-wise 合并、阈值<2 的门控反思。因为头部 SWE-bench 提交几乎全靠"agentic scaffolding + 模型集成"而非单纯换模型,这个编排层正是当前差距所在。差异化卖点应是 pass^k 稳定性曲线和单题成本/题这两条图,而不是又一个头条 pass@1。
flowchart LR
subgraph 深度[深度分支 - 亏]
R1[每步反思] --> R2[频繁反思]
R2 --> R3[树搜索<br/>验证器复合误差]
end
subgraph 宽度[宽度分支 - 赚]
B1[并行 BoN 采样] --> B2[list-wise 合并]
B3[多模型 rollout] --> B2
B4[选择性反思 阈值<2] --> B2
end
深度 -.->|53.66 / 50.91 分| L[分数被压低]
宽度 ==>|63.03 分, 单题成本可控| W[生产可用]
style 深度 fill:#ffe0e0
style 宽度 fill:#e0ffe0
style W fill:#b0e8b0
style L fill:#ffb0b0
场景一:高吞吐、成本敏感(内部自动化、批量 issue 处理)——选 Kimi K2.5 或 GLM-5 这类十分之一价档模型,N=4 多模型混采 + list-wise 合并。牺牲一点 pass@1 峰值,换 pass^k 稳定性和单题成本,综合性价比最高。
场景二:高难度、低容错(安全/核心库修复)——用 Opus 4.6 / Claude 档做单条主轨迹,配阈值<2 的选择性反思,绝不每步反思;并行采样预算控制在 N=2,避免验证器复合误差。优先看 SWE-rebench 风格的防污染重测分。
场景三:能力探索、上限突破——主打多模型 rollout 集成(参考 TRAE 的 Sonnet×3.7 集成思路),用异构模型的错误互补性抬 pass^k,而非堆同一个模型。
通用铁律:永远测 pass^k 一致性(同题 5 次),永远报单题成本,永远用统一脚手架重测一次——头条 pass@1 只配当上界看。
[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
