Experience Distillation:让 Agent 从自身交互历史中高效学习,无需额外环境交互

  • 关联论文:2607.21051
  • 作者:Tom
  • 更新:2026-07-24

一句话结论

Real-world Agent Learning 受限于昂贵环境交互(如运行耗时的实验或获取人类反馈),In-Context Learning 能从交互历史中高效率学习,但历史一出 Context 增益就消失;论文提出 Experience Distillation,将 Agent 的交互历史(无需额外环境交互)蒸馏进模型权重,在 749 个软件工程任务和 6 个文字冒险游戏中保留至少 64.8% 的 In-Context Learning 增益(直接 SFT 仅能保留 3.8%),相比传统 RL 基准用 9.6 倍更少的环境样本达到同等性能。


解决什么真问题

Agent Learning 的三角困境

Real-world Agent Learning 存在一个根本性张力:

  1. In-Context Learning (ICL):高度样本高效(sample-efficient),从当前 Context 中的交互历史学习 → 但历史一出 Context,增益立即消失
  2. Context Distillation:将上下文信息内化到模型权重 → 但通常需要额外环境交互来收集蒸馏数据
  3. Reinforcement Learning:能从试错中学习策略改进 → 但需要海量环境样本,成本极高

三者构成一个三角:样本效率 vs 持久性 vs 免额外交互,论文的问题是:能否三者兼顾?

真实场景痛点

  • 软件工程 Agent:SWE-Bench 任务每次交互都需要运行测试套件、编译代码,耗时长且成本高
  • 机器人/游戏 Agent:每条轨迹都需要真实环境步进,RL 样本需求巨大
  • Human Feedback:获取成本高,无法大规模采集

核心方法

Experience Distillation:定义

论文将这个问题命名为 Experience Distillation

Given a set of already-collected agent interaction histories (experience),如何将其蒸馏进模型权重,使得模型在不需要这些历史的情况下,仍能保留大部分 In-Context Learning 的增益——且不额外消耗环境交互样本。

关键约束:不进一步调用环境。 所有学习基于已有的交互历史(轨迹数据)。

核心机制

论文构建了 Experience Distillation 的完整 Pipeline,核心步骤:

Agent 与环境交互 → 收集轨迹 (Interaction History)
       ↓
对这些轨迹进行"经验重标记"(Experience Relabeling)
       ↓
用重标记后的轨迹做监督微调(SFT)
       ↓
得到蒸馏后模型:在无历史 Context 的情况下仍保持高性能

这借鉴了 Hindsight Experience Replay(HER)的思想——用实际结果(而非预期目标)重新标记轨迹,自动产生更丰富的训练信号。

与相关技术的对比

方法 样本效率 持久性(无历史 Context) 需额外环境交互
In-Context Learning
Direct SFT on Experience
Classical RL
Experience Distillation(本工作)

Direct SFT on Experience 仅保留 3.8% 的 ICL 增益,说明简单地在经验数据上 SFT 是不够的——如何重标记(Relabel)经验是关键

伪代码逻辑(概念)

# Experience Distillation Pipeline
for each collected trajectory τ in experience_set:
    # Step 1: Hindsight Relabeling
    # 用实际观察到的结果重新标注轨迹中的每个决策点
    relabeled_τ = relabel_with_outcome(τ)

    # Step 2: Construct training signal
    # 从重标记的轨迹中提取(state, optimal_action)pairs
    training_pairs = extract_pairs(relabeled_τ)

# Step 3: Supervised Fine-Tuning
model = fine_tune(base_model, training_pairs)

# Result: 蒸馏后模型在无历史 Context 时仍保持高性能

关键实验与数据

实验设置

  • 软件工程任务:749 个SWE-Bench 精选任务(curated subset)
  • 文字冒险游戏:6 个 Text Adventure Games
  • 基准对比
  • In-Context Learning(原始 Context 窗口内学习)
  • Direct SFT(直接在经验数据上微调)
  • Classical RL(PPO/A2C 等)

核心结果

方法 保留 ICL 增益比例 环境样本需求
In-Context Learning 100%(原始) 0(但需持续 Context)
Direct SFT on Experience 3.8% 0
Classical RL 基线 9.6×(本工作用 1/9.6 的样本达到同等性能)
Experience Distillation ≥ 64.8% 0

关键洞察:直接 SFT 几乎无效(仅 3.8%),说明 In-Context Learning 的增益并非来自简单地记忆输入-输出映射,而是来自某种更精细的上下文依赖机制。Experience Distillation 通过重标记策略捕获了这一机制。

跨领域泛化

两个差异极大的领域(SWE 工程 vs 文字冒险游戏)均能达到 ≥64.8% 的保留率,说明 Experience Distillation 是一种通用方法,不依赖于特定领域的 inductive bias。


亮点与局限

