CaSKG:面向可扩展智能体技能检索的反事实因果技能图 CaSKG: Counterfactual-Causal Skill Graphs for Scalable Agent Skill Retrieval
用删除/替换/重排三个反事实探针在检索前校准技能图边置信度,让智能体拿到可执行的技能包
前置知识
技能库与程序性记忆
LLM 智能体把成功任务中可复用的操作序列(如 Voyager 保存的可执行技能)以条目形式存入库中,形成程序性记忆。库随任务不断增长,推理时只能把少量技能放进上下文,于是『为当前任务选出正确的技能子集』变成一个检索问题而非生成问题。
本文的全部问题设定就是从大技能库中检索技能组合,理解这一设定才能理解为什么边质量决定检索质量。
稠密检索与 RAG
用编码器把查询与文档映射到同一向量空间,按余弦相似度排序返回 top-k,是 RAG 的标准范式。它对每个记忆单元独立打分,不建模单元之间的结构关系。
论文指出程序性技能的价值常依赖前置、校验或修复它的其他技能,独立打分会漏掉非词汇重叠的依赖,这是引入图结构的直接动机。
图检索与个性化 PageRank
把记忆单元连成图后,从查询命中的种子节点出发沿边传播相关性。个性化 PageRank 迭代 $p^{(t+1)}=\gamma\pi_q+(1-\gamma)T^\top p^{(t)}$:重启项 $\pi_q$ 锚定当前查询,传播项让工作流邻居即使与查询文本不相似也能进入上下文。
CaSKG 的检索阶段就是个性化 PageRank,发布图的边权直接决定相关性如何流动。
反事实探针与因果干预
反事实问『若去掉、替换或调换 X 会怎样』:对比干预前后的差异来判断 X 是否为结果的必要原因,思想源自潜在结果框架与结构因果模型中的干预 $do(\cdot)$。在 NLP 中可用 LLM 对修改后的文本情境打分来近似。
CaSKG 用删除、替换、重排三个文本反事实探针离线检验技能边是否为真正的操作依赖,这是标题 counterfactual-causal 的由来。
Beta 分布与贝叶斯平滑
Beta 分布是 [0,1] 区间上比例的共轭先验,Beta(α,β) 的均值为 $\alpha/(\alpha+\beta)$,先验参数相当于虚拟证据,可以平滑小样本估计,避免单次主观判断决定结果。
CaSKG 把三个探针的判断累积为 Beta 后验,用均值 $c_{ij}$ 作为边可靠性分数,并据此划分 confirmed/uncertain/rejected 四种发布状态。
研究动机
当智能体的技能库从几十条增长到上千条(本文用冻结的 Skill1000 库),检索成为核心瓶颈。全库暴露(Vanilla Skills)保留全部召回但把选择负担压给智能体:MiniMax-M2.7 在 1000 技能、30 步限制的 ALFWorld ID-140 上仅 42.90% 成功、平均 22.54 步。向量检索按语义相似度独立打分,会漏掉价值不在文本重叠上的前置、校验、修复类技能——GPT-5.6-Luna 在 ALFWorld 上 Vector 仅 55.00%,反而远低于 Vanilla 的 72.86%,且在电导率案例中只召回了不相关的技术工具、几乎完全失败(5 分/30 步)。图检索(GoS)能沿边传播查询相关性、恢复工作流上下文,但边一旦不可靠——由主题相似、共现或宽松接口兼容诱导的『貌似合理』的边——相关性就会沿弱边扩散并污染技能上下文;而候选边数随库规模平方增长,对全部有序技能对做穷举验证并不现实。
本文的目标是本文的目标是把技能图构建形式化为一个『预算约束下的边置信度校准』问题:给定一个高召回的候选关系池,系统必须决定哪些候选边值得消耗有限的验证预算、每条被验证的边应当获得多少置信度、以及该置信度如何控制运行时的图传播。CaSKG 要求整个过程离线完成并冻结发布图,不改变下游智能体策略、任务接口和环境交互循环;最终目标是在两个交互基准、六个 LLM 骨干上同时改进任务得分(ALFWorld 成功率、ScienceWorld 官方分)与环境交互步数,验证『更可靠的边带来更紧凑、更可执行的技能包』这一设计主张。
与已有工作不同的是,既有图检索方法(ToolNet、GoS、GraSP、SkillReranker)的边来自转移统计、依赖标签、语义相似或前置-后置条件,本质上只是『关联』而非『依赖』,没有机制区分可互换的备选技能与真正的流程先后;而因果 RAG 系列(Causal Graph RAG、CausalRAG)虽然引入因果图,但服务对象是知识语料问答,不处理可执行技能之间『支持/排序/校验/修复』的边语义。CaSKG 的独特切入是把『哪条候选边有资格影响检索』当作一个可以用文本反事实干预检验的因果问题:在离线阶段用删除、替换、重排三种方向条件化探针逐边评估,再用贝叶斯平滑与状态门控决定该边是全权传播、降权、删除,还是仅作低权脚手架,从而把关联发现与可靠性评估彻底解耦。
核心方法
直觉上,检索器应返回一条『准备→执行→校验→收尾』的完整流程,而不是一簇语义近邻。技术路线分四个阶段。第一,候选技能图归纳:对技能库 $S=\{s_1,\dots,s_n\}$ 的有序对 $(s_i,s_j)$ 融合词法、语义、输入/输出兼容、结构角色等信号,叠加修复证据与可选 LLM judge,得到高召回的有向候选集 $C$ 与初始关联分 $A_{ij}$,宁多勿漏。第二,反事实边探测:从 $C$ 中按预算选出验证前沿 $F$(Skill1000 下 500 条),对每条边做删除、替换、重排三个探针,LLM 返回有向支持分 $e^{(m)}_{ij}\in[0,1]$。第三,贝叶斯校准与发布:把探针证据累积成 Beta 后验得到可靠性 $c_{ij}$,结合确认阈值 $\tau_c$ 将边标记为 confirmed/uncertain/rejected/unvalidated 四种状态并赋予发布权重 $w^{pub}_{ij}$,产出冻结图 $G_{pub}$。第四,任务条件检索:查询 $q$ 经词法与语义排序生成种子分布 $\pi_q$,在 $G_{pub}$ 上运行个性化 PageRank,返回排名靠前的技能包。全流程不修改智能体策略与任务接口。
核心创新是『先校准、后传播』。GoS 等方法把构建期的关联强度直接当作传播权重,主题相似或共现的技能对一旦成边,相关性就会流向操作上不相关的技能;CaSKG 认为一条边是否该影响检索是一个反事实问题,对每条待验证边问三件事:删掉源技能后目标是否受损(必要性,删除探针 $P_{rem}$)、把源技能换成低重叠技能后目标是否退化(特异性,替换探针 $P_{sub}$)、调换两者顺序后流程是否失序(方向性,重排探针 $P_{ord}$)。三个探针得分同向聚合,经 Beta 平滑变成边级可靠性 $c_{ij}$,再由状态门 $\rho_{ij}$ 门控发布权重。与既有方法的本质区别在于:把 LLM 的反事实推理能力从『评测模型』变成『验证数据结构』的离线工具,且未验证的候选边不被当作负证据,而是以衰减的脚手架边保留覆盖,兼顾召回与纯净。
方法步骤详情
第一步候选归纳:对每个有序对计算加权活跃信号分 $A_{ij}=\mathrm{clip}_{[0,1]}\big(\sum_k\lambda_k\phi_k/\sum_k\lambda_k\big)$,当结构信号 $\phi_{struct}>\tau_{str}$ 时用 $\eta_{str}\phi_{struct}$ 作保底,修复证据与可选 LLM judge 再修正,去重与局部截断后得高召回候选集 $C$(Skill1000 下 $|C|=9937$)。第二步探针验证:选预算前沿 $F\subseteq C$($|F|=500$),对每条边构造修改上下文 $P_{rem}=(\varnothing,s_j)$(删除源测必要性)、$P_{sub}=(\tilde{e}_{s_i},s_j)$(替换源测特异性)、$P_{ord}=(s_j,s_i)$(调序测方向性),LLM 对各探针输出支持分 $e^{(m)}_{ij}\in[0,1]$,分越高说明干预后依赖被破坏越严重。第三步校准发布:三个探针分按极性 $0.5$ 与证据质量累积成 Beta 后验 $\mathrm{Beta}(\alpha_{ij},\beta_{ij})$,可靠性取均值 $c_{ij}=\alpha_{ij}/(\alpha_{ij}+\beta_{ij})$;以对称阈值 $\tau_c\in(0.5,1)$ 判定 confirmed/uncertain/rejected/unvalidated 四态,未验证边保留有界脚手架集 $E_{scaf}$;发布权重为发现分与可靠性的较大者乘以状态门(confirmed 全权、uncertain 降权、脚手架更强衰减、rejected 置零),得冻结图 $G_{pub}$($|E_{pub}|=3292$)。第四步检索:词法与语义排序生成逆排名加权种子分布 $\pi_q$,迭代 $p^{(t+1)}=\gamma\pi_q+(1-\gamma)T^\top p^{(t)}$,收敛后按 $p$ 排序返回紧凑技能包。
技术新颖性
新颖性有三层。问题层:首次把技能图构建表述为预算化边置信度校准,明确刻画『关系覆盖 vs 弱关联污染』的权衡,而不是默认边越多越好。方法层:把反事实推理从 LLM 能力评测工具转化为技能关系验证器,删除/替换/重排三个探针分别对应必要性、特异性、方向性三种依赖性质,并用 Beta(1,1) 先验把三次主观判断转为带证据质量的连续分数,避免以单次 LLM 打分定生死;这与 GraSP 用人工类型化前置-后置条件、SkillReranker 用在线任务状态的做法都不同,CaSKG 的校准完全离线、与执行解耦。系统层:状态门控发布让四类边各得其所——confirmed 全权传播、uncertain 降权、rejected 删除、unvalidated 以 $\rho_{scaf}$ 衰减保留覆盖而不产生负证据;运行时只是替换 PageRank 的传播基质,零策略改动、零接口变更,工程上即插即用。
实验结果
主实验(Table 1)在 Skill1000 库上覆盖六骨干×两基准共 12 组:CaSKG 任务分全部第一且步数全部低于 GoS,宏平均 ALFWorld 成功率 80.01%→86.79%、ScienceWorld 72.62→80.50。ALFWorld 上 MiniMax-M2.7 从 Vanilla 42.90/Vector 45.70/GoS 63.60 提到 73.57(+9.97);GPT-5.6-Luna 上 Vector 55.00、GoS 60.71 反而远低于 Vanilla 72.86,CaSKG 恢复到 75.71,说明坏结构比不检索更伤。ScienceWorld 上 Qwen3.5 得 74.97(GoS 63.18)、DeepSeek 83.40(GoS 68.65)、MiniMax 68.33(GoS 55.85,+12.48),弱骨干收益最大。步数:ScienceWorld 六模型均值 15.29(GoS 16.39),ALFWorld 14.05(GoS 15.96),非图法约 16.7–18。任务类型(Figure 2):24 类中 21 升 1 平 2 降,三级混色 +34.6、二级混色 +31.7、植物种植 +19.1;温度测量 -4.2、非生物搜索 -1.8。案例:MiniMax 电导率任务 CaSKG 100 分/24 步,GoS 55/30、Vector 5/30;GLM-5.2 冷却苹果任务 CaSKG 27 步完成,三基线均 0 分。规模与消融:200–2000 技能增益 +3.54~+22.86 点全为正;完整版 73.57%/18.44 步,仅语义候选跌至 67.14%,去 judge 与全量发布各损失 2.14 点(Table 3)。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| ALFWorld ID-140 家务任务(Skill1000 库,30 步限制) | 成功率 R(%) | 86.79%(六模型宏平均;单模型 73.57–97.86,12 组中全部第一) | GoS 80.01%(宏平均;单模型 60.71–95.71);Vanilla 约 73.5、Vector 约 74.1 | +6.78 个百分点(宏平均);对弱骨干最大 +9.97(MiniMax) |
| ScienceWorld U211 科学任务(Skill1000 库) | 平均最佳官方得分 R(非百分比) | 80.50(宏平均;MiniMax 68.33、GLM 85.11、Kimi 83.88、Qwen 74.97、DeepSeek 83.40、GPT-5.6-Luna 87.33) | GoS 72.62(宏平均) | +7.88 分(宏平均);单模型最大 +14.75(DeepSeek,83.40 vs 68.65) |
| 环境交互成本(两基准、12 组设置) | 平均环境交互步数 Steps(越低越好) | ALFWorld 14.05;ScienceWorld 15.29 | GoS:ALFWorld 15.96;ScienceWorld 16.39;非图法(Vanilla/Vector)约 16.7–18 | 12 组全部低于 GoS,其中 11 组为全场最低 |
| ALFWorld 库规模敏感性(MiniMax-M2.7 与 Qwen3.5-397B,200–2000 技能) | 成功率差 ΔR = R_CaSKG − R_GoS(百分点) | MiniMax:+7.14/+22.86/+9.97/+15.71;Qwen:+8.57/+21.43/+3.54/+13.57 | 同规模 GoS(如 2000 技能时 MiniMax 54.29、Qwen 77.86) | 全部规模为正,500 技能时增益最大,且各规模步数均更低 |
| 图构建组件消融(ALFWorld,MiniMax-M2.7,Skill1000) | 成功率 / 平均步数 | 完整版 73.57% / 18.44(候选 9937、验证 500、发布 3292);去 LLM judge 71.43% / 18.79;全量发布 71.43% / 18.74 | 仅语义候选:67.14% / 19.21(候选 3982、发布 2698) | 多信号候选 +6.43 点且省 0.77 步;judge 与选择性发布各贡献 +2.14 点 |
局限与改进
作者明确承认的局限包括:实验只覆盖 ALFWorld 与 ScienceWorld 两个模拟环境,未涉及真实 API 工具生态;静态构建中 trace 共现与已有关系两个自我进化通道只是预留接口、并未激活;验证预算有限——9937 条候选只探了 500 条,大量边停留在 unvalidated 脚手架状态;定性案例只用于说明机制、不作为独立证据。我自己的观察:探针与 judge 都依赖 LLM 对文本描述的想象,论文未报告建图阶段的 token/时间成本,也未测探针判断本身的准确率上限;$\tau_c$、$\rho_{unc}$、$\rho_{scaf}$、$|F|$、$\gamma$ 等关键超参没有敏感性分析;图在评测前冻结,智能体执行中发现的新依赖无法回流更新;两个负例任务类型说明图扩展对直接测量类任务可能引入干扰;ScienceWorld 的 R 不是百分比,与 ALFWorld 数字不可直接横比;另外对照组只有 GoS,未与其他边校准手段(人工前置条件、执行轨迹验证等)对比,无法完全排除更简单的方法达到类似效果。
独立分析的弱点
第一,验证预算固定且覆盖率低:$|F|=500$ 相对 $|C|=9937$ 仅约 5%,库继续增大时未验证脚手架比例上升,弱边可能重新积累,改进方向是按 $A_{ij}$ 的边际不确定性自适应分配预算,或先用廉价分类器粗筛再对高风险边做探针。第二,校准信号全是文本级想象:探针并不真实执行技能,对『描述含糊但实际关键』的边会误判,改进方向是启用预留的执行轨迹共现通道,用少量真实执行回放替代或校验文本探针。第三,图传播并非普适增益:温度测量 -4.2、非生物搜索 -1.8 说明直接检索/测量型任务会被额外关系干扰,可按查询类型路由——流程型任务走图扩散、检索型任务退回向量召回。第四,图静态冻结:技能库增删需整体重建,缺少增量发布与边状态的时间衰减机制。第五,评估面窄:只有两个模拟基准,真实工具库中描述质量参差、I/O 复杂,结构信号与兼容性检验是否仍然有效存疑,且缺少与执行轨迹验证、人工前置条件等替代校准方式的对照实验。
未来方向
作者方向:激活 trace 共现与已有关系两个预留通道,使技能库在自进化过程中持续接受校准;把预算化校准推广到更大规模库(论文只验证到 2000 技能);与任务状态精化(如 SkillReranker)结合做检索后排序。基于成果可延伸的方向:其一,在线因果更新——把智能体实际执行的成功/失败当作边证据回流,对 Beta 后验做增量更新,让 $c_{ij}$ 随使用不断校准;其二,成本分层的验证设计——文本探针、沙盒执行、完整反事实回放三档,按边的重要性分配验证深度;其三,跨域检验——在代码技能库与真实 API 工具集(Gorilla、ToolBench 类环境)上验证必要性/特异性/方向性三探针的普适性;其四,理论工作——分析状态门控权重对个性化 PageRank 收敛分布与排序稳定性的影响,给出边权误差界;其五,把校准后的技能图用于多智能体协作中的技能分发与依赖冲突检测。
复现评估
代码已开源(github.com/ZhiyuanLi218/Caskg),两个基准 ALFWorld、ScienceWorld 公开且评估协议描述完整:同一任务队列、prompt、评估器与 30 步限制,嵌入用 Qwen3-Embedding-8B(4096 维),主实验冻结 Skill1000 库。六个骨干中五个为开源或可 API 调用模型,GPT-5.6-Luna 为闭源 API,预算允许时结果可复验。主要算力开销在离线建图:约 9937 条候选、500 条边 × 3 个探针的 LLM 调用外加 judge,属单卡或小规模 API 即可承受的量级;运行时检索是个性化 PageRank,成本可忽略。风险点:论文未给出 $\tau_c$、$\tau_{str}$、$\eta_{str}$、$\gamma$、$\rho_{unc}$、$\rho_{scaf}$、$\epsilon_w$、$\epsilon_e$ 与 $|F|$ 的具体取值,也未说明 Skill1000 库的构成方式与探针/judge 所用模型,需依赖开源仓库补齐。整体复现难度中等:有代码与公开基准,主要工作量在技能库重建与超参对齐。
论文图表