← 返回 2026-08-17

潜在在策略自蒸馏(LOPD):可学习的教师特权上下文 Latent On-Policy Self-Distillation

Guibin Zhang, Jiayang Lyu, Ran Sun, Xinlei Yu, Haoyu Zhao, Qibing Ren, Shuicheng Yan 📅 2026-08-13 👍 23 2026-08-22 18:30
LLM后训练 在策略自蒸馏 潜在计算 知识蒸馏 自进化智能体

把自蒸馏教师的特权上下文从手工设计改为可学习的潜在token,端到端内化经验。

前置知识

在策略自蒸馏(OPSD)

在策略蒸馏(OPD)让学生模型先自己采样轨迹,再由教师在学生实际访问的每个轨迹前缀上给出逐token的密集分布监督,从而把稀疏的结果奖励变成细粒度的分布信号,同时消除训练与推理的on/off-policy错配。OPSD进一步去掉外部更强教师:教师与学生由同一个模型实例化、仅上下文不同——学生只看任务与交互历史 $s_t$,教师额外拿到特权信息(答案、推理轨迹、环境反馈、成功经验),因此在同样状态下分布更尖锐、更有信息量,无需查询外部大模型。

LOPD的全部设定建立在OPSD之上:论文讨论的正是「自教师该看什么特权上下文」这一OPSD的核心问题。理解师生同源、按已访问前缀做token级蒸馏,是读懂方法设计与实验对比的前提。

特权上下文(privileged context)

指训练时只给教师、推理时学生看不到的附加信息,制造师生信息不对称:教师在同一前缀上「知道得更多」,其下一token分布便可作为更优的监督目标,学生蒸馏完成后部署时并不需要它。已有方法中该上下文都是设计者事先规定的固定文本产物(oracle答案、技能总结、成功sibling轨迹等),由规则 $\Phi_{\mathrm{fix}}(x,E)$ 生成。

本文的核心主张就是把特权上下文从「设计者手写的固定产物」改成「端到端可学习的潜在变量」,不理解这个概念就无法理解LOPD到底改变了什么、以及为何消融实验围绕它展开。

反向KL与top-M截断

蒸馏用反向KL $D_{\mathrm{KL}}(\tilde p^S_{t,n}\,\|\,\tilde p^T_{t,n})$,以学生分布为「真」、教师分布为拟合目标,具有mode-seeking性质:学生集中模仿教师支持的高概率行为而非平均覆盖所有模式。为节省logit级蒸馏的算力,只在教师top-$M$(本文 $M{=}20$)个词项上计算KL,其余概率质量聚合成一个尾部桶事件 $\bot$,既保留高概率模式又记账剩余质量。

LOPD的蒸馏目标(式9、10)、与SDPO等基线的配置对比、以及训练效率分析都直接依赖这一损失形式;不看懂它就无法理解教师监督为何「密」且省算力。

QFormer式潜在压缩(信息瓶颈)

QFormer/Perceiver结构的压缩器:一组可学习查询向量 $Q_\chi\in\mathbb{R}^{K\times d}$ 通过交叉注意力读取变长的编码器隐状态 $H_j$,输出固定 $K$ 个连续潜在token。它像一个信息瓶颈,把长轨迹压成模型可直接当作上下文消费的连续嵌入。本文用8层共享权重的交叉注意力、每条检索经验压成 $K{=}32$ 个token,查询初始化自 $N(0,1/\sqrt d)$。

LOPD的特权上下文正是由该压缩器从3条检索经验生成的96个连续token($3 imes32$),这是「把经验变成可微上下文」的技术载体,也是容量敏感性分析的对象。

LoRA低秩适配

参数高效微调:冻结原模型权重,只为每个线性层学习低秩增量 $\Delta W=BA$(秩 $r\ll d$)。本文编码器用rank 8、$\alpha{=}16$、dropout 0的LoRA适配骨干全部7类线性投影($W_q,W_k,W_v,W_o$ 及gate/up/down),骨干本体始终冻结;且LoRA在编码经验时开启、在生成和教师评估时显式关闭,避免两种角色互相干扰。

