左脚踩右脚:让 LLM 自进化的 Agent 轨迹训练法------为什么它能补上主流范式的最后一块拼图
复杂多轮任务中,单靠提示词的 Agent 又慢又贵;传统微调又缺高质量过程数据。
本文提出一种 "左脚踩右脚"式自进化训练闭环 :让 Agent 跑任务产生完整轨迹,再用这些轨迹反向训练基座模型,使其内化工具使用、长程规划和上下文自主压缩能力。
文中还会将这一方法与当前主流的"预训练+SFT+RLHF"范式做系统对比,看完你会明白:为什么说它正是大模型走向"行动大师"所缺失的那一环。
1. 问题的原点:为什么我们需要"会自己进化"的模型?
单轮 LLM 已经很强,但面对需要多步推理、外部工具、长上下文处理的复杂任务时,短板暴露无遗:
- 没有环境反馈,容易一条路走到黑,产生幻觉;
- 不会主动调用计算器、搜索引擎、数据库等外部工具;
- 上下文窗口一长,要么超限,要么迷失在无关信息中。
于是大家把 LLM 包成 Agent:ReAct / Plan-Act / Reflexion 模式,让模型边思考边行动,边观察边调整。实际效果确实上去了,可问题也来了------推理成本翻倍,延迟高,而且每次都要重新提示,知识无法沉淀到模型参数里。
那有没有可能,让模型通过 Agent 的行为"反哺"自身,越用越聪明,最后甚至把多轮能力压缩进单轮?
这正是本文要探讨的 自进化训练法:用 Agent 生成的过程轨迹来训练模型,使模型不仅学会"怎么做",还学会"什么时候做什么",甚至学会"主动压缩上下文"。整个过程就像左脚踩右脚,一步一步把自己举起来。
2. 核心思想:一个"左脚踩右脚"的闭环
整个闭环可以用一张图概括:
flowchart LR A当前模型 M\t\ --> BAgent 执行任务集 B --> C全链路轨迹记录\\n思考/工具/压缩/结果 C --> D质量评估与过滤\\n自动裁判+人工抽检 D --> E构造训练数据\\n轨迹+片段+压缩样本 E --> F训练新一代模型 M\t+1\\\nSFT/自蒸馏/RL F --> A D --> G更新任务集/工具库 G --> B
步骤拆开来看:
- 用当前模型 (M_t) 构建 Agent,执行一批需要多步交互的任务;
- 记录全链路轨迹:不仅记录最终答案,更记录每步的"思考 → 行动 → 观察",以及任何上下文压缩操作;
- 评估轨迹质量,滤掉错误、低效的轨迹,保留成功片段或高信息量片段;
- 用这些轨迹训练下一代模型 (M_{t+1}),目标涵盖行为克隆、自蒸馏、强化学习、压缩能力等;
- 用更强的新模型再次跑任务,重复以上过程。
我把这戏称为 "左脚踩右脚":Agent 产生训练数据 → 训练出的模型变成更强的 Agent → 再产生更优质的数据......理论上,只要循环设计得当,模型的能力会持续攀升。
而且这并非空想。近两年已有大量工作验证了其中关键组件:AgentBank 证明轨迹微调可显著提升 Agent 通用能力;SDFT/SDPO/SEAL 等表明自蒸馏与自合成数据可实现持续学习;DARC/SPELL 用出题者-解题者-验证者三方博弈稳定进化;SAC/LCLMs/RAM 则展示了可训练的上下文压缩。
现在,我们把这些组件拼成一个可工程化的完整方案。
3. 三大训练目标:规划、工具、压缩,一个都不能少
我们的训练数据来自 Agent 轨迹,但光"模仿"轨迹是不够的。我设计了一个多目标联合训练框架,一次性内化三种关键能力。
3.1 轨迹行为克隆(Trajectory SFT)
最基础的目标:让模型学会 "在特定任务和观察历史下,该输出什么思考和动作"。
- 输入:任务描述 + 历史观察(含工具返回、压缩摘要)
- 输出:下一步的 Thought + Action(工具调用、回复用户、或触发压缩)
- 数据来源:成功轨迹或局部高质量片段
这一步能迅速把常用的工具组合、规划套路写进模型权重,让模型在后面迭代中"一上来就有个不错的底子"。
3.2 自蒸馏式持续学习(SDFT 风格)
直接用自己生成的轨迹做 SFT 容易"越学越歪"------错误被不断强化。我们需要一种机制既能吸收新技能,又尽量不遗忘原有能力。
做法参考 SDFT:
- 在上下文中附加少量专家/成功演示,让模型生成"教师分布";
- 再去掉演示,让模型通过 KL 散度或重采样拟合该分布。
这样,模型可以在没有外部标注的情况下,安全地扩展能力边界。特别适合在不破坏原有对话能力的前提下,注入工具使用和压缩技巧。
3.3 轨迹级强化学习(过程奖励)
长链任务只给"最终成功/失败"的二值奖励,模型很难搞清楚中间哪一步做对了。我们必须 "把奖励打散" ,让每一步都能收到学习信号。
- 密集奖励设计 :
- 子任务是否完成、工具调用是否成功;
- 压缩后关键信息是否丢失(用下游任务分数衡量);
- 效率指标(Token 数、步数、耗时)。
- 富反馈注入:如果环境返回报错、异常日志,就把它们作为"自省教师",通过自蒸馏转化为 token 级监督信号(参考 SDPO)。
实现上,考虑到成本,可以先从 ReST / Rejection Sampling + 行为克隆 起步(采样多条轨迹,只保留高分者进行训练),效果好再升级到 PPO / GRPO 等在线 RL 算法。
3.4 上下文自主压缩:从"被动截断"到"主动压缩"
这是本文的另一个重点。现有 Agent 面对长上下文大多是"截断/滑窗",非常粗暴。我们希望模型自己学会什么时候压缩、怎么压缩。
两条路线可以并行:
-
把压缩当成一种动作
在轨迹中定义特殊的
compress_context动作,模型可以决定何时压缩、压缩哪些部分、压缩成什么形式(摘要、结构化记录、KV 缓存聚合)。训练时根据压缩后任务性能是否下降来给予奖励。 -
引入可训练的压缩模块
例如 SAC(Semantic-Anchor Compression)或 LCLMs(Latent Context Language Models),与 LLM 联合微调,让模型学会"调用压缩器"并利用压缩结果。
举个具体例子:Agent 在文献调研任务中,打开第三篇论文后上下文快超限了,模型可以主动输出一个压缩指令,把前两篇的核心论点压缩成 200 字摘要,释放空间。
4. 数据过滤与验证:如何防止"自产自销"的数据毒死模型?
自进化的最大风险是错误固化 。如果不过滤,模型很快会把自己的坏习惯学得滚瓜烂熟。因此必须构建一套可靠的 "验证者分层体系"。
| 层级 | 方法 | 说明 |
|---|---|---|
| L0:规则校验 | 程序执行结果、格式检查、约束合法性 | 完全客观,无成本 |
| L1:参考答案对齐 | 与标准答案做语义相似度 / BERTScore | 适合有标准答案的任务 |
| L2:过程质量模型 | 用 TRACE 等框架评估轨迹的推理质量、证据覆盖度 | 可微调小模型作为裁判 |
| L3:人类抽检 | 随机抽取难例、边界例、失败例人工标注 | 校准自动裁判,并持续提供高质量种子 |
过滤策略上,不必"整条轨迹"都要完美。很多时候轨迹整体失败,但中间的某个子片段非常漂亮,完全可以拿来当作正样本。保留"难但成功"和"局部成功"的样本,比只留简单全对更有价值。
此外,每迭代几次就要引入一部分全新任务或工具,防止模型只会在固定几个模式里打转。
5. 让进化持续:出题者---解题者---验证者的非对称博弈
只靠同一个模型自己出题自己做,很快就会"内卷"到某个局部最优。参考 DARC 与 SPELL ,我们要引入角色分工:
- 出题者:基于现有任务生成新题目/变体,并校准难度,确保题目"正好在当前模型能力边界上"。可以用规则 + 弱模型预过滤,防止生成无解或歧义题目。
- 解题者:就是待训练的 Agent 模型。
- 验证者 :可以是一个固定版本的裁判模型、程序执行器、或规则系统,对解题者的轨迹给出分数。关键是要与解题者非对称------验证者的更新频率远低于解题者,或者干脆不更新,以免两者"共谋"。
flowchart TD G出题者 -->|生成新任务| A解题者 Agent A -->|产生轨迹| V验证者 V -->|评分 & 反馈| A V -->|高质量轨迹数据| T训练模块 T -->|更新模型| A
通过这个三方博弈,每次迭代都会有新的可学习信息注入,从而缓解收益递减和分布坍塌的问题。
6. 🆚 与主流训练范式的对比:我们缺的那块拼图
讲完方案,必须回答一个关键问题:当前大模型的主流训练方法已经很强了,为什么还需要这套"Agent 自进化训练"?
6.1 主流训练范式:静态数据的胜利
目前所有基础模型(GPT-4、Claude、Gemini、LLaMA 等)的训练,本质上遵循一个三阶段流水线:
flowchart LR A预训练\
海量文本 --> B有监督微调 SFT\
高质量指令数据 B --> C人类反馈强化学习 RLHF\
偏好对齐 subgraph D 数据核心:静态文本 direction LR D1网页/书籍/代码 D2问答/对话 D3成对偏好标注 end A --> D1 B --> D2 C --> D3
- 预训练:学习语言模式与世界知识,奠定模型的"智商"与"知识库";
- SFT:学习遵循指令,赋予模型"情商"与对话能力;
- RLHF:对齐人类偏好,让回答更安全、有用、诚实。
这三个阶段有一个共同特征:它们使用的全部是静态数据 ------文本、问答对、偏好评分。即使有代码数据,也只是学习代码的语法和静态逻辑 ,并不涉及程序在真实环境中的执行过程、报错反馈、中间状态。
那为什么 GPT-4 等模型依然展现出了惊人的 Agent 能力?
答案在于:足够大的模型在预训练阶段已经"隐式"地学到了很多关于规划和过程的模式,再配合推理时的提示工程 (如 CoT、ReAct System Prompt)和外部工具集成 ,就能在运行时表现出 Agent 行为。
但这是"催"出来的能力,不是"长"在模型参数里的本能。
6.2 主流方法的天花板:静态数据学不到"交互中的智慧"
当任务需要真实环境交互、多步试错、工具链协作、主动上下文管理时,主流范式开始力不从心:
- 静态文本里很少有"我调用搜索引擎失败,于是修改查询词重试"这样的过程记录;
- 更没有"文档太长,我先把前两部分总结压缩,然后继续读第三部分"的操作日志;
- RLHF 的偏好数据只评价最终回答,不知道中间推理路径是否合理高效。
结果就是:主流方法训出的模型,是"语言大师",但不一定是"行动大师"。它在需要主动规划、灵活使用工具、自主压缩记忆的场景中,往往需要外部系统(LangChain、AutoGen 等)在推理时做大量脚手架工作,而模型本体并不真正"理解"这些行为模式。
6.3 本文方法:把"交互过程"注入模型参数
"左脚踩右脚"的 Agent 自进化训练,正是为了填补这个缺口。
它把主流训练中缺失的"动态交互过程"作为第一公民,直接写进模型权重。
用一个比喻:
- 主流训练 = 让模型读遍天下棋谱(静态文本),再请高手点拨几步(SFT/RLHF),下棋时靠临场思考(推理时提示工程)来应对;
- 本文方法 = 让模型自己下场下棋,记录每一步的思考、行动、棋盘反馈,再从这些"实战棋谱"中学习,把"怎么思考、什么时候弃子、如何读秒压缩时间"变成肌肉记忆。
6.4 核心差异一览
| 维度 | 主流训练范式 | 本文的 Agent 自进化训练 |
|---|---|---|
| 核心目标 | 通用知识获取、语言生成与对齐 | 复杂任务求解、工具使用、自主规划与上下文压缩 |
| 训练数据 | 海量静态文本、指令数据、偏好对 | 动态交互轨迹(思考/行动/观察/压缩) + 过程反馈(执行结果、奖励信号) |
| 训练阶段 | 预训练 → SFT → RLHF | 通常在后训练阶段融入,并可形成持续学习闭环 |
| 主要技术 | Next-token prediction, RLHF (PPO/DPO) | 轨迹行为克隆、过程奖励模型 (PRM)、自蒸馏、自我博弈 |
| 能力侧重 | 广度:知识覆盖、语言流畅、遵循指令 | 深度:任务完成质量、推理效率、工具调用鲁棒性 |
| 数据依赖 | 海量静态数据集 + 人工标注 | 高质量 Agent 运行环境(工具、模拟器、验证者) + 计算资源 |
| 模型角色 | "语言大师" | "行动大师" |
6.5 关系:不是替代,而是互补与升级
将两者想象成一座冰山:
flowchart TD A冰山一角\
Agent 自进化训练\
(本文方案) B冰山水下部分\
主流训练范式\
(预训练 \& SFT \& RLHF) A --> C🎯 核心价值:\
深化推理、工具使用、自主压缩 B --> D🎯 核心价值:\
构建知识基础与通用能力 C --> E🔗 关系:建立在主流训练之上,\
实现能力的深化与飞跃 D --> E
- 主流方法是地基:没有预训练获得的世界知识和语言能力,Agent 根本无法进行有效规划和工具使用。本文方案是在这个坚实的地基上建造的"塔楼"。
- 本文方案是飞跃 :它聚焦于主流方法难以覆盖的动态、多步、交互式智能,是把模型从"会说"升级到"会做"的关键技术。
- 未来趋势是融合 :已有迹象表明,下一代训练范式会在预训练阶段就加入过程性数据(如代码执行轨迹、科学实验日志),在后训练阶段系统性地使用 Agent 轨迹。本文的思路,很可能就是未来训练范式的雏形。
7. 从 0 到 1:MVP 路线图
以上是理想形态。实际落地时建议分三步走:
第 0 期(1~2 周):基础建设
- 搭建 Agent 框架(ReAct + Function Calling,可选用 LangChain / AutoGen 等);
- 统一轨迹记录格式(JSON / Parquet,字段至少包括
task,steps[thought, action, observation, compression_event],outcome,metrics); - 先不训练,只跑 100~200 条典型任务轨迹,用于后续分析与标注。
第 1 期(4~6 周):首个"增强模型"
- 人工 + 自动裁判对第 0 期轨迹打标签;
- 筛选高质量轨迹 + 局部成功片段,构建第一版训练集;
- 训练目标:轨迹 SFT 为主,可选少量 ReST 式 RL;
- 尝试让模型输出简单的压缩指令(如"SUMMARY_LAST_N=5"),作为动作加入训练;
- 对比原模型:相同任务下的成功率、平均步数、Token 消耗。
第 2 期(8~12 周):自蒸馏 + 压缩强化 + 闭环
- 实现 SDFT 风格自蒸馏,在新任务学习时保留旧能力;
- 引入可训练压缩模块或强化压缩动作,用"压缩后下游性能"作为奖励;
- 训练轻量过程奖励模型,实现自动化评分与过滤;
- 运行第一轮闭环:用增强模型再跑任务→采新轨迹→再训练。严密监控关键指标。
第 3 期(持续):自博弈与全自动进化
- 加入出题者角色,自动扩展任务与工具覆盖;
- 实现解题者-验证者-出题者三方自博弈;
- 定期加入"新鲜血液"(新领域数据、新工具),防止域内收敛;
- 建立完整评估体系:过程质量、结果正确率、效率指标三驾马车。
8. 风险与应对简表
| 风险 | 表现 | 应对 |
|---|---|---|
| 错误固化 | 模型越来越自信地犯错 | 多层次验证者;保留人类演示;SDFT 风格自蒸馏 |
| 分布坍塌 | 模型只会在几种任务上变强,其他能力退化 | 出题者扩展任务;多目标联合训练;保留部分老数据做正则 |
| 奖励稀疏 | 长链任务学不动 | 过程奖励;富反馈注入;训练过程奖励模型 |
| 压缩损信息 | 压缩后任务质量反而下降 | 用"压缩后任务性能"作奖励;可逆压缩技术;SAC/LCLMs |
| 评估自说自话 | 自己评自己分数虚高 | 外部裁判;程序执行校验;定期人工校准 |
| 成本爆炸 | 多次迭代训练耗费巨大 | LoRA 高效微调;轨迹采样与片段复用;控制单次数据规模 |
9. 结语:自进化不是"永动机",而是工程可控的正反馈
本文所提的"左脚踩右脚"训练法,本质上是一个工程化正反馈系统 :利用 Agent 的过程数据来强化模型,再用更强的模型去产生更好的数据。它并非完全脱离外部信号的"永动机",而是把人工标注压力转移到了验证者设计 和数据过滤上。
与当前主流训练范式相比,它回答了一个被长期忽略的问题:如何让模型在真实交互中成长,而不仅仅在静态文本里读书?
主流方法给了模型知识和语言,本文方法给了模型行动和进化的能力。两者合在一起,才构成通往更高阶 AI 的完整拼图。
如果你正在头疼:
- 模型在多轮任务中"蠢笨"但找不着训练数据;
- 上下文窗口总被无效信息塞爆;
- Agent 推理成本居高不下;
那么不妨试试把这个闭环跑起来。哪怕只迭代一两轮,都可能让你对"模型的上限"有全新的认识。
参考方向(文中提及的核心思想来源)
- ReAct、Toolformer、Reflexion ------ Agent 交互范式与工具使用
- AgentBank ------ 大规模轨迹微调
- SDFT、SDPO、SEAL ------ 自蒸馏与自合成持续学习
- DARC、SPELL ------ 非对称自博弈与课程式自进化
- SAC、LCLMs、RAM ------ 可训练的上下文压缩
- TRACE、TraceLift ------ 轨迹评估与过程奖励