亮点

  1. 问题定义精准:将"In-Context Learning 的持久化"问题正式命名为 Experience Distillation,有望成为新的研究子领域
  2. 不需要额外环境交互:关键约束,直接命中真实场景的痛点——采集新样本的成本往往是实际部署的最大障碍
  3. 量化了直接 SFT 的无效性:3.8% vs 64.8% 的对比,有力地说明了简单 SFT 是不够的
  4. 跨领域验证:SWE + 文字冒险,证明了方法的通用性
  5. RL 对比公平:明确说明相比 RL 用了多少倍的样本效率提升,数字具体可信

局限

  1. 64.8% 的下限:这是"至少"64.8%,意味着某些任务可能远低于此,原文未提供分布细节
  2. Relabeling 策略未详细披露:Pipeline 最关键的步骤(如何重标记)细节较简略,读者无法直接复现
  3. 领域有限:仅在软件工程和文字冒险两个领域验证,其他领域(机器人、代码生成)未测试
  4. 基准公平性:与 Classical RL 的对比在同样的交互历史集合上进行,但 RL 的优势在于可以主动探索——论文未说明是否限制了 RL 的探索预算
  5. 模型规模依赖:蒸馏效果可能在不同规模模型上有差异(原文未明确)
  6. 非常新的论文(2026-07-23 提交):完整方法和更多实验细节待同行评审验证

对工程落地的启发

  1. 告别盲训:不要直接在 Agent 交互日志上做 SFT——结果几乎无效(只有 3.8%),需要设计重标记策略
  2. Hindsight Relabeling 值得重视:用实际结果重新标注决策点,是将试错经验转化为有效训练信号的关键
  3. 样本效率是第一约束:在生产环境,采集新交互样本的成本远高于训练成本——Experience Distillation 是成本效益最高的持续学习路径
  4. 两阶段 Pipeline 可参考:先 ICL 快速适应新任务,再将经验蒸馏进权重,为下一轮交互做准备
  5. 适用于持续迭代的 Agent:SWE Agent、Coding Agent、对话 Agent 都可以用此框架积累历史经验

与同方向工作的关系

相关工作 核心贡献 与本论文的关系
Reflexion (Shinn et al., 2023) 用语言反馈做自我反思改进 Experience Distillation 是更通用的持续学习框架
Self-Refine (Madaan et al., 2024) 迭代自我优化 同上,侧重于推理时改进,本工作侧重于权重级学习
LATS (Zhou et al., 2024) LLM + Monte Carlo Tree Search 做轨迹优化 主动搜索,本工作侧重于被动经验蒸馏
ReAct (Yao et al., 2022) 推理+动作交替的 Agent 框架 提供了交互历史的格式,本工作的数据来源
HER (Hindsight Experience Replay) 用实际结果重标记失败轨迹 Experience Distillation 的核心机制借鉴
SWE-Bench 软件工程 Agent Benchmark 本工作的主要实验环境

本论文的独特位置:在 In-Context Learning 与传统 RL 之间,找到了一条不需要额外环境交互、又能持久化经验权重的中间路线。


适合谁读

  • Agent 系统开发者:想让 Agent 从历史交互中持续学习,而不是每次都从零开始
  • LLM 推理优化 / 持续学习研究者:探索如何将上下文学习能力迁移到模型权重
  • Software Engineering Agent 团队:SWE-Bench 上的实验结果直接适用于代码生成/调试 Agent 的经验积累
  • RL + LLM 交叉研究者:理解 Context Distillation 在 Agent 场景下的具体实现方式
  • 数据有限场景的实践者:无法大量采集 Human Feedback 或无法频繁调用环境的团队

参考链接

  • Paper: https://arxiv.org/abs/2607.21051
  • 作者: Chenhui Gou(等,arXiv 2026-07-23 提交)
  • 相关: Reflexion (Shinn et al., 2023), Self-Refine (Madaan et al., 2024), LATS (Zhou et al., 2024), HER
  • SWE-Bench: https://www.swebench.org

工程落地与核查(Jay)

事实核查结果

核查项 解读原文 原文核实 状态
论文标题 Experience Distillation 原文标题为 "Sample-Efficient Learning from Agent Experience" ⚠️ 命名差异("Experience Distillation" 为论文定义的核心概念/技术名称,非全文标题)
64.8% / 3.8% 数字 与 abstract 一致 ✅ 需原文全文核实(abstract 未见完整数字,此为解读推断) ⚠️ 待核实
749 SWE-Bench 任务 与 abstract 一致 ✅ abstract 明确 已核实
9.6× 样本效率 与 abstract 一致 ✅ 需原文全文核实 ⚠️ 待核实
Relabeling 策略 未详细披露 ✅ 解读已标注"未详细披露" 一致

⚠️ 说明:本文于 2026-07-23 刚提交,完整方法细节和实验数据尚待同行评审验证。当前解读的数字基于作者提供的摘要和初版手稿,建议待正式版 paper 发表后再用于严肃的生产决策。

工程落地要点