「冻结骨干+LoRA编码器+可训练QFormer」构成LOPD组合器 $\phi=(\psi,\chi)$ 的全部可训练参数,理解这一点才能分清训练时到底在更新什么、教师骨干为何保持不动。

拉格朗日对偶与minimax约束

不等式约束 $\Delta(\phi)\ge m$ 可用拉格朗日松弛转为minimax问题 $\min_{\theta,\phi}\max_{\beta\ge0}$:对偶变量 $\beta$ 按 $\beta\leftarrow[\beta+\eta_\beta(m-\Delta(\phi))]_+$ 上升,约束被违反时惩罚项 $\beta(m-\Delta)$ 加大、被满足时趋于零,从而逼着优化维持约束。这是约束优化的标准原对偶方法。

LOPD防止教师坍缩向学生的「特权边际」约束正是这样实现的($m{=}0.05$,$\eta_?eta{=}0.5$),Figure 3的消融整个围绕边际 $m$ 的取值展开。

RLVR与GRPO

RLVR(可验证奖励强化学习)用程序可验证的结果奖励(测试全过、子任务完成率)做RL,信号稀疏但可靠;GRPO是其代表算法,每个任务采样一组rollout(本文 $G{=}4$),用组内相对优势替代价值网络,配合PPO-clip($\epsilon{=}0.2$)更新。本文以GRPO作为纯RL基线,并把结果奖励转成优势 $A(\tau)=2r(\tau)-1\in[-1,1]$ 用于边际约束。

理解GRPO/RLVR才能看懂本文的两组关键对比:LOPD以不足30%的rollout预算超越GRPO;同时LOPD借用结果奖励来约束教师特权,连接了蒸馏与RL两条技术线。

研究动机

智能体如何从经验中学习是自进化AI的核心问题。在策略自蒸馏(OPSD)是一条有效路径:教师与学生同源,教师凭特权上下文在学生自己的轨迹上给出密集token级监督,把RLVR的稀疏结果奖励变成细粒度分布信号。但现有方法的特权上下文全部是设计者事先规定的文本产物——OPSD注入oracle推理轨迹、SDPO依赖同组成功sibling rollout、Skill-SD注入UCB1挑选的技能摘要、SDFT附加演示——都由固定规则 $\Phi_{\mathrm{fix}}$ 生成,等于先验地决定了教师「该看什么」。论文用数据说明这类固定格式并不普适:Qwen3-4B上SDPO让BFCL-v3从vanilla的22.88跌到15.75、ACEBench从50.6跌到38.0、LiveCodeBench聚合从45.61跌到38.78;OPSD虽把BFCL-v3长上下文子集从22.00提到29.00,却在Qwen3-8B的BFCL-v3总体(25.75 vs 28.38)和两个骨干的LiveCodeBench(40.24 vs 45.61、44.39 vs 46.34)上低于完全不做训练的vanilla。也就是说,监督质量被预先定义的上下文构造器封顶:问题不在「有没有特权信息」,而在「表示形式是否适配当前任务与学生的学习状态」,同一格式在一种场景是蜜糖、在另一种场景是毒药。

本文的目标是论文提出一个基底层面(substrate-level)的研究问题:特权上下文本身能否从经验中端到端学习,让自教师(而非设计者规则)决定保留哪些经验知识、以及如何把它编码成有效的密集在策略监督?具体目标是构造可微分组合器 $\Phi_\phi$,把检索到的成功轨迹压成连续潜在token序列 $c_\phi=\langle e_1\rangle\oplus\cdots\oplus\langle e_K\rangle$ 作为教师的特权上下文;学生在自己采样的多轮轨迹的每个已访问前缀上接受反向KL密集蒸馏;同时用特权边际约束保证教师相对学生保持可验证的、与结果奖励挂钩的log概率优势,防止上下文退化。训练结束后只保留学生策略:推理时无需经验库、检索器、组合器或潜在上下文,经验的价值被完全内化进学生参数。

