When Synthetic Data Hurts 精读:Agent 技能检索器的合成数据灾难遗忘
题目:When Synthetic Data Hurts: On Catastrophic Forgetting in Skill Retrieval for LLM Agents 链接:https://arxiv.org/abs/2609.10750 团队:Manulife(Syed Shariyar Murtaza, Yifan Nie, Utkarsh Soni, Eugene Wen, Arvid Frydenlund——加拿大金融集团,全部产业界作者) 数据日:2026-09-11
一、题目与背景
LLM Agent 的技能库(skill library)普遍采用这样的管线:用 LLM 合成任务-技能训练对,微调一个检索器(bi-encoder + cross-encoder 重排),让新任务能召回正确技能。合成数据在这里的角色几乎是免费的杠杆——不用等真实执行日志积累就能启动数据飞轮。
Manulife 作为在生产环境部署 Agent 技能系统的金融机构,提出了一个部署视角的疑问:**合成数据微调是否会在真实/分布外(OOD)技能检索上反噬?**这个问题的产业背景值得强调:技能检索是保险/金融 Agent 的核心组件(合规检查技能、产品规则技能、客户处理技能),检索退化的业务代价是直接的。
二、研究定位
灾难遗忘是持续学习的经典议题,但本文把它放到一个此前没有被系统研究的具体坐标上:检索器(而非生成器)×技能库(而非任务流)×合成数据(而非新任务域)。与既有合成数据文献的"质量-数量"讨论不同,这里的问题更尖锐——合成数据不缺标注质量(由强模型生成、多级质量门过滤),却仍然造成 OOD 伤害。
三、问题定义
给定真实执行收获的(任务,技能)对与合成生成的(任务,技能)对,微调检索器栈。研究问题:(1) 合成数据加入训练对分布内/分布外检索的影响;(2) 遗忘的机制定位(哪一层、什么形态);(3) 缓解基线(嵌入锚正则、L2-init、EWC、LwF)能救回多少。
四、解法
- Track A(锚技能驱动合成):以真实技能为锚,LLM 生成覆盖该技能的任务变体——测"同分布扩展"的合成数据。
- Track B(真实收获+多正例合成监督):从 Agent 执行日志收获正例,合成多正例监督——测"真实+合成混合"。
- 训练栈:bi-encoder 检索器(召回)+ cross-encoder 重排器(精排)分别训练评估。
- 遗忘缓解基线:Embedding anchor regularization(锚定技能嵌入)、L2-init(参数 L2 回初始)、EWC(Fisher 信息加权的参数保护)、LwF/KL(蒸馏旧行为)——持续学习四件套全部上阵。
五、实验结果
| 发现 | 数字 |
|---|---|
| Track A:Real+synth vs Real-only | Hit@10 持平,Recall@10 −0.021——合成数据的负贡献被干净隔离 |
| 最激进微调配置 | OOD recall 0.850 → 0.650(−20pp) |
| 紧凑检索器 | 0.6B 可追平更大混合系统——监督质量 > 模型规模 |
| 机制 | 部分重排:top-10 仍留有≥1 正确技能,但额外正确技能被挤出 |
| 缓解基线 | 四种缓解各有部分效果,均不能完全消除(论文附录给统计功效分析:Val-set n=21/10,单任务波动约 ±5% Recall@10) |
Hit@10 与 Recall@10 的分离是本文最漂亮的证据设计:“有没有"没变坏、“全不全"变坏了——合成数据教模型"这个任务关联那个技能”(1:1 映射强化),但弱化了"这个任务同时关联多个技能”(多正例结构)。排名函数被合成数据的单答案假设重塑。
六、知识反推
- 合成数据的隐含分布假设会变成训练信号。合成(任务→技能)对天然携带"单一正确答案"假设,即使生成质量完美,这个结构性偏差也足以重排检索器的多正例几何。合成数据的风险不只在"内容错",更在"结构缺"。
- 检索评测必须双指标。只看 Hit@k(或 MRR)会完全漏掉这类退化——多正例召回场景(技能库、文档库、工具库)必须配 Recall@k 才能暴露"挤出效应"。这一课对所有 RAG 系统的评测设计成立。
- 企业部署者有独特的"反直觉发现"优势。学术界用合成数据刷分布内指标,看不到 OOD 反噬;只有生产环境的技能库(真实技能分布不稳定、长尾技能多)才能把这个问题暴露出来。产业实证论文的价值密度在此。
七、通用灵感
- 审计你自己的 skill/RAG 数据飞轮:如果合成任务在训练集占比超过真实收获,先跑一组 OOD 留出集的 Recall@10 对比(Real-only vs Real+synth)——两行代码的实验,20pp 的风险敞口。
- 给合成数据加"多正例结构":合成任务时显式关联 2-3 个真实技能(Track B 的多正例监督方向),对冲单答案假设;或按本文结论直接控制合成:真实比例。
- 规模不是答案:0.6B 追平大系统的结果说明,检索器的瓶颈在监督信号结构——与其换更大的 embedding 模型,不如花同样预算构造更忠实的正例结构。这与"数据质量>模型规模"的时代主线在检索场景再获验证。