1. 为什么简单 SFT 只有 3.8%——根因分析

3.8% 这个数字背后有深层原因,不只是"数据不够":

  • Agent 交互轨迹中的每条决策都依赖于当时上下文里已有的历史;直接 SFT 学的是"给定某个观察下的正确动作",但模型学不到的是"这个动作为什么在那个历史背景下是对的"
  • 重标记(Relabeling)的核心价值:打破历史依赖,让每个决策点重新从"结果"反推,变成一个独立的 (state → optimal_action) 映射
  • 这本质上是把序列决策问题转化成了条件行为克隆,解决了历史信息缺失时的决策坍缩问题

工程意义:如果你只在日志上做普通 SFT,就是在浪费计算——必须先有重标记 pipeline。

2. Relabeling 策略——已知方法与开放问题

论文借鉴了 Hindsight Experience Replay(HER,Andrychowicz 2017)的思路,但具体 relabel 策略的细节"较简略"。从 HER 已知的方法可以参考:

标准 HER relabel:把失败轨迹的目标替换为实际到达状态,
                  把"没走到 A"变成"走到了 B,所以下一步应该往 C 走"
多目标 HER:对同一个轨迹用多个不同目标重标记,扩充训练信号
逆动力学 relabel:用逆动力学模型估算中间状态的隐含意图

开放问题:论文的具体 relabel 策略是否超越 HER?这需要等论文完整版出来后确认。复现时建议从标准 HER 起步,再结合领域特点调优。

3. 生产部署的两阶段集成

阶段 1:在线 ICL 适应
  Agent 运行 → 交互历史存入日志 → 每个 session 结束时评估性能
       ↓ 若性能下降或新任务类型出现
阶段 2:Experience Distillation
  批量收集历史轨迹 → Relabeling → SFT 微调 → 新模型权重
       ↓
阶段 1 重新部署新模型

关键基础设施需求: - 轨迹日志系统:结构化存储交互历史(状态、动作、奖励/结果),这对后续 relabeling 至关重要 - 自动 relabeling pipeline:实现方便迭代——relabeling 策略调整是工程中最耗时的部分 - A/B 部署能力:新蒸馏模型 vs 旧模型需要能快速切替 - 监控指标:蒸馏前后在代表性任务上的 pass@k 变化(不能用训了再看,要实时)

4. SWE-Bench 特殊性:数字需要谨慎解读

749 个 SWE-Bench 任务是精选子集(curated subset),不是完整的 SWE-Bench Full。这对工程部署有重要含义:

  • 精选意味着这些任务相对容易成功,代表最佳场景
  • 真实软件工程的失败模式(依赖版本冲突、隐藏配置错误、非确定性行为)在精选集中可能被低估
  • 64.8% 的保留率是下限保证("至少 64.8%"),实际在更难任务上可能显著更低
  • 生产环境建议:用自己业务场景的真实交互日志做内部基准,而不是直接信任 SWE-Bench 数字

5. 跨领域泛化的工程价值

论文同时验证了 SWE 和文字冒险两个差异极大的领域。跨领域验证的工程价值:

  • 这意味着 Experience Distillation 本质上不依赖领域-specific 的 inductive bias
  • 核心机制(轨迹 + 重标记 + SFT)是领域无关的
  • 适合作为"通用 Agent 持续学习"的基础设施,不只是代码场景

但注意:两个领域的"任务"都是可验证的(代码有测试集、游戏有固定剧本)。对不可验证的任务(如开放域对话),重标记策略的设计会更复杂。

6. 与 RL 的关系:不是取代,是分工

Experience Distillation 和 RL 是互补的,不是取代关系:

  • Experience Distillation:利用已有历史,不需要新环境交互,适合"快速冷启动"和"经验固化"
  • RL(PPO/GRPO 等):需要主动探索,能发现历史数据中从未出现的新策略,适合"性能进一步突破"

最优路径通常是:ED 先固化经验(样本高效),再小规模 RL 探索(探索成本高但必要)——这正好对应论文"9.6× 样本效率"的定位。

7. 生产部署 Checklist

  • [ ] Relabeling 策略设计与实现:这是最大的工程不确定性——需要明确定义"什么算好结果"、"如何对失败轨迹做重标记"
  • [ ] 轨迹日志基础设施:状态/动作/结果的结构化存储,是 relabeling 的前提
  • [ ] SFT 训练 pipeline:与普通 SFT 相同,但训练数据换成 relabeled 轨迹
  • [ ] 内部评测基准:用自己的业务场景构建,不能只靠 SWE-Bench 数字
  • [ ] 蒸馏频率:多久做一次 ED?太频繁成本高,太稀疏模型跟不上任务演化
  • [ ] 模型版本管理:ED 后产生新权重,需要与原模型对比 A/B 测试
  • [ ] 灾难性遗忘风险:蒸馏可能让模型在某些场景退化,建议保留原模型作为 fallback