与已有工作不同的是,本文的切入角度不是再造一种手工OPSD变体,而是把「经验」从手工制品升级为可优化的监督基底——若自进化AI要规模化,经验中有用内容和其表示都不应被设计者启发式固定。技术上,它把「潜在计算」从推理时增强(Coconut式潜在推理给模型更多思考预算、潜在记忆直接挂给学生)转用到一个新角色:潜在token不是给学生用的推理草稿或记忆,而是训练时教师的特权输入,让学生看不到的教师变得更强。因为上下文可微,蒸馏梯度能穿过冻结的教师骨干激活回传到潜在token位置,于是「训练学生」与「学习该给教师看什么」在同一个目标里耦合:组合器从蒸馏信号中获得初始化阶段拿不到的信息——当前学生的轨迹分布需要什么证据。这把OPSD的中心问题从「给哪种人工制品」改写为「如何学出最优人工制品的连续表示」。

核心方法

直觉版本:让同一个模型「开小灶」后当自己的老师,但小灶不是人写的提示词,而是从过往成功经验中自动压缩出来的96个连续潜在token;老师在自己学生实际走过的轨迹上逐步示范,学生用反向KL逐token模仿;再用「老师必须保持领先」的边际约束防止老师偷懒向学生看齐;学成之后只带走学生。技术路线遵循标准OPSD管线:离线把成功rollout存成经验库(任务描述+精简观察的动作-结果轨迹);在线时对当前任务检索top-3相似经验,经冻结骨干+LoRA编码后由QFormer压成每条32个潜在token,拼接为 $c_\phi$ 注入教师上下文;学生在任务上rollout得到轨迹与环境奖励 $A(\tau)=2r(\tau)-1$;教师(冻结检查点 $\bar\theta$)重评同样的前缀,按top-$M{=}20$加尾部桶计算反向KL蒸馏损失;联合更新学生 $\theta$ 与组合器 $\phi=(\psi,\chi)$,对偶变量 $\beta$ 维持边际 $m{=}0.05$,锚定项把 $c_\phi$ 拉住不远离冷启动初值 $c_{\phi_0}$。

核心创新有二。其一,特权上下文可学习化:把式(2)的固定构造 $c_{\mathrm{fix}}=\Phi_{\mathrm{fix}}(x,E)$ 换成可微构造 $c_\phi=\Phi_\phi(x,E)$(式4),教师骨干 $\bar\theta$ 冻结但其前向激活保留在计算图中,于是蒸馏梯度沿激活回传到潜在token的嵌入位置、再进入QFormer与LoRA——这正是prefix-tuning式的注入机制,但优化目标不是拟合固定语料的NLL,而是在线蒸馏损失。蒸馏过程向组合器暴露了冷启动时不存在的信息:当前学生的轨迹分布需要什么证据才能被有效监督。其二,特权边际约束:若无约束,组合器最小化蒸馏损失的最低阻力路径是把 $p^T$ 拉向 $p^S$,即教师坍缩成学生、学出无信息上下文。LOPD定义逐token特权 $\delta_{t,n}(\phi)=\log\pi^T_{\bar\theta,\phi}(a_{t,n}|\cdot)-\mathrm{sg}[\log\pi^S_\theta(a_{t,n}|\cdot)]$(式11,只需gather无需额外前向),用结果优势 $A(\tau)$ 加权得 $\Delta(\phi)$(式12),并要求 $\Delta\ge m$(式13),把「教师领先」与「可验证的成功」绑定:若上下文退化则 $\pi^T\to\pi^S$、$\delta\to0$、$\Delta\to0<m$,对偶惩罚自动激活,从结构上排除平凡解。消融显示冻结组合器只得0.573、去掉边际($m{=}0$)跌到0.551,而 $m{=}0.05$ 达到0.637,两个机制缺一不可。

