ABSeeker:把最终答案"倒推"成每一步的评分标准,4B 小模型打赢 30B 搜索智能体

上周刷到一篇让我眼前一亮的论文。做搜索智能体(search agent)训练的朋友应该都有这个体会:一条 60 步的搜索轨迹,最后答案对了,reward 给 1;答案错了,reward 给 0。然后呢?这 60 步里到底哪步立功了、哪步帮了倒忙,没人知道。

说实话这个问题困扰我很久了。一条失败的轨迹里,可能前 30 步都找对了证据,最后一步推理翻车;一条成功的轨迹里,也可能中间丢掉了关键线索、靠运气蒙对。轨迹级别的 0/1 奖励把这些全抹平了——好的坏的同甘共苦,模型学到的信号噪声极大。

这篇来自上海交通大学的 ABSeeker(arXiv 2608.05102)给了一个相当漂亮的解法:既然标准答案已知,那就从答案倒推出"应该被发现的中间线索",拿这些线索当裁判,给每一步单独打分。失败的轨迹里找到关键证据的步骤照样拿高分,成功的轨迹里丢掉正确线索的步骤照样扣分。

核心摘要:论文提出 Answer-Backtracked Credit Assignment(ABC)框架——先用一个 LLM 从已验证答案回溯恢复出中间证据线索(Clue Recovery),再用这些线索逐条给搜索轨迹的每一步打分(Step Scoring),把稀疏的轨迹级 0/1 奖励变成稠密的步级奖励。基于这套分数衍生出 ABC-SFT(按步重加权损失)和 ABC-GRPO(步级奖励的 GRPO)。只用 8.5K 条数据训练 Qwen3.5-4B,ABSeeker 在 BrowseComp 上拿到 37.3%,配合上下文管理后冲到 55.3%,全面碾压同规模 4B 智能体,甚至打平一批 30B 级别的系统。我的判断:这不是底层范式突破,但信用分配这个角度选得非常准,工程性价比极高,值得做 agent 训练的人细读。


📖 论文信息

  • 标题:ABSeeker: Training Long-Horizon Search Agents via Answer-Backtracked Credit Assignment
  • 作者:Yijun Lu、Rui Ye(共同一作)、Jiajun Wang、Yuwen Du、Tian Jin、Songhua Liu、Siheng Chen(通讯作者:Rui Ye、Songhua Liu、Siheng Chen)
  • 机构:Shanghai Jiao Tong University(上海交通大学)
  • 链接:https://arxiv.org/abs/2608.05102 (2026 年 8 月 5 日提交)
  • 代码:https://github.com/PolarSeeker/ABSeeker
  • 模型:https://huggingface.co/PolarSeeker/ABSeeker-4B-RL

图1:ABSeeker 与其他搜索智能体的性能对比

图1:ABSeeker 在 BrowseComp、BrowseComp-ZH、GAIA-text 三个基准上与 4B 同级模型及约 30B 模型的对比。蓝色实柱是 ABSeeker(无上下文管理),斜纹柱是开启上下文管理后的成绩。注意 BrowseComp 上 ABSeeker 的 55.3% 已经超过了 GPT-5 High 的 54.9%,GAIA-text 的 81.6% 更是全场最高。


🎯 问题动机:轨迹级奖励到底错在哪

长程搜索智能体的任务形态是这样的:给一个巨难的多约束问题(BrowseComp 那种"找一个品牌,它用的是临床支持的成分、收购方创始人 1900 年代毕业、2023 年前卖到 30 多个国家"),智能体要连续执行几十上百步的搜索、点网页、验证、整合,最后给出答案。

训练这类智能体,现在的主流做法——不管是 SFT 还是 RL——都是整条轨迹一个待遇。答对了,全轨迹都是"好样本";答错了,全部丢弃或全部给负奖励。

这带来两个很要命的信用分配失败:

  1. 失败轨迹里的好动作被埋没。智能体可能正确发现了关键证据、排除了错误候选,只是最后一步推理错了。reward 为 0,这些好动作得不到任何正反馈。
  2. 成功轨迹里的坏动作被强化。智能体可能中途把正确线索误判为无关、绕了大弯,最后靠运气答对。reward 为 1,这些错误动作反而被强化了。

你想想看,BrowseComp 这种任务,4B 模型的成功率可能只有 20-30%,剩下 70-80% 的轨迹全被打成"废物"。数据利用率低得可怜。

