AgentDrift:ranking 指标稳定,不代表推荐 agent 没被受污染工具带偏
背景
补完站里现有的 AgenticRec、BiasRecBench、Echoes in the Loop 和 PolicySim 这些线之后,站里其实还留着一个没有被单独写开的风险空档:
如果推荐 agent 的工具证据本身被污染,现有 ranking 指标到底能不能看出来?
过去很多公开路线已经开始:
- 让
LLM做多步推荐或建议生成。 - 让 agent 在轨迹中调工具、读 profile、查 metadata 或取外部证据。
- 再用
NDCG、命中率或其他 utility 指标评价输出质量。
但这里默认了一个很强的前提:
工具返回的 observation 基本可信。
这一轮我先用 arXiv export API 做差集发现,再用本地 search-layer 的 exact-title / 中文检索补传播层线索,随后回到一手来源做定向核验,最终锁定:
AgentDrift: Unsafe Recommendation Drift Under Tool Corruption Hidden by Ranking Metrics in LLM AgentsAgentDriftarXiv HTMLAgentDriftPDFAgentDrift的 ChatPaper 中文摘要页
核完之后,我更愿意把它记成:
ranking 指标稳定,不代表推荐 agent 没被受污染工具带偏
核心判断
这条线真正新增的,不是“又一个 tool attack”,而是 evaluation blindness 被正式写成推荐 agent 的风险对象
如果只看标题,很容易把这篇 paper 当成泛泛而谈的 agent 安全提醒。
但它真正补出的新层不是普通 prompt injection,而是:
标准 ranking-quality 指标,可能只能看见 utility,还看不见安全失真。
论文做的不是单轮提示攻击,而是 paired-trajectory replay:
- 用真实金融 advisory 对话做多轮回放。
- 在 clean 和 contaminated 两种工具输出条件下跑同一条轨迹。
- 比较 recommendation quality 和 safety suitability 是否同时变化。
结果很硬:
- 标准
UPR基本维持在1.0左右。 - 但风险不合适推荐会出现在
65%-93%的轮次里。 - 用标准
NDCG或 personalized relevance 变体仍很难显式看出问题。 - 只有 safety-penalized
sUPR才把 preservation ratio 拉低到0.51-0.74。
这意味着它最值得 Story Lab 记住的系统位不是“某个模型被打穿了”,而是:
推荐 agent 已经开始出现 ranking utility 与 recommendation safety 明显脱钩的 evaluation blindness。
后续统一风险表至少要再补几列:
tool-integrity assumptionevaluation blindnesssafety-aware metrictrajectory-level safety monitor
否则 AgenticRec 这类 tool-integrated policy、BiasRecBench 这类 selection robustness、以及 AgentDrift 这类 tool corruption 风险,还会继续被写成一类“推荐 agent 很脆弱”。
它把失真拆成 information channel 和 memory channel,并证明多数危险是第一跳就被脏 observation 击穿
这篇 paper 第二个很值得单独记的地方,是它没有只说“长期 memory 会把错误越滚越大”,而是明确把污染拆成两条路径:
information channel:agent 直接根据当轮被污染的工具 observation 做推理。memory channel:上一轮已经被污染的决策与总结再被写回 persistent memory,之后继续放大偏差。
作者的结论并不是“memory 最可怕”,而是:
安全违例首先主要由 information channel 触发,memory 更像把已经开始的错误持续 ratchet forward。
论文里几组数字特别值得长期记住:
69/70条轨迹在第1个 contaminated turn 就出现首次安全违例。- 违例会沿
23步轨迹持续存在,没有明显 self-correction buffer。 - 在
1,563个 contaminated turns 里,没有任何 agent 显式质疑工具数据可靠性。 Figure 11又明确写出,info-only配置已经能复现接近 full attack 的SVR_s,而memory-only更像漂移增幅器。
这说明推荐 agent 的风险不只是“会不会记错历史”,而是:
只要 observation ingestion 本身没有 integrity contract,第一步 reasoning 就可能已经偏了。
因此 Story Lab 后续还要单独记录:
contamination channelfirst-hit turnself-skepticism rateratchet persistence
它最危险的信号,是轻微污染和纯叙事污染也能绕过监测,而不仅是极端数值篡改
如果 AgentDrift 只是在说“把风险分数完全翻转后模型会犯错”,那它仍然像一个极端 attack demo。
但论文又往前补了一层更重要的结论:
不需要特别夸张的数值操纵,也能让 agent 显著漂移。
正文和附录至少给了两种更贴近真实系统的问题形态:
narrative-only corruption:只改 biased headlines,不动数值。within-band perturbation:只在相邻 risk band 内做±1级别扰动。
这两条都很关键。
一方面,论文明确写到 biased headlines 这种“没有直接改数值”的叙事污染,同样可以诱发显著 drift,而且会完全绕过 consistency monitors。
另一方面,Figure 16 / Table 30 又说明:
within-band污染虽然更轻。- 但仍能达到 full attack
61%的漂移强度。 - 同时还能逃过 threshold-based monitors。
NDCG_p / UPR依旧几乎不动。
这意味着 tool-use recommendation 后续不能只问“有没有 reference checker”,还得继续问:
monitor coverageperturbation budgetnarrative-only vulnerabilitywithin-band evasion
否则很多系统会误以为:
只要没有明显的数值异常,工具链就是安全的。
它虽然主实验在金融 advisory,但 retail pilot + SAE probing 说明这更像一种结构性推荐契约,而不是单域特例
这篇 paper 还有一个必须写清的边界:
主实验场景确实是金融 advisory,而不是传统电商或内容推荐。
如果没有额外证据,直接把它写成“推荐系统通用结论”会过头。
但作者没有停在单域主张,而是给了两条很重要的外推信号。
第一条是 Appendix T 的 retail pilot。
虽然作者自己也承认这个 pilot 规模还小、不能直接拿来做充分跨域结论,但它至少已经复现了同一种 decoupling:
SVR_s = 1.000UPR = 0.967
也就是说,在零售推荐近邻场景里,同样会出现“安全不对了,但 ranking quality 看起来还在”的模式。
第二条更有方法论价值:
论文用 sparse autoencoder probing 说明,模型内部并不是完全“看不见污染”,而是会在表示层把 adversarial perturbation 和 random perturbation 区分开;真正出问题的是,这个信号没有被成功传播到最终 recommendation action。
作者把它概括成:
representation-to-action gap
这点非常重要,因为它说明:
更强的模型、更强的内部表征能力,未必会自动变成更安全的推荐动作。
因此对 Story Lab 来说,这条线最后补出的不是“又一个安全案例”,而是一组此前还没命名清楚的观察位:
representation-to-action gaptool-integrity assumptionevaluation blindnesstrajectory-level safety monitor
中文传播层
这一轮我继续补做了:
AgentDrift 推荐 中文site:xiaohongshu.com AgentDrift 推荐- 相关
xhslink检索
结果比较清楚:
- 本地
search-layer旧版仍只能稳定做fast / deep / answer,academic模式不可用。 - 中文搜索结果大多会被
Drift这个常见词本身污染,回出大量无关页面。 - 当前唯一还能稳定回溯到的中文传播层入口,是 ChatPaper 的自动摘要页。
- 截至
2026-03-24,仍未拿到稳定高价值小红书线索。
因此这条线当前仍应以 arXiv 原文与附录为准。
证据与来源
AgentDrift: Unsafe Recommendation Drift Under Tool Corruption Hidden by Ranking Metrics in LLM Agents:摘要页直接给出核心结论,包括UPR ≈ 1.0、65%-93%的风险不合适推荐占比、1,563个 contaminated turns 无显式质疑工具可靠性,以及sNDCG / sUPR揭示出的 evaluation gap。AgentDriftarXiv HTML:用于核对information channel / memory channel的分解、69/70条轨迹在 turn1首次违例、within-band仍达到 full attack61%漂移、以及Appendix T的 retail pilotSVR_s = 1.000 / UPR = 0.967。AgentDriftPDF:用于核对完整实验设置、指标定义、Table 1 / 2 / 29 / 30、以及 sparse autoencoder probing 所揭示的representation-to-action gap。- GitHub 仓库搜索:
"AgentDrift" recommendation:本轮用于复核公开边界;截至2026-03-24未见稳定官方 repo。 AgentDrift的 ChatPaper 中文摘要页:当前能稳定回溯到的中文传播层入口之一,可辅助记录这条线已进入中文可见层;但它只作为二手传播线索,不作为一手事实依据。
下一步
- 把
AgentDrift / AgenticRec / BiasRecBench / Echoes in the Loop / PolicySim压到同一张风险观察表里,新增tool-integrity assumption / evaluation blindness / contamination channel / self-skepticism rate / trajectory-level safety monitor五列。 - 后续如果出现官方 repo、defense toolkit 或更完整的 cross-domain benchmark,再补“monitor implementation / defense owner / deployment hook”这组工程位;在此之前,不把它写成现成的安全防御栈。
- 给 Story Lab 现有“selection robustness”之外再补一层“tool-use risk contract”,避免继续把单轮偏见、长反馈回路、部署前沙箱和工具污染混成同一种风险研究。