方法步骤详情

第一步(离线建库):只保留训练集上成功的rollout,每条存任务描述加线性化「动作→结果」轨迹的观察精简(observation-lite)格式;用Qwen3-Embedding-8B做非对称编码(文档侧编码「任务+轨迹」、查询侧只编码任务),FAISS IndexFlatIP精确内积检索,取余弦相似度最高的 $n_{ret}{=}3$ 条构成 $E$。第二步(冷启动):冻结骨干,把组合器输出的潜在token插到占位符位置,对成功轨迹的助手token做next-token NLL(式14,AdamW学习率 $10^{-5}$、batch 8、梯度裁剪3.0),得到 $\phi_0$;编码器为冻结骨干+rank-8 LoRA($\alpha{=}16$,覆盖全部7类投影),压缩器为8层共享权重的QFormer式交叉注意力,每条经验输出 $K{=}32$ 个token。第三步(在策略rollout):学生从任务 $x$ 采样多轮轨迹 $\tau\sim\pi^S_\theta(\cdot|x)$,环境返回奖励 $r$(EnvScaler是 $[0,1]$ 的子任务完成率、TACO是二元测试通过),转成优势 $A=2r-1$。第四步(教师评估):检索经验→组合器生成 $c_\phi$(共96个token)→通过文本哨兵 <|LATENT_PH|> 加pad占位符在首个用户消息中留位,SGLang用positional_embed_overrides、vLLM用prompt_embeds在第一层变换器前把占位嵌入替换为潜在token,用torch.cat切片保证autograd可追踪;教师评估时编码器LoRA显式关闭。第五步(蒸馏):对每个回合 $t$、位置 $n$ 计算师生下一token分布,截断为教师top-$M{=}20$加尾部桶(式9),按动作token掩码 $\omega_{t,n}$ 加权平均反向KL(式10)。第六步(边际与联合更新):直接gather出 $\delta_{t,n}$,奖励加权平均为 $\Delta(\phi)$,最小化 $\mathcal{L}_{distill}(\theta,\phi)+\beta(m-\Delta(\phi))+\lambda\|c_\phi-\mathrm{sg}[c_{\phi_0}]\|^2$($\lambda{=}0.2$),$\beta$ 以步长 $\eta_\beta{=}0.5$ 做对偶上升。第七步(部署):只保留 $\pi^S_\theta$,推理无检索、无组合器、无潜在上下文。

技术新颖性

相对已有OPSD谱系——OPSD(固定oracle轨迹)、SDFT(演示+EMA教师)、SDPO(组内成功sibling条件化)、Skill-SD(UCB1技能摘要)——LOPD的本质区别是把「教师看什么」从离散的设计决策变成连续的优化变量:特权上下文的生成过程本身带有梯度,与学生在同一目标中联合优化;消融(冻结 $\phi_0$ 仅0.573 vs 联合优化0.637)直接证明这是收益来源而非额外参数带来的免费午餐。与潜在计算文献(潜在推理、MemoryLLM/TokenMem式潜在记忆、MemGen式生成式记忆)的关系也是新用法:潜在token不作为推理时增强或学生可见记忆,而作为训练时教师的特权输入,其收益在移除后仍内化于学生策略。工程上,论文首次把潜在token注入做在生产级推理引擎(SGLang/vLLM)而非HuggingFace内嵌张量操作上,并用等价性验证(把潜在区段换成已知词嵌入后两条输入路径贪心解码完全一致)确认无数值伪影。目标函数把minimax边际约束、结果奖励加权的特权、以及上下文锚定项 $\lambda\|c_\phi-\mathrm{sg}[c_{\phi_0}]\|^2$ 组合成一个整体,保证学习方向是「更有信息的教师」而不是「更容易匹配的教师」。