最近也有一些工作在尝试步级信用分配,论文里点了几个名:IGPO 按"模型对正确答案的似然提升"分配奖励,但依赖模型自己的信念估计,策略更新后会漂移;CSO 通过替换动作验证关键步骤,但只给被验证的关键决策打分,其余步骤没信号;SAPO 和 MindDR 按中间实体与答案的图距离或覆盖率打分,但实体级信号判断不了"这一步搜索决策本身对不对"。

说实话,看到答案回溯这个思路时我的第一反应是:对啊,BrowseComp 类任务的标准答案是唯一且可验证的,这等于白送了一个"终点坐标"。从终点倒推路径上的路标,比从起点瞎猜哪些动作有用,靠谱太多了。


🧠 方法核心:ABC 两步走

图2:ABC 训练流程总览

图2:训练管线四个环节。1)Clue Recovery:用 LLM 从 query + 已验证答案回溯恢复线索;2)Trajectory Generation:ABSeeker 逐步 rollout,对错轨迹都保留;3)Step Scoring:LLM 拿着线索集给每一步打稠密分数(绿色好步骤、灰色中性、红色坏步骤);4)Training:ABC-SFT 按 \(w(r_t)\) 重加权损失,ABC-GRPO 直接把 \(r_t\) 当 reward。

一句话讲清核心 idea:先回答"正确答案是怎么被证出来的",再拿这个证据链当标尺去量每一步

第一步:答案回溯线索恢复(Answer-Backtracked Clue Recovery)

给定问题 \(q\) 和已验证答案 \(a^*\),恢复模型要把"解题必须发现的中间证据"重建出来:

\[\mathcal{C} = \{c_1, c_2, \ldots, c_K\}\]

每个 \(c_k\) 是一条可验证的中间证据——具体实体、事实、属性或关系。

这里有个细节我觉得挺关键:这个回溯本身也是一个 ReAct 循环。恢复模型不是拍脑袋编线索,而是真的去调 search_web 和 visit_web 搜索、访问页面,从答案往回追到问题,每条线索都锚定在真实网页内容上。只有经过验证的线索才留下来。这就避免了"LLM 幻觉出假线索当裁判"的灾难。

第二步:线索锚定步级打分(Clue-Anchored Step Scoring)

有了线索集,打分器(同样是 LLM)对轨迹里每一步单独评分。输入是当前步骤(推理 + 工具调用 + 工具返回)、原始问题、完整线索集。每步基础分 1.0,然后按行为加减:

被检测到的行为 分数变化
发现或验证了正确线索 加 0.8
正确排除了错误候选 加 0.4
错误地丢弃了正确线索 减 0.8
提交了正确答案 加 1.0
提交了错误答案 减 1.0

多种行为可叠加,最终裁剪到 0 至 2.0 区间:

\[r_t = \operatorname{clip}\left(1.0 + \sum_{j \in \mathcal{A}_t} \Delta_j,\ 0,\ 2.0\right)\]

这个 rubric 设计得很克制。基础分 1.0 保证"合理探索但暂时没收获"的步骤不被误伤——长程搜索里大量步骤本来就是铺路,全打成 0 分模型就不敢探索了。而真正重锤的是两个:错误丢弃正确线索扣 0.8提交错误答案扣 1.0。这两个正是长程搜索里最致命的错误模式。

图3:线索恢复与步级打分的具体例子

图3:一个真实训练样本。左边:四约束问题 + 答案 CeraVe,恢复出 6 条线索——临床成分 Ceramides、收购方 L'Oréal、1904 年毕业的创始人 E. Schueller、联合创始人 T. Allison、2022 年合并的大学 SJU/USciences、2023 年 30+ 国家销售。右边:一条采样轨迹的打分过程——第 22 步发现 Ceramides 并关联到 CeraVe,拿 1.8;第 35 步同时验证 c2 和 c3,叠加后触顶 2.0;第 56 步放弃已有证据退回错误候选 SkinCeuticals,只剩 0.2;第 64 步提交错误答案,直接 0 分。

看这个例子就能感受到这套打分的"细":第 56 步这种"临门退缩"的动作,在轨迹级奖励里根本 invisible,在这里被精准抓出来重罚。

两阶段训练:ABC-SFT 和 ABC-GRPO

拿到步级分数后怎么用?论文给了两个变体,分别改造 SFT 和 RL。

