目录 · 1 节
1When Retrieval Metrics Mislead: Measuring Policy Signal in Long-Horizon Tool-Use Agents — 深度解读When Retrieval Metrics Mislead: Measuring Policy Signal in Long-Horizon Tool-Use Agents — 深度解读
1. 问题与动机
工具调用(tool-use)agent 在长程任务里通常先检索"该遵守哪条策略/政策",再决定动作。业界默认用 exact-match retrieval recall(精确匹配召回率)来衡量"检索器是否给下游决策模型提供了有用的策略上下文"——召回率高就认为检索质量好。本文直接质疑这一代理指标(proxy)是否成立。作者在 τ-bench(airline / retail 两个客服域)上把问题具体化为"动作前策略分类":给定当前对话轨迹,模型要在 allow / verify / refuse 三类里判断下一步动作该被允许、需核验还是应拒绝。关键观察是:在 airline 域,四个常用检索器的 recall@5 只有 0.16–0.24、recall@1 仅 0.07,gold 策略条款在 122 条候选里的中位排名约在第 45 位——按检索指标看几乎是"检索失败"。但下游分类性能是否真的随之崩塌?这正是论文要回答的、对所有做 RAG/agent 评测的团队都切身相关的问题。
2. 方法详解
结构化决策状态(structured state):作者不把原始长轨迹丢给分类器,而是抽取四个显式字段——{request intent(请求意图), evidence read so far(已读证据), applicable policy assertion(适用策略断言), pending action class(待决动作类别)},压缩到约 185 tokens,相比原始轨迹的约 2118 tokens 缩减一个数量级。
分类器与训练设置:用 Qwen2.5-3B/7B 做 LoRA 微调(r=16、5 epochs、lr 5×10⁻⁵、bf16)。训练集为 τ-bench-airline 的 195 个 airline state,测试集为 15 个不相交任务下的 85 个 state,gold 标签来自策略断言。
两种条件对照:(a) gold-policy conditioning——分类器拿到基准指定的正确策略条款;(b) retrieved-policy——测试时用现成检索器(MiniLM bi-encoder、bge-large-en-v1.5、e5-large-v2、bge-reranker-large)的 top-1 条款替换 gold 条款。通过对比这两条件下的 macro-F1,即可分离"检索指标"与"下游策略信号"。
3. 核心技术贡献
- 揭示"召回率会低估下游策略效用":在 airline 上 recall@1 仅 0.07 的劣质检索条件下,top-1 retrieved 的 macro-F1 = 0.580,几乎追平 gold 条款的 0.604(gap 仅 −0.024,95% CI [−0.233, +0.207],无可检出损失)。即"检索指标很差"并不等于"下游决策很差"。
- 结构化状态本身是更强的信号来源:在都给 gold 策略时,结构化状态 macro-F1 = 0.601 远高于原始轨迹的 0.293(gap +0.308,CI [+0.237, +0.380]),微调后净提升 +0.173(3B)/+0.133(7B)——即摘要所述的 0.13–0.17。
- 增益来源的因果分解:策略可得性贡献约一半(raw+policy 比 raw +0.137),结构化字段筛选贡献另一半(+0.171);并用多组控制实验排除了"只是更短/只是有 scaffold/标签泄漏"等替代解释。
4. 实验结果分析
核心对照(3B,gold 策略):结构化状态 0.601 vs 原始轨迹 0.293。检索 vs gold(3B):gold 0.604、top-1 retrieved(MiniLM) 0.580、mismatched policy 0.315、no policy 0.206——可见"给错策略"或"不给策略"才会真正掉到 0.31/0.21,而"检索指标差但检到的条款大致对路"几乎不掉分。
检索指标侧:airline recall@5 = 0.16–0.24、retail recall@5 = 0.55–0.60;按类别看 allow/verify/refuse 的 recall@5 = 0.00/0.05/0.50,分布极不均衡。
消融与稳健性:长度对齐控制仍有 +0.184,字段打乱(shuffled)+0.313,mismatched 控制 +0.268(策略关键词与 gold 动作仅 14–33% 重合,排除标签泄漏)。按类别,结构化增益集中在 refuse(recall 升到 1.00)和 allow(F1 0.39→0.63),代价是 verify recall 略降 0.46→0.40。gold-injection 诊断显示:结构化相对原始的优势只有在 gold 条款有效命中率约 0.75 时才稳健,而所有实际检索配置都远低于该阈值。7B 上结论一致(retrieved +0.450 vs gold +0.467,delta −0.017)。
5. 局限与未来方向
作者明确指出:(1) 构造效度——实验用的是基准自带的策略断言(airline 122 条、retail 51 条),并非真实多页政策文档,对自然语料的外推未验证;(2) 规模小——测试集仅 85 个 airline state/15 任务、retail 40 任务,且只有两个带策略断言的域;(3) 机制混淆——retrieved 条款比 mismatched 条款更长(21 vs 10 tokens),上下文对齐与长度效应部分缠绕;(4) 配置敏感——"无可检出损失"这一结论对微调配置敏感,欠训练(gold ≤0.49)或过训练(8 epochs,delta −0.16)时 gold-policy 差距会重新拉开;(5) 离线评测——分类器在 live agent 闭环外离线评估。结论的边界是"检索并非普遍充分",高风险系统仍需"检索之外的验证"。
6. 工业实践意义
对搜索/推荐与 agent 从业者,最直接的启示是:不要把 nDCG/recall 当作检索质量的唯一裁判。本文给出反例——recall@1 仅 0.07 的"差检索"在下游策略分类上几乎不掉分,说明"检索到正确文档"与"下游模型真正用上它"是两回事。落地建议:(a) 评测时在 exact-match recall 之外,并行报告 end-to-end 的 downstream/retrieved-policy 性能(论文的核心 recommendation);(b) 与其堆 top-k 命中率,不如优先做上下文结构化——把意图、已读证据、适用规则、待决动作压成紧凑结构化状态(这里 185 vs 2118 tokens),既省 token 又显著提分(+0.17);(c) 注意"给错策略/不给策略"才是真正的性能悬崖(掉到 0.31/0.21),因此召回的目标应是"够用且对路",而非追求精确命中;(d) 高风险决策(如内容审核中的 refuse)应在检索之外加独立验证。部署上结构化状态把上下文从约 2118 压到 185 tokens,对延迟和显存都友好。