Overview of LOPD. The student generates on-policy trajectories from the task and interaction history. A fixed-backbone teacher re-evaluates the same prefixes with latent context composed from retrieved experiences, and reverse-KL distillation matches their top-M-plus-tail distributions.
Figure 2: Overview of LOPD. The student generates on-policy trajectories from the task and interaction history. A fixed-backbone teacher re-evaluates the same prefixes with latent context composed from retrieved experiences, and reverse-KL distillation matches their top-M-plus-tail distributions.

实验结果

性能上,LOPD在全部十个「骨干×基准」聚合比较中都拿到第一。工具使用:Qwen3-4B上EnvScaler 63.7(最强基线GRPO 61.8)、BFCL-v3平均27.38(基线25.25)、ACEBench平均60.6(基线56.0);Qwen3-8B上EnvScaler 66.4(Skill-SD 60.2)、BFCL-v3 29.88(GRPO 29.00)、ACEBench 62.7(GRPO 58.0),其中对OPSD/SDFT/Skill-SD分别领先14.4/10.2/6.2(EnvScaler)和10.0/8.0/6.7(ACEBench)。代码生成:Qwen3-4B把LiveCodeBench v5/v6聚合提到48.78、EvalPlus提到81.36;Olmo3-7B达到50.98与78.41,比最强基线分别高2.69和0.55。LOPD是唯一在全部十个聚合设置上都高于vanilla的方法,增益从Qwen3-8B BFCL-v3的+1.50到同骨干EnvScaler的+17.2。学习效率:在1600代rollout预算内,LOPD第320代即超0.61平均奖励、第576代达0.637并稳定在0.63–0.64区间,而GRPO和Skill-SD训练满额也只到0.611和0.588——即用不足30%的预算反超。消融(Figure 3):冻结组合器0.573;$m{=}0$ 坍缩至0.551;$m{=}0.01$ 仅0.566;$m{=}0.02$ 起超越冻结基线(0.603);$m{=}0.05$ 最优0.637;$m{=}0.10$ 为0.626;$m{=}0.20$ 回落0.613。敏感性(Figure 5):每条经验8/16个token时奖励约0.56,32个token跳到0.637,64/128无一致增益;检索1条0.605、3条0.637,更多无单调收益。行为内化(Table 3):LOPD学生环境步数17.04(vanilla 11.12)但每步工具调用仅1.11(3.50),首步响应缩短37.5%(6,210 vs 9,937 token),重复调用5.25(8.89),每次调用奖励0.050(0.038),且与「基座+潜在上下文条件化」(Base+Composer,reward 0.631)行为模式一致,说明教师的过程性指导被内化而非仅拟合总奖励。案例研究(Figure 6):32个潜在token经LM头投影为多语言与代码混杂的碎片,不复现检索解法,但检索本身捕获结构同构——保险任务的add-update-change-withdraw操作模式、Josephus递推对应目标题的循环淘汰结构。