ABC-SFT:按步级奖励重加权每轮的 loss:

\[\mathcal{L}_{\text{SFT}}(\theta) = -\sum_{t=1}^{T} w(r_t) \sum_{j} \log p_\theta(x_{t,j} \mid x_{t,\lt j})\]

权重用 sigmoid 映射,实际配置是 \(w(r_t) = 2\sigma(2(r_t - 1))\),中性分 1.0 映射到权重 1.0。高分步骤梯度贡献大,低分步骤几乎不提供训练信号。注意一个细节:成功和失败轨迹都保留,失败轨迹里的高分步骤照样参与 SFT——数据利用率直接拉满。

ABC-GRPO:把步级分数直接当 reward,组内归一化后算折扣优势:

\[A_{i,t} = \sum_{k=t}^{T_i} \gamma^{k-t} \widehat{R}_{i,k}\]

然后替换掉标准 GRPO 里的轨迹级优势,其他不变(clip 目标照旧)。

这里 \(\gamma = 0.25\),说实话我看到这个数愣了一下——折扣打得相当狠,基本只看眼前几步的回报。我的理解是:步级奖励本身已经是稠密信号了,不需要长距离回传;折扣太缓反而把远处的噪声引过来。可惜论文没消融 \(\gamma\) 的取值,这块只能猜。

训练配置(给想复现的人)

  • 骨干:Qwen3.5-4B;SFT 数据来自 OpenSeeker,随机抽 8.5K 条轨迹(5.5K 正确 + 3.0K 错误),3 个 epoch,lr 5e-5,工具响应不参与 loss
  • RL:veRL 框架,1000 个问题(200 个少于 100 轮、800 个至少 100 轮),每题 8 个 rollout,每轮最多 200 次交互,temperature 1.0、top-p 0.95,actor lr 1e-6,KL 系数 0.001
  • 线索恢复和打分器统一用 DeepSeek-V4-Flash

📊 实验结果:4B 的身板,30B 的成绩

主实验覆盖五个基准:BrowseComp、BrowseComp-ZH、xbench-2505、xbench-2510、GAIA-text,全部最多 200 次工具调用,跑三次取平均。

模型 参数量 BrowseComp BrowseComp-ZH xbench-2505 xbench-2510 GAIA-text
Gemini-3.1-Pro 85.9 53.0 53.0 80.6
Seed-2.0-Pro 77.3 82.4 78.6
GPT-5 High 54.9 63.0 77.9 75.0 76.4
MiroThinker-1.7-mini 30B 67.9 72.3 57.2 80.3
RedSearcher 30B 57.4 58.2 80.1
Tongyi-DeepResearch 30B 43.4* 46.7* 75.0 70.9
OpenSeeker 30B 29.5* 48.4* 74.0
QUEST-4B 4B 40.0 77.7
DR-Venus 4B 29.1* 37.7* 74.7 40.7 64.4
AgentCPM-Explore 4B 24.1* 29.1* 70.0 34.0 63.9
ABSeeker 4B 37.3* / 55.3 39.1* / 52.9 77.0 46.0 81.6

(* 表示无上下文管理;ABSeeker 给出的是"无 / 有上下文管理"两个数)

几个值得说道的点:

同规模无敌手。4B 档位里,ABSeeker 五个基准全部第一。BrowseComp 开上下文管理后 55.3%,比 QUEST-4B 的 40.0% 高出 15 个点——这个幅度相当能打。

越级打 30B。xbench-2505(77.0)和 GAIA-text(81.6)上超过所有已报告的 30B 智能体;BrowseComp 上 55.3% 也压过 Tongyi-DeepResearch(43.4)和 OpenSeeker(29.5),甚至摸到了 GPT-5 High(54.9)的边。

泛化性。模型只在 BrowseComp 风格的问题上训练,但 xbench 和 GAIA 上一样涨——说明学到的是"怎么搜"的通用行为,不是背题型。

不过我得泼点冷水:55.3 这个 headline 数字有相当部分是上下文管理的功劳。37.3 → 55.3,18 个点的提升来自推理期的上下文策略(256K 窗口 + discard-all 策略最多五轮),而不是训练本身。37.3% 的裸分在 BrowseComp 上其实是打不过 QUEST-4B 的 40.0% 的。这并不是说方法不行——消融表证明 ABC 相对标准 SFT/GRPO 的提升是实打实的——但宣传口径上"4B 打赢 30B"要打个折扣看。

