本文为两篇论文合并精读(duet 模式):论文一《X-Tree: Tokenizing Reusable Experience for Efficient Agent Generalization》(arXiv:2609.32993);论文二《Not All Experience Belongs in the Weights: Component Routing for Self-Improving GUI Agents》(arXiv:2610.01787)。两篇论文于 2026 年 9-10 月先后出现,共同回答同一个问题的两个正交侧面:一段 Agent 经验,究竟应该变成模型的权重,还是变成提示词里的一条笔记?
总题目区
论文一(X-Tree):arXiv 2609.32993 | 代码 / 项目页 | 2026 年 9 月 26 日 | University of Waterloo + Duke University + National University of Singapore(三校合作,一作 Sitao Cheng 与通讯 Victor Zhong 均在 Waterloo)| cs.AI / Agent 训练 / 经验复用 论文二(Component Routing):arXiv 2610.01787 | 代码数据承诺开源 | 2026 年 10 月 | South Dakota State University(单一高校,Beining Wu / Zihao Ding / Jun Huang 三人小组)| cs.AI / GUI Agent 自改进 / 记忆路由
〇、总览:一个争论,两个正交答案
自改进 Agent(self-improving agent)的工作循环是:跑一批任务、把轨迹留下来、再把经验「还」给 Agent。但还到哪里是一个悬而未决的问题。一条路线是微调——把成功轨迹蒸馏进权重;另一条路线是检索——把轨迹或从中学到的笔记放进一个库,用时检索进提示词。两条路线各有胜绩,文献里的比较结论互相矛盾:微调派在工具任务上赢(hints internalization),检索派在网页任务上赢(prompt-side updates),同一个技能表示帮了这个任务又害了那个任务。
这两篇论文没有加入任何一派,而是各自拆掉了这个问题的错误前提:
- X-Tree 的回答:经验该以「技能词表」的形式训入权重。它注意到文本语言模型在训练开始前就解决过同构问题——BPE tokenizer 仅靠计数就把字符流组织成层级词表。X-Tree 把这个思想搬到行为流上:动作规范化为类型化 token,按「递现×长度×成功」三因子打分递归合并成经验树,零 LLM 调用,然后通过三种训练集成(离线 RL / 在线 RLVR / 自蒸馏)把树训进权重。上下文技能库的问题不是「写在上下文」,而是「从未进过训练目标」——X-Tree 让经验进入目标函数本身。
- Component Routing 的回答:经验不是一个整体,该拆开分流。一条轨迹捆绑着性质完全不同的四种成分——定位符、过程、状态事实、教训。论文在完全相同的条目上配对比较两个目的地,发现一个池子内部就有两个相反的赢家:定位符和教训在权重里更好(路线增益 +4.9 / +1.5),过程和状态事实在上下文里更好(−4.2 / −4.1)。「经验进权重还是进上下文」这个问题的正确形态不是二选一,而是「哪一种成分去哪一边」。
两篇论文合起来,给出了一条完整的经验处理管线:先像 X-Tree 那样从轨迹池里把可复用结构挖出来(词表化、零 LLM),再像 Component Routing 那样按每块知识的复现率与状态条件性决定它的去处(权重或上下文)。一个负责「怎么挖」,一个负责「放哪里」——这是本文合读的主线。
一、论文背景:经验为什么是瓶颈,经验该放哪里
1.1 多步 Agent 的经验饥荒
无论是操作网页的 Web Agent、操作手机的 GUI Agent,还是在虚拟科学世界里做实验的文本 Agent,它们的训练数据都由轨迹(trajectory)构成:一长串「观察→动作」对,末尾挂一个成败标签。轨迹的获取成本极高——环境要搭、任务要写、验证器要可信,人工演示贵,模型合成又要验证。经验不像网页文本那样可以爬取万亿次。于是核心问题变成:如何从有限的轨迹池里榨出最多的能力。
现状并不理想。标准训练配方——SFT(监督微调)和 RLVR(可验证奖励的强化学习)——把轨迹当作扁平的动作流:每个 token 被均匀加权,训练目标完全看不见跨任务反复出现的子过程。「打开门→走进走廊→再开门」这样的子例程在成百上千条轨迹里复现,但均匀加权的损失函数对它们没有任何特殊对待。人类学习者恰恰相反:认知科学早就发现人类自发把行为组织成层级结构,从目标经子目标到原语(Miller 1956 年的神奇数字 7±2,Botvinick 2009 年的层级行为综述),层级化让人类用同样的数据泛化得更远。结构就在数据里,只是训练目标没用它——这是 X-Tree 的出发点。
1.2 上下文技能库:廉价但止步于检索
另一条近路是让 LLM 自己总结经验。Voyager 在 Minecraft 里把技能写成可执行代码存进库;Agent Workflow Memory(AWM)让 LLM 从轨迹里归纳「工作流」存入记忆,用时检索进提示词;Reflexion、ExpeL、Synapse 等系统存反思、洞察或轨迹范例。这类方法有两个结构性缺陷:其一,抽象这一步要调 LLM,贵、不可控,且产出的技能库无法从数据单独复现(换个 LLM 重写一遍就变了);其二,技能永远只进上下文、不进权重——模型参数没变,能力就泛化不出检索的范围:检索命中就有提升,检索不到就归零。
于是形成了一个对照:扁平训练「浪费」了数据里的结构,上下文技能「隔离」了数据与权重。X-Tree 的追问是:能不能不调用 LLM,把结构从数据里确定性挖出来,再直接训进权重?
1.3 权重 vs 上下文:一场结论互相矛盾的争论
GUI Agent 领域的自改进研究把这场争论摆到了台面上。同一批自产轨迹,全部微调进权重(成功过滤微调)与全部检索进上下文(轨迹库/笔记库)哪个更好?现有文献各执一词:内部化提示(hints internalization)在工具任务上胜过提示词;prompt 侧更新在网页任务上胜过梯度更新;还有理论工作(Chan et al., ICLR 2025)证明上下文学习与权重学习各自涌现的数据条件不同。
Component Routing 指出了这场争论的共同软肋:所有比较都以「整条轨迹」为单位。一条轨迹其实是多种异质知识的捆绑——它同时教会你「搜索框在这个位置」(定位知识)、「先点城市再点确认」(过程知识)、「提交前答案必须已填」(前置条件)、「在这里别点返回」(教训)。任何关于「捆绑包整体去哪」的结论都依赖捆绑的比例,矛盾结论自然层出不穷。**要判定经验的去处,需要两件事:一个能在训练前测量的、逐成分的属性;一个两边消费完全相同条目、在同一批留出任务上读分的受控比较。**此前没有任何工作同时做到这两件——这是 Component Routing 的出发点。
1.4 一个类比:词表与图书馆
两篇论文合起来可以用一个类比理解:Agent 的经验就像一家公司的知识资产。X-Tree 像是编词典——统计哪些短语天天被成功使用,把它们固化成词条(甚至成语条目),让每个员工(模型权重)背下来;Component Routing 像是分档案——员工手册里只放天天要用的通用条款(进权重/手册),而「这台打印机要先刷卡」这类状态相关的提示贴在打印机上(进上下文,按场景检索)。词典解决「重复知识值得固化」,档案制度解决「不同性质的知识有不同的最佳存放介质」。一个公司两样都要——一个 Agent 也是。
二、论文定位和关联工作
2.1 X-Tree 的谱系:从压缩、分层 RL 到经验复用
(1)压缩与词表学习(思想源头)。BPE(Sennrich et al., 2016,arXiv:1508.07909)递归合并最频繁的相邻字符对构成子词词表,是现代 LLM 分词器的标配;更早的还有序列层级结构发现(Nevill-Manning & Witten, 1997)与字典压缩(Larsson & Moffat, 2000)。程序合成方向的库学习(DreamCoder、LILO 等)在描述长度目标下压缩程序。机器人领域已有两个近亲:PRISE 与 Subwords-as-Skills 把 BPE 用于量化后的连续控制动作。X-Tree 与它们的三点区别:字母表是规范化类型动作(而非量化向量)、合并准则是三因子 X-Score(行为比文本多携带「成功」信号)、词表用途不是扩大宏动作空间而是作为先验以数据/奖励/上下文三种身份参与训练。
(2)分层强化学习(问题意识)。options 框架(Sutton et al., 1999)、技能树(Konidaris et al., 2012)、从演示中分割子策略的一系列工作,确立了「自底向上训练扁平动作流会错过结构」的发现。X-Tree 把它们在连续控制中恢复层级的方法带到了 LLM Agent 的离散动作流上。
(3)LLM 诱导技能与经验复用(对照物)。Voyager(Wang et al., 2023)、AWM(Wang et al., 2024)、SkillWeaver、WALT、WebXSkill 等把技能写在提示词或工具注册表里,抽象本身依赖 LLM 调用。X-Tree 在 MiniWoB++ 上与它们同台对比(作为上下文建议时 X-Tree 也在三个骨干上全面领先,如 Qwen2.5-7B 上 49.8 vs AWM 41.4、无技能 44.9),但论文的真正主张是训入权重:MiniWoB++ 上部分 LLM 写的技能库甚至低于无技能基线——小模型写的技能会误导 Agent,而训练进权重则不依赖模型「听劝」。
(4)多轮 Agent 训练(集成对象)。Go-Browse(Gandhi & Neubig, 2025,CMU)用结构化探索自动采集 WebArena 训练数据(正是 X-Tree 的 7.9k 轨迹来源与主 baseline);GRPO(Shao et al., 2024,DeepSeekMath)提供组相对策略优化;OPSD(on-policy self-distillation)系列提供了自蒸馏目标。X-Tree 的贡献是给这三条训练通路各装上一个「经验结构」接口。
2.2 Component Routing 的谱系:经验双通道与生产者-消费者
(1)经验的两个目的地(被测量的对象)。权重路线:自轨迹微调、技能蒸馏、上下文蒸馏(把有用的上下文蒸馏进参数,如 Memento No More,TMLR 2026——工具任务上内部化胜过提示);上下文路线:轨迹库/技能卡/演化提示/无梯度 logit 更新(如 Just-In-Time RL——网页任务上 prompt 侧更新胜过梯度更新)。这些工作全部以整条轨迹为单元、比较两条完整管线,条目在比较开始前就已经不同。Component Routing 反过来:钉死条目,只变目的地,逐成分测量。
(2)理论依据(预期的形状)。Chan et al.(ICLR 2025)《Toward Understanding In-context vs. In-weight Learning》通过泛化误差与 regret 分析指出:知识在预训练分布中反复出现时进权重,长程连贯地在上下文中呈现时走上下文。Component Routing 的复现率 r 与这一理论直接对话——实验测出的「高复现归权重」正是该理论在 Agent 经验上的实证回声。Lampinen et al.(2025)的受控研究则发现上下文学习在分布偏移下泛化更好、微调更易绑定表层——对应本文「状态特异的知识放上下文」的结果。
(3)GUI Agent 经验形成与脆弱性(动机)。轨迹微调学到界面捷径和学到语义一样容易;同一技能表示帮 grounding 害 action prediction;自改进循环的增益随种子、任务顺序、骨干漂移;重复内部化会坍缩而非复利。这些「净效应」研究推动了 Component Routing 把效应拆解为信息差与策略差两个可测量的机制量。
(4)与 X-Tree 的互补关系。X-Tree 证明「可复用结构值得训进权重」,其消融(随机树 −5.0)恰恰说明不是所有重复结构都等价——X-Score 的成功率因子在筛「哪些重复值得训」;Component Routing 则更进一步证明即使是好结构,也只有一部分该进权重(低复现高条件性的过程知识进上下文更好)。X-Tree 的 X-Score 用「递现×成功」隐式做了路由,Component Routing 把路由显式化为两个可测属性与一条边界线。
2.3 定位对比表
| 维度 | 上下文技能库(AWM/Voyager 等) | X-Tree | Component Routing |
|---|---|---|---|
| 经验单元 | LLM 写的技能/工作流 | 挖掘出的技能树节点 | 四类组件条目(带 key/payload/条件) |
| 抽象成本 | 每技能≥1 次 LLM 调用 | 零 LLM 调用(纯计数) | 零 LLM 调用(规则抽取器) |
| 去处 | 只进上下文 | 三路训入权重(数据/奖励/上下文) | 按属性逐组件路由 |
| 路由依据 | 检索相似度 | X-Score(递现×长度×成功) | r 与 κ 两属性线性规则 |
| 主战场 | 网页/具身 | WebArena/ScienceWorld/WebShop | MobileGym/AndroidWorld(GUI) |
| 头条数字 | — | 22.9 vs 18.4(+24% 相对) | 33.2% vs 19.1%(+13.4 点) |
三、问题定义
3.1 X-Tree:把「词表构建」从文本搬到行为
具体问题:有限轨迹池上,如何不靠 LLM 把可复用子过程的层级结构挖出来,并让标准训练配方(SFT/RLVR/蒸馏)利用它?
抽象问题:X-Tree 洞察到「训练前的 tokenizer 构建」与「训练中的经验复用」是同构的——两者都把符号序列按复现性组织成层级词表。对应关系:
| 文本 BPE | 行为 X-Tree |
|---|---|
| 字符流 | 规范化动作序列(verb⟨role⟩ token) |
| 相邻字符对频率 f_uv | 相邻动作对递现次数 f_uv |
| 合并增益 = 频率 | X-Score = 递现 × 长度^pℓ × (成功率+ε)^ps |
| 压缩词表 | 经验树(技能节点,深度 d_v) |
| 词表供后续预训练使用 | 树以三种身份进入训练目标 |
形式化:给定轨迹池 D(每条轨迹带 episode 级成功标签),构建确定性、可审计的技能层级 H,并将 H 集成进训练目标,使同数据同预算下的任务成功率最大化。精妙之处在于行为比文本多携带两个信号:长度(合并更长的跨度意味着更大的压缩收益与更完整的子过程)与成功(出现在成功 episode 的比例——文本没有「这对字符参与了成功的翻译」这种标签),所以合并准则必须从单因子频率扩展为三因子 X-Score。
3.2 Component Routing:把「目的地之争」变成「属性测量」
具体问题:GUI Agent 自己跑出来的经验,哪部分该微调、哪部分该检索?
抽象问题:Component Routing 洞察到争论双方共享了一个错误单元——把轨迹当原子。正确的问题形态是:以「组件条目」为原子,在完全相同的条目上配对比较两个目的地,并寻找一个训练前可测的属性对 (r, κ),使路由规则在没见过的骨干族上仍然恢复每个组件的正确目的地。
形式化:经验池 E 经规则抽取器映射为四个条目集 D_c(c ∈ {G 定位符, P 过程, F 状态事实, L 教训}),每条目带跨 episode 可识别的 key。两条目的地路由:C_c(把 D_c 渲染成笔记检索进提示词)与 W_c(把 D_c 渲染成训练样本微调 LoRA)。在留出任务实例集 T 上定义路线增益 Δ(c) = U(W_c) − U(C_c)(逐实例配对),Δ>0 表示该组件归权重更好。求:仅凭池上可算的 r(复现率:key 在无关任务 episode 中出现的比例)与 κ(状态条件性:payload 的用处多大程度依赖当前状态匹配源状态),拟合 s_θ(c) = α·r − β·κ⁰ − γ,使 sign(s) 在留出族上恢复 sign(Δ)。精妙之处:两个属性都在任何训练发生之前就能从池中算出——实践者据此做路由决策不需要先跑一遍昂贵的对照实验。
四、问题解法(含实验证据)
4.1 X-Tree:三步走——规范化、打分合并、三路集成
4.1.1 第一步:动作规范化(让复现变得可见)
原始动作五花八门:fill(bid, '2/2/26') 与 fill(bid2, '01/01/2025') 表面毫无相似。X-Tree 把每个动作(思维链除外)映射为类型化 token verb⟨role⟩:动词来自动作函数名,角色来自目标元素的无障碍树角色(WebArena)或九类物体词典(ScienceWorld),其余值(元素 id、输入文本)剥离存档。于是「填两个日期再点提交」在不同站点、不同日期下都是同一个符号序列 type⟨text_input⟩ → type⟨text_input⟩ → click⟨button⟩。规范化是确定性的、完备的、无损的(被剥离的值保留在槽位里),这使复现第一次变得可计数。
4.1.2 第二步:X-Score 合并(词表式构建经验树)
对语料中相邻的符号对 (u, v)(原始动作或早先合并的节点),定义:
X(u,v) = f_uv(递现)× (ℓu+ℓv)^pℓ(长度)× (succ(uv)+ε)^ps(成功)
其中 f_uv 是相邻出现次数,ℓ 是展开后的原始动作数,succ 是出现在成功 episode 中的比例,pℓ=ps=1,ε 平滑。递归合并 X-Score 最高的对,同时施加压缩约束 f_uv − 1 > η·(ℓu+ℓv)(合并必须真的减少符号数,η 防止语料坍缩成少数巨型符号),直到没有对能通过约束或达到技能数上限。整个过程零 LLM 调用、确定性、可审计。产物是一棵经验树:叶是规范化动作,每个内部节点是一个「频繁、成功、可组合」的技能,深度 d_v 记录组合层数。一条轨迹可以被树铺贴(tiling)成少量 token——论文的例子中 ScienceWorld 一条 18 步轨迹被切成 6 个 token(4 个树节点 + 2 个未合并原语),其中 depth-6 的「从厨房取温度计」节点是逐层长出来的子过程。
WebArena 从 7.9k 条 Go-Browse 轨迹挖出 256 个技能;ScienceWorld 从 1,673 条轨迹挖 80 个;WebShop 从 1,824 条挖 48 个。案例研究显示 X-Score 的「成功」因子确实在区分价值:WebShop 里「按目标选项购买」的链条成功率 0.81–0.97,「翻很多页再买」的链条只有 0.14–0.36——后者频繁但与失败绑定,文本 tokenizer 的纯频率准则看不到这一点。
4.1.3 第三步:三种训练集成(树作为数据、奖励、上下文)
| 集成 | 场景 | 机制 |
|---|---|---|
| 离线 RL(树=数据) | 只有轨迹、没有环境 | 每个树节点是一个 GRPO 实例:给定节点前的金前缀(观察+动作),策略部分 rollout 至多 ℓv 步;奖励 r = (1−α)·步匹配率 + α·(1+γ·d_v)·节点完成奖(α=0.3, γ=0.5)。走错即停,观察从金轨迹回放——不需要环境 |
| 在线 RLVR(树=奖励) | 有环境与验证器 | 在 outcome 奖励上加自适应技能加成:r_i = R_out + λ_g·Σ b_v,其中 λ_g = λ₀·clip(1−w_g/w_ref, 0, 1) 随组内 win rate 上升而退火——验证器「哑」的时候技能加成补对比度,验证器「会说话」了就自动让位 |
| OPSD(树=上下文) | 同权重自蒸馏 | 自教师 = 同一个模型 + 检索到的 X-Tree 渲染文本作为特权上下文;对学生的每个 token 计算 log-prob 差 δ_t,经置信门 g_t = σ(β·δ_t) 加权加入 RL 损失——只在「技能文本真正提供信息」的 token 上拉学生向教师 |
另有第四种轻量集成(附录):树节点直接改写 SFT 的训练行——每行一个节点而非一个动作,上下文每节点只编码一次,ScienceWorld 上把每个受监督动作的 token 成本从 1,766 降到 446(4.0× 节省),1.5B/3B/7B 上分别 +4.9/+2.4/+9.1 SR。
4.1.4 实验证据
主结果(WebArena 离线 RL,Qwen2.5-7B,694 个确定性任务):SFT 半池热启动后,X-Tree 离线 RL 达 22.9 SR,对比 Go-Browse 全量 SFT 配方 18.4(+4.5,相对提升 +24%);匹配计算量多训两轮 SFT 只到 18.8,排除算力因素。增益在三大程序性最强的站点最大:admin +6.4、gitlab +5.2、shopping +4.9;在主要靠查询措辞的 reddit/map/wiki 上收窄。配方迁移到 Qwen2.5-14B(+1.6)与 GLM-4-9B(+2.0)依然成立。稳定性上 +4.5 的差距约为两侧波幅(各 ±0.6)的七倍。
消融把增益钉在结构与方法的交集上(这是本文最有说服力的部分):
| 替换 | SR | Δ |
|---|---|---|
| X-Tree Full | 22.9 | — |
| 整条轨迹(无树) | 19.9 | −3.0 |
| 随机区间(保持切分直方图,只挪边界) | 19.5 | −3.4 |
| 随机树(同合并数,X-Score 换随机) | 17.9 | −5.0 |
| X-Tree 但平面混合(无完成奖) | 20.7 | −2.2 |
| X-Tree 但按深度课程 | 21.2 | −1.7 |
| 二值 outcome 奖励 | 18.2 | −4.7 |
随机树不仅掉 5.0 分,还跌破 SFT-only(18.4)——错误的结构比没有结构更糟,X-Score 挖的「正确边界」是增益的必要条件。值得注意的是随机树的节点 88% 只有俩动作(真树 43%),随机配对根本长不出深层组合。
在线 RLVR(ScienceWorld / WebShop,1.5B/3B/7B 三档):ScienceWorld 上三个泛化层级(G0 已见任务/G1 未见变体/G2 未见任务)全面领先 outcome-only GRPO,最大 +4.9 SR(7B G0:56.7→61.6),未见任务 G2 上 7B +3.9(21.7→25.6)——结构化经验迁移到了从未训练过的任务。WebShop 上成功率最高 +3.6、graded score 最高 +4.6(均 7B)。 rollout 数缩放实验精确刻画了加成的「工作窗口」:n=4 时增益最大(3.6–4.4),n=16 时收窄——验证器信号稀疏时技能加成才被需要,λ_g 的实测曝光从 n=2 的 0.50 降到 n=16 的 0.18–0.26,「随胜任退火而非随步数退火」。
OPSD:X-Tree 渲染文本作为自教师特权上下文,与 gpt-oss-120b / GPT-o3 写的技能库打平甚至局部反超(最高 +3.7),且零 LLM 成本;7B 上 OPSD 比 outcome-only RLVR 高 +5.8 SR。消融显示打乱渲染文本的词序掉 0.6、空特权上下文掉回 outcome 水平——链条(结构)而非词汇在起作用。
「是不是额外数据的功劳?」:资源配平实验把 X-Tree 改从 SFT 自己的数据里挖,三档全部领先(+1.0~+3.2);更惊人的是挖掘语料规模实验:仅 100 条轨迹挖出的 11 技能树(success 75.2)已经超过 500 样本 SFT 热启动的 outcome-only 基线(73.8),全量 1,824 条到 76.5——挖结构不需要大池子。把留出任务从挖掘语料中剔除后重挖,G2 上仍领先 outcome-only +2.0,泛化不靠「偷看」。
训练后策略真的变了结构:测试期动作分析显示加成策略执行技能的平均深度从 2.11 升到 2.39、每 episode 技能数从 3.33 降到 3.04——策略在跑「更少但更长」的组合,与「RL 组合已有原子技能」的前序发现一致。
4.2 Component Routing:四组件、两属性、一条边界
4.2.1 组件抽取:轨迹的四类知识
规则抽取器(零 LLM)从池中每一步读出四类条目,每条目 = key(跨 episode 识别)+ payload(内容)+ 状态条件(何时适用):
| 组件 | 内容 | key | 上下文形态(笔记) | 权重形态(训练样本) |
|---|---|---|---|---|
| G 定位符 | 命名元素在屏幕上的位置 | (应用, 角色, 元素名) | 「城市管理的点击坐标是 (770, 84)」 | 截图 + 点击该元素 |
| P 过程 | 任务族内复现的三步目标序列 | 三个连续目标 | 「做完 X、Y 后下一步通常是 Z」 | 上下文→下一动作,子目标作 thought |
| F 状态事实 | 动作成功的前置条件(从同一目标的失败与成功尝试中提取) | (应用, 目标, 谓词) | 「提交答卷前须满足:答案已填」 | 源步→动作,谓词作 thought |
| L 教训 | 同一状态下失败动作与后来成功动作的配对 | (应用, 状态, 失败目标) | 「此状态下别点 X,应点 Y」 | 偏好对(DPO:成功为 chosen) |
状态用签名(应用状态路径-值对,或 AndroidWorld 的可见无障碍节点集)概括,Jaccard 相似度 ≥0.9 记精确匹配 E、≥0.5 记松弛匹配 R。
4.2.2 两个训练前属性:复现率 r 与状态条件性 κ
- 复现率 r(d):条目 key 在无关任务(同应用、不同模板)的 episode 中出现的比例——衡量「这条知识跨任务通用吗」。
- 状态条件性 κ⁰(d):对 key 的成对出现,比较精确状态匹配下 payload 一致率 a_E 与松弛匹配下一致率 a_R,定义 κ⁰ = 1 − a_R/a_E——payload 越依赖精确源状态,κ 越大。
两者只依赖池本身,任何训练决策之前就能算出。四组件在 (r, κ) 平面上各占一角:G 高复现低条件(r≈0.39, κ≈0.10);P 低复现高条件(r≈0.05, κ≈0.66);F 中复现高条件(0.32, 0.56);L 中高复现中条件(0.45, 0.53)——且三个骨干族把每个组件放在同一区域。
4.2.3 两条路由与配对测量
- 上下文路由 C:库按应用与 key 索引,每步按 Jaccard 排序取 top-5 笔记附加进提示词(精确匹配优先),其余提示与基础 Agent 逐字符相同。
- 权重路由 W:同批条目渲染成训练样本,LoRA(rank 16、α 32、3 epochs、lr 1e-5,视觉塔冻结)微调后合并;L 用 DPO。所有训练臂在留出开发分片 token 准确率 ≥0.90。
- 路线增益 Δ(c) = U(W_c) − U(C_c):同条目、同留出实例、逐实例配对,10,000 次自助法 95% 区间。三骨干族(GUI-Owl-8B / Qwen3-VL-8B / ScaleCUA-7B)× 两环境(MobileGym 1,106 实例/种子、AndroidWorld 232 实例/种子)× 3 种子。
4.2.4 实验证据
观察一:一个池子,两个目的地。路线增益按组件分裂:G +4.9、L +1.5 归权重;P −4.2、F −4.1 归上下文(MobileGym 三骨干汇总)。十二个 MobileGym 格三族符号一致,AndroidWorld(状态签名从屏幕读)复现同一模式。两个目的地对每个组件都有效(相对基线增益:上下文 +1.8~+5.2、权重 +0.8~+6.7),差别只在谁更有效:定位符权重 +6.7 vs 上下文 +1.8;过程上下文 +5.2 vs 权重 +1.0。共存臂在权重已胜的组件上只加 +0.1,但在上下文胜的状态事实上再 +3.5——上下文恰好在「上下文赢的组件」上保持价值。
观察二:两个属性解释分裂,规则在留出族上 24/24 恢复符号。用 r 与 κ⁰ 拟合线性分数 s = α·r − β·κ⁰ − γ,留出一族拟合、在其上预测:24 格全部恢复正确符号(19 格区间不含零),三折系数高度稳定(α∈[9.01,9.32], β∈[4.86,5.28])。边界线恰好穿过 L 与 F 之间——把 L 和 F 各自按条目复现率对半劈开(r=0.377 / 0.394 处),高半区归权重(L +2.5、F +2.9)、低半区归上下文(L −1.8、F −2.1),十二个半区全部落在规则预测的一侧。
观察三:干预移动组件——因果而非相关。两条单向干预验证规则的方向性:把过程条目复制 8 份再训练(机械提高训练剂量≈人为抬高 r),路线增益从 −4.2 移动到 −0.8(+3.5,Qwen3-VL 上跨过零到 +1.0);两份、四份呈剂量递增。把状态事实笔记的状态条件剥掉(只按任务文本检索),上下文增益掉 3.4(过程掉 3.9)——上下文路线买到的正是「条件」而非「内容」。反过来换屏幕元素签名检索只掉 0.7,条件可以从可见屏幕读。对照控制干净:随机笔记 −1.6、打乱 key 无效——格式本身不产生增益。
观察四:路由碾压所有整轨迹基线(MobileGym 汇总,三骨干三种子):
| 臂 | 成功率 |
|---|---|
| 无经验 | 19.1% |
| 整轨迹检索 ×1 | 18.0% |
| 整轨迹 SFT | 19.8% |
| 自重试三次 | 23.9% |
| 全部→权重 | 28.0% |
| 全部→上下文 | 28.5% |
| 路由(规则分配) | 33.2% |
路由比整轨迹微调高 +13.4、比更优的单一目的地高 +4.7(AndroidWorld:33.0%,+10.8 / +2.8)。逐骨干看 MobileGym 上 34.8 / 30.5 / 34.3。反向分配(每个组件反着送)掉 8.9(AndroidWorld 掉 6.7;对「更好单一目的地」的平均优势 +3.5、对反向 +7.8)——分配本身就是增益来源,而不是某条路线的溢出。整轨迹基线的失败可解剖:整轨迹 SFT 只 +0.7 ≈ 过程进权重(+1.0)的水平——它学到了定位(where)却丢掉了时机(when)。
观察五:训练让笔记冗余,且与复现率成正比。读出探针(同一决策步有无笔记是否改变动作):训练前笔记在 42% 的探测步改变动作;同批条目写入权重后,定位符的读出率掉到 16%、教训 15%,过程只降到 22%;降幅与组件复现率的相关达 Spearman −0.92(按条目三等分,最高复现三分位的比率只有 0.11)。这是冗余而非冲突——权重吸收的恰是反复出现的知识,而上下文保值的恰是过程这类状态特异的知识。
观察六:信息差养上下文,策略差距惩罚权重。生产者-消费者实验(15 对生产者-消费者 × 16 任务族):上下文增益随信息差(生产者会而消费者不会的家族份额)单调上升(最低六分位 +0.2 → 最高 +11.3,Spearman 0.65),无论谁写的笔记;权重增益随策略差距(两模型在同状态采取不同动作的比率)下降(+4.0 → −5.7,−0.52)。8B 消费者用自己的过程微调 +0.9,用 4B 生产者的 −2.3、32B 的 −1.4、异族 GUI-Owl 的 −7.5——而同一异族池子读上下文反而 +3.6。把异族生产者在消费者自己的成功上重训(关闭策略差)后恢复到 −2.0。微调买的是和写作者行为一致,笔记买的是写作者知道的信息——笔记库可跨模型携带(升级到 32B 后旧笔记仍 +3.2,旧样本 −1.4),权重路要换模型就得重训。
观察七:陈旧权重 vs 新鲜笔记。OpenApps 双版本实验:在 v1 应用上训练的权重遇到 v2 应用(陈旧权重单独 −8.4,新鲜笔记单独 +3.3);分歧步上复现率越高,Agent 越不听笔记、越常两个都不选(低 r:52% 听笔记/14% 都不听;高 r:43%/36%)——权重记得最牢的知识,恰是过时后最难纠正的知识。这为「易变知识放上下文」提供了直接的系统设计证据。
五、必要知识反推
要做这两篇论文的工作,作者最少必须掌握什么?
5.1 X-Tree 的知识清单
领域知识层:
- 多步 Agent 训练全栈:SFT/RLVR/GRPO/自蒸馏的目标函数细节,verl 等训练框架,以及三种设定(离线/在线/蒸馏)各自的适用条件——否则无法把树同时接入三条训练通路;
- 三个基准生态:WebArena 的 694 个确定性任务与官方评测器归一化、Go-Browse 的 7.9k 轨迹来源、ScienceWorld 三级泛化划分、WebShop 的 success/graded 双指标——主实验与全部消融都架在这些环境的既有协议上;
- 动作空间的规范化设计:无障碍树角色、物体词典、模板匹配——把千姿百态的原始动作压成可比符号是全部后续的基石。
方法论知识层:
- BPE 与序列压缩:不仅要懂算法,还要识别「文本没有成功标签、行为有」这一差异,进而设计三因子 X-Score——这是论文的核心洞察点;
- 分层 RL 与技能发现:options、技能树、option 发现文献提供了「结构值得恢复」的问题意识与「深度作为难度」的直觉(深度进奖励 γ·d_v);
- 奖励塑形与退火理论:λ_g 的自适应设计要求理解「辅助信号在主信号稀缺时才有价值」,并能用组内 win rate 做退火开关;
- 认知科学的层级行为文献:为「人类用层级泛化」的动机提供引用支柱。
工程知识层:金前缀回放式离线 rollout(不发明观察)、配对实验与多种子稳定性报告、与 Go-Browse 复现的公平性对齐(同 harness、官方评测器、排除模糊匹配任务)。
融合的关键节点:知识不是并列叠加——「tokenizer 的计数构建」与「轨迹的成功标签」在 X-Score 处发生化学反应:意识到行为流是带成败标签的字符流,才能把 BPE 的单因子频率准则升级为三因子,并把「词表」的用途从「供预训练分词」改写为「供训练目标当数据/奖励/上下文」。
5.2 Component Routing 的知识清单
领域知识层:
- GUI Agent 的观察与动作空间:无障碍树/应用状态的结构化读取、屏幕坐标、以及 MobileGym(状态可读、检查器比对状态)与 AndroidWorld(只能看屏幕)的差异——状态签名的两级匹配设计直接依赖这些;
- 三家骨干族的提示词与适配器协议:不同模型不同的坐标系与输出格式,笔记块必须逐字符兼容基础提示词,否则比较不纯。
方法论知识层:
- 受控实验设计:配对比较、留一族交叉验证、自助法区间、按三等分/剂量递增的干预设计——整篇论文的方法学骨架是「测量」而非「系统」;
- in-context vs in-weight 的理论:Chan et al. 的涌现条件分析为「复现率应路由到权重」提供了先验预期,让拟合出的规则有理论对话对象而非经验拟合;
- 逻辑回归与岭惩罚拟合:把 24 格的符号恢复问题表述为带权重的逻辑回归,置信区间跨零的格记半权——统计上诚实;
- 生产者-消费者与知识迁移文献:信息差/策略差的分解要把前人「净效应」结论重组为两个可测量。
工程知识层:LoRA/DPO 统一配置(跨族同配置才可比)、规则抽取器的严格/宽松双版本、token 记账(上下文路线每 episode 1.07 倍 token、路由 6.1 GPU 时训练)。
融合的关键节点:「轨迹是捆绑包」的洞察与「配对测量」的实验学传统在路线增益 Δ(c) 的定义处融合:一旦把比较单位从「管线」改成「同批条目的两个目的地」,争论就从不可解的「哪个 pipeline 好」变成了可测量的「哪个组件去哪」,属性与规则随后自然浮出。
六、论文中可以提取的通用性灵感
灵感一:争论僵持时,先检查双方共享的单元假设。 「微调 vs 检索」争论多年的根源是把「轨迹」当原子——一个内部异质的捆绑包。拆成四组件后,「矛盾结论」消失:双方各自对了一半。论文证据:整轨迹比较结论互相矛盾 vs 组件级 24/24 格符号一致。推广场景:模型压缩 vs 检索增强的争论(拆「知识类型」)、缓存 vs 重算的取舍(拆「访问模式」)、集中式 vs 分布式架构之争(拆「负载性质」)、单体 vs 微服务(拆「变化频率」)。
灵感二:决策属性要在决策之前就可测。 Component Routing 的 r 与 κ⁰ 只从池中计算,无需先跑对照实验——路由规则因此可直接部署。论文证据:规则在留出骨干族 24/24 恢复符号;复制 ×8 的剂量干预证明 r 的因果方向。推广场景:数据该进训练集还是验证集(用分布统计先判)、代码该抽象还是复制(看改动耦合度)、候选该进缓存还是回源(先验频率)、情报该建档还是通报(时效性与条件性)。
灵感三:带标签的序列值得升级它的 tokenizer。 BPE 只看频率,因为文本没有「成功」标签;行为流有 episode 成败,合并准则就该是「递现×长度×成功」三因子。X-Score 的随树消融 −5.0(跌破无结构基线)证明错误的结构比没有结构更糟。推广场景:代码库 API 调用序列挖掘(成功 PR vs 回滚 PR)、用户交互日志的惯用流程发现(完成转化 vs 流失会话)、手术/飞行操作规程提炼(正常 vs 事故记录)、任何「序列 + 结果标签」的知识沉淀。
灵感四:辅助信号应在主信号稀缺时强、稠密时退场。 λ_g 随组内 win rate 自适应退火(n=4 增益最大 3.6–4.4、n=16 自动收窄;曝光从 0.50 降到 0.18–0.26),「随胜任退火而非随步数退火」。推广场景:课程学习的外部提示撤除、新员工的 SOP 逐步放手、辅助损失权重的动态调度、Lint 规则对资深贡献者的降级。
灵感五:知识的介质要匹配知识的性质——高复现低条件进参数,低复现高条件进检索。 权重便宜于每次推理但要重训、上下文贵在 token 但可即时更新;跨任务稳定的知识(定位符)进权重,状态特异的知识(前置条件)按态检索。论文证据:G +4.9 权重胜、P −4.2 上下文胜;陈旧权重实验(−8.4)显示参数化知识过期后最难纠正。推广场景:CPU 缓存层级(热数据进缓存/冷数据进内存)、团队知识管理(通用流程进培训、环境特定配置贴现场)、RAG vs 微调的工程选型、编译器 profile-guided optimization(稳定热点编译死、多态路径留运行时)。
灵感六:训练会吸收复现的知识,让对应的外部提示冗余——共存要按「谁赢」来配。 写入权重后笔记读出率从 42% 掉到 16%,且降幅与复现率相关 −0.92;但上下文胜出的组件上共存仍 +3.5。启示:外部记忆不必因「权重已学」而全删,按组件判断。推广场景:文档与培训的关系(培训吸收的删文档、没吸收的留)、检查单与肌肉记忆、规则引擎与模型默认行为的双保险设计。
灵感七:蒸馏谁的经验,先量两个差距。 上下文经验看信息差(对方知道我不知道的吗),权重经验看策略差距(对方的行为我能复现吗)——异族生产者的样本把 8B 消费者写坏 −7.5,同一批知识当笔记读反而 +3.6。推广场景:向高手学习「知道什么」用问的(便宜、安全),模仿「怎么做」要谨慎(行为不匹配会有害);跨团队最佳实践移植、小模型向大模型蒸馏的样本选择、外聘专家 vs 内部培养的边界。
灵感八:小语料的结构挖掘收益极高。 100 条轨迹的 X-Tree 已超 500 样本 SFT 基线;四组件属性从单池即可算出。经验的价值密度不在于量而在于结构被提取的程度。推广场景:小团队复盘(少量项目也可沉淀高质量流程库)、冷启动场景的最小经验集设计、Few-shot 情况下的模式归纳、创业公司的早期 SOP 建设。
结语
把两篇论文放回「经验如何变成能力」的大问题:X-Tree 证明了可复用结构可以零成本地从数据中挖出、并作为训练目标的一部分真正进入权重(而不是永远漂在提示词里);Component Routing 证明了进入权重的只是经验中「跨任务稳定」的那一部分,状态特异的部分永远更适合按需检索。前者给了经验一个「词表」,后者给了经验一张「分拣单」。下一代自改进系统大概率同时携带两者:一棵零 LLM 挖出的经验树决定「教什么」,一条 (r, κ) 边界决定「教进权重还是查上下文」——而随机树 −5.0 与反向分配 −8.9 这两个消融数字共同警告:分错的代价,比不分更高。