Tool-use results across EnvScaler, BFCL-v3, and ACEBench. All results are reported on a 0–100 scale; higher is better.
Table 1: Tool-use results across EnvScaler, BFCL-v3, and ACEBench. All results are reported on a 0–100 scale; higher is better.
Code results across LiveCodeBench and EvalPlus. Each cell reports pass@1 (%); higher is better.
Table 2: Code results across LiveCodeBench and EvalPlus. Each cell reports pass@1 (%); higher is better.
Fine-grained behavior on the EnvScaler test set. Base + Composer denotes the unadapted backbone conditioned on composed latent context; the student receives no privileged context.
Table 3: Fine-grained behavior on the EnvScaler test set. Base + Composer denotes the unadapted backbone conditioned on composed latent context; the student receives no privileged context.
Domain-specific training configurations.
Table 4: Domain-specific training configurations.
Evaluation inference configurations per benchmark.
Table 5: Evaluation inference configurations per benchmark.
Effect of joint optimization. EnvScaler performance across margins.
Figure 3: Effect of joint optimization. EnvScaler performance across margins.
EnvScaler training dynamics. Mean reward over 1,600 rollouts.
Figure 4: EnvScaler training dynamics. Mean reward over 1,600 rollouts.
Representative latent decoding examples. Each row pairs a current task with a structurally related rank-2 retrieval and excerpts from LM-head projections of 32 latent tokens, with and without task conditioning. The projections remain fragmented and do not reproduce the retrieved procedure verbatim.
Figure 6: Representative latent decoding examples. Each row pairs a current task with a structurally related rank-2 retrieval and excerpts from LM-head projections of 32 latent tokens, with and without task conditioning. The projections remain fragmented and do not reproduce the retrieved procedure verbatim.
查看结构化数据
任务指标本文基线提升
工具使用(Qwen3-8B)EnvScaler held-out 200任务 任务成功率(0-100) 66.4 60.2(最强基线 Skill-SD) +6.2(相对vanilla +17.2)
工具使用(Qwen3-8B)ACEBench 平均分(0-100,M-Step+M-Turn) 62.7 58.0(最强基线 GRPO) +4.7
工具使用(Qwen3-8B)BFCL-v3 四子集平均分(0-100) 29.88 29.00(最强基线 GRPO) +0.88
代码生成(Olmo3-7B)LiveCodeBench v5/v6 pass@1 (%) 50.98 48.29(最强基线 GRPO) +2.69
代码生成(Qwen3-4B)EvalPlus(HumanEval+/MBPP+) pass@1 平均 (%) 81.36 80.07(最强基线 SDFT) +1.29
工具使用(Qwen3-4B)EnvScaler 任务成功率(0-100) 63.7 61.8(最强基线 GRPO) +1.9
样本效率(EnvScaler,Qwen3-4B) 达到0.637平均奖励所需rollout代数 576代(320代即超0.61) GRPO 1,600代仅0.611;Skill-SD 0.588 以不足30%预算反超两大最强基线

局限与改进

作者承认的局限:案例研究显示潜在token的LM头投影是「多语言+代码混杂的碎片」,不可读、不复制检索到的解法,且作者明确强调直接可解码性并不能证明教师功能上用了什么信息——可解释性仍开放;敏感性分析暴露容量阈值($K{<}32$ 时奖励停在约0.56)与平台期(检索超过3条无单调收益),说明超参并非任意鲁棒;经验库被刻意做得极简(任务描述余弦检索+观察精简轨迹),作者也承认更丰富的经验源是待接入方向。我的补充观察:(1) 冷启动与经验库完全依赖成功rollout,在初始成功率趋近零的困难任务上库会覆盖不足,论文未测试这种冷启动稀疏场景(基线部分反而提到需用更强模型合成演示);(2) 教师必须在学生轨迹的每个已访问前缀做前向,多轮长轨迹(40,960 token预算、30个环境步)下teacher算力显著高于GRPO式结果奖励,论文只报告rollout代数效率、未报告墙钟时间或FLOPs对比;(3) 评测规模偏小且部分依赖专有API——ACEBench只有50个任务、多轮对话靠deepseek-v4-flash API用户模拟器驱动,EnvScaler held-out也只有200题,得分噪声不可忽略;(4) 只测了4B–8B两个家族三个模型,未验证规模扩展性;(5) 经验库在评测前冻结,真正的持续自进化循环(库在线更新、经验质量漂移、遗忘)并未实验;(6) 未报告通用能力或灾难性遗忘指标,反向KL的mode-seeking可能收窄输出多样性。

独立分析的弱点