消融实验:ABC 的两个变体都在涨

模型 BrowseComp BrowseComp-ZH xbench-2505 xbench-2510 GAIA-text
Qwen3.5-4B + 标准 SFT 28.5 30.4 73.0 27.0 66.0
+ ABC-SFT 30.8 31.8 72.0 35.0 72.8
SFT 之上 + 标准 GRPO 33.5 36.3 75.0 41.0 77.7
SFT 之上 + ABC-GRPO 37.3 39.1 77.0 46.0 81.6

(全部无上下文管理)

ABC-SFT 相对标准 SFT:BrowseComp 涨 2.3、GAIA-text 涨 6.8、xbench-2510 涨 8.0。ABC-GRPO 相对标准 GRPO:五个基准全胜,GAIA-text 又涨 3.9。步级信号在 SFT 和 RL 两个阶段都成立,这是这篇论文最硬的证据。

奖励分布分析:轨迹级奖励错得有多离谱

图4:8.5K 条 SFT 轨迹的步级奖励分布

图4:左半是成功轨迹,右半是失败轨迹,每根柱子代表轨迹中 10% 的步骤区间(红 = 低质步骤 \(r_t \lt 1.0\),灰 = 中性,绿 = 高质步骤 \(r_t \gt 1.0\))。

两个数字很有冲击力:成功轨迹里约 4% 的步骤是低质的(轨迹级奖励会把它们当好动作强化);失败轨迹里近 10% 的步骤是高质量的(轨迹级奖励会把它们当垃圾丢掉)。这 10% 就是 ABC 从失败数据里"抢救"出来的有效监督信号——8.5K 条数据能训出这个效果,数据利用率的提升是核心原因。

RL 训练动态与上下文预算

图5:RL 训练动态

图5:左图是 200 题验证集上的 BrowseComp 表现,ABC-GRPO 从训练开始后就持续压住标准 GRPO;右图是平均交互轮数,ABC-GRPO 的轨迹明显更长——步级奖励不仅提了准确率,还鼓励了更充分的探索。

图6:不同上下文预算下的表现

图6:上下文预算越充足,ABSeeker 表现越好,BrowseComp 从 37.3% 一路爬到 55.3%,BrowseComp-ZH 从 39.1% 到 52.9%。


🤔 我的判断

最值钱的地方:答案回溯这个角度选得准。它把一个看似无解的问题——"没有过程标注怎么做步级监督"——转化成了一个可解的问题:"BrowseComp 类任务答案唯一可验证,证据链可以倒推重建"。而且回溯用真实搜索验证线索,不是 LLM 闭门造车,这比同期 IGPO 那种靠模型自身信念估计的做法稳得多。8.5K 数据训出这个效果,数据效率是实打实的卖点。

要泼的冷水

一是整个管线重度依赖外部强模型。线索恢复和逐步打分都用 DeepSeek-V4-Flash——8.5K 条轨迹、每条几十上百步,每一步都要 LLM 过一遍,这个打分成本不低,而且分数质量上限被打分器锁死。如果打分器在某类问题上判断不准,错误信号会被 sigmoid 加权放大。

二是线索回溯这个前提不是所有任务都满足。BrowseComp 式任务答案唯一、证据链可重建,但开放式研究问题("分析某行业趋势")没有唯一答案,回溯无从下手。论文把范围划得很清楚,这算诚实,但也限制了方法的适用面。

三是 headline 数字对上下文管理的依赖。37.3 → 55.3 这 18 个点来自推理期策略,裸分 37.3 在 BrowseComp 上还输给 QUEST-4B。消融表证明了 ABC 本身的增益,但读者别被 55.3 带偏了预期。

对工程的启发:如果你也在训 agent,这套思路的迁移成本很低——只要你的任务有"可验证终点"(数学题的答案、代码的测试用例、表单填写的目标态),就可以倒推中间检查点做步级打分。哪怕不上 RL,光用 ABC-SFT 的 loss 重加权,8.5K 级别的数据也能榨出不少增益。\(\gamma = 0.25\) 这个激进折扣也值得在自己的 step-level RL 里试试。

论文自己也承认,4B 只是算力约束下的起点,骨干放大后 ABC 的增益会不会更猛,是个值得跟的开放问题。


觉得有启发的话,欢迎点赞、在看、转发。跟进最新AI前沿,关注我