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 在 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——都是整条轨迹一个待遇。答对了,全轨迹都是"好样本";答错了,全部丢弃或全部给负奖励。
这带来两个很要命的信用分配失败:
- 失败轨迹里的好动作被埋没。智能体可能正确发现了关键证据、排除了错误候选,只是最后一步推理错了。reward 为 0,这些好动作得不到任何正反馈。
- 成功轨迹里的坏动作被强化。智能体可能中途把正确线索误判为无关、绕了大弯,最后靠运气答对。reward 为 1,这些错误动作反而被强化了。
你想想看,BrowseComp 这种任务,4B 模型的成功率可能只有 20-30%,剩下 70-80% 的轨迹全被打成"废物"。数据利用率低得可怜。
最近也有一些工作在尝试步级信用分配,论文里点了几个名:IGPO 按"模型对正确答案的似然提升"分配奖励,但依赖模型自己的信念估计,策略更新后会漂移;CSO 通过替换动作验证关键步骤,但只给被验证的关键决策打分,其余步骤没信号;SAPO 和 MindDR 按中间实体与答案的图距离或覆盖率打分,但实体级信号判断不了"这一步搜索决策本身对不对"。
说实话,看到答案回溯这个思路时我的第一反应是:对啊,BrowseComp 类任务的标准答案是唯一且可验证的,这等于白送了一个"终点坐标"。从终点倒推路径上的路标,比从起点瞎猜哪些动作有用,靠谱太多了。
🧠 方法核心: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^*\),恢复模型要把"解题必须发现的中间证据"重建出来:
每个 \(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 区间:
这个 rubric 设计得很克制。基础分 1.0 保证"合理探索但暂时没收获"的步骤不被误伤——长程搜索里大量步骤本来就是铺路,全打成 0 分模型就不敢探索了。而真正重锤的是两个:错误丢弃正确线索扣 0.8,提交错误答案扣 1.0。这两个正是长程搜索里最致命的错误模式。

图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:
权重用 sigmoid 映射,实际配置是 \(w(r_t) = 2\sigma(2(r_t - 1))\),中性分 1.0 映射到权重 1.0。高分步骤梯度贡献大,低分步骤几乎不提供训练信号。注意一个细节:成功和失败轨迹都保留,失败轨迹里的高分步骤照样参与 SFT——数据利用率直接拉满。
ABC-GRPO:把步级分数直接当 reward,组内归一化后算折扣优势:
然后替换掉标准 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:左半是成功轨迹,右半是失败轨迹,每根柱子代表轨迹中 10% 的步骤区间(红 = 低质步骤 \(r_t \lt 1.0\),灰 = 中性,绿 = 高质步骤 \(r_t \gt 1.0\))。
两个数字很有冲击力:成功轨迹里约 4% 的步骤是低质的(轨迹级奖励会把它们当好动作强化);失败轨迹里近 10% 的步骤是高质量的(轨迹级奖励会把它们当垃圾丢掉)。这 10% 就是 ABC 从失败数据里"抢救"出来的有效监督信号——8.5K 条数据能训出这个效果,数据利用率的提升是核心原因。
RL 训练动态与上下文预算

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

图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前沿,关注我