弱点一(成功经验冷启动瓶颈):若新领域初始成功率接近零(如复杂多约束规划),经验库为空,$\phi_0$ 冷启动无从谈起,整套机制失效。改进方向:用少量强模型种子轨迹bootstrap、按难度课程从易到难逐步建库、或与探索型RL混合——GRPO供早期信号、LOPD接管后期精炼。弱点二(检索决定上限):当前用任务描述的稠密余弦相似度,但「任务表面相似」不等于「过程可迁移」——保险任务共享操作模式时检索有效,而代码题的最优解法族(如 Josephus 递推)未必反映在题面文本里。改进方向:在潜在空间做检索(用压缩器输出token检索)、让检索器参与端到端训练、或做任务级+轨迹级多粒度召回。弱点三(不可解释与安全):投影碎片化意味着无法审计教师向学生灌输了什么,若经验库混入错误或有害模式,会以不可读的方式传播且难追溯。改进方向:给潜在上下文加解码/稀疏化正则、训练探针审计、建经验质量过滤与溯源机制。弱点四(teacher前向成本):每个监督token都要教师logits,长轨迹训练开销大。改进方向:只在学生高熵token上蒸馏、对前缀做采样、离线缓存教师打分。弱点五(超参调节负担):$m$、$K$、$n_{ret}$、$\lambda$、$\eta_\beta$ 需按域调,消融显示 $m$ 过小坍缩、过大回落。改进方向:随学生进步自适应上调边际 $m$、按经验信息量自适应分配token数 $K$。

未来方向

作者提出的方向:接入更丰富的经验源——现成智能体技能、可复用codebook、可学习检索器——且无需改变框架,因为要点是「经验格式不由人规定」;用其他潜在token生成器替换QFormer式压缩器;把「经验表示应为策略端到端优化」推广为自进化AI的设计原则——更丰富的库与检索器拓宽「有什么可用」,由学习决定「什么变得有用」。基于成果可延伸的:持续学习设定下的经验库在线更新与遗忘治理(库不再冻结);LOPD与RLVR的交替/混合训练——结果奖励既驱动边际约束也可直接优化学生,两种信号的配比值得系统研究;多智能体共享经验库的群体自蒸馏;推广到多模态在策略蒸馏(视觉、语音OPD已有先例);对 $\Delta(\phi)$ 与下游泛化、多样性的关系做理论刻画;开发「潜在token↔结构化摘要」的双向翻译工具,让潜在经验可审计、可编辑。

复现评估

开源情况:代码在GitHub(github.com/bingreeky/LOPD),模型权重发布于HuggingFace(Qwen3-8B-LOPD、Olmo3-7B-LOPD;4B检查点未见提及)。复现细节在同类工作中相当完整:附录A给出组合器架构(LoRA rank 8/α16/dropout 0、8层共享权重交叉注意力、FF放大4倍、查询 $N(0,1/\sqrt d)$ 初始化)、冷启动目标与超参(AdamW $10^{-5}$、batch 8、裁剪3.0)、检索配置(Qwen3-Embedding-8B、4096维、FAISS IndexFlatIP、非对称编码)、SGLang/vLLM注入机制及数值等价性验证、全部系统提示词与潜在上下文框定文本;附录B给出六个基线各自的原始KL方向与配置、训练数据(EnvScaler 2,349任务、TACO约7K题)与评测协议(含Table 4/5的逐基准推理配置)。算力方面:4B–8B模型加LoRA/QFormer轻量训练看似不重,但教师需对每条32-rollout步的每个前缀做前向、工具使用响应预算40,960 token、上限30环境步,实际单卡或单节点多卡仍属必要;EnvScaler环境与TACO数据开放,然ACEBench多轮评测依赖deepseek-v4-flash API用户模拟器、部分基线演示依赖DeepSeek-V4-Pro/Qwen3.7-Max合成,是外部依赖点。总体难度中等偏高:有代码与权重兜底、超参全公开,但管线组件多(环境交互、检索、压缩器、引擎级嵌入注入、对偶优化),完整复现需要较强工程能力;最省力路径是直接用已发布权重,或在其代码库上换数据域。