← 返回 2026-08-13

SkillZip:面向可扩展智能体技能库的保契约图压缩 SkillZip: Contract-Preserving Graph Compression for Scalable Agent Skill Libraries

Xingyu Tan, Xiaoyang Wang, Qing Liu, Xiwei Xu, Xin Yuan, Liming Zhu, Wenjie Zhang 📅 2026-08-06 👍 75 2026-08-18 18:30
LLM智能体 图压缩 图文法 技能库 技能检索 程序性记忆

将技能库压缩为保契约的可逆宏图,按任务水合最小可执行上下文

前置知识

Agent Skills(智能体技能包)

智能体的外部程序性记忆载体:一个包含自然语言指令、脚本、参考资源与校验规则的可编辑文件包,在推理时按需加载,让智能体无需重训练即可执行「如何规范化表格」「如何验证产物正确」这类流程性知识,代表工作是 Anthropic 式的可部署技能包与 SkillsBench 生态。

本文的压缩对象就是技能包;理解「技能不是原子文本、而是由意图/操作/验证器等功能节组成的包」是理解全文单元错配问题的前提。

程序契约(Procedural Contract)

一个流程对外承诺的三方面信息:接口(类型化输入输出签名 $X_v, Y_v$ 与资源绑定 $R_v$)、执行(前置条件、类型化依赖、守卫、故障处理)和验证(成功条件与验证器钩子)。本文把三者作为压缩必须原样保留的硬约束,并用源指针 $src_v$ 保证可逆展开回原始 section。

「保契约压缩」是论文的核心概念:文本相似不等于契约等价,丢了守卫或验证钩子的短上下文即使更省 token 也无法安全执行。

频繁子图挖掘与图文法(Motif Mining & Graph Grammar)

在图中寻找反复出现的子结构(motif),并用产生式规则 $M_g[I_g, O_g] \Rightarrow (V_g, E_g, \pi_g, \chi_g)$ 把它替换成一个非终结符宏节点,展开即逆操作;经典基础包括 gSpan、MDL 图摘要与语法式图压缩。本文只用类型化签名分桶后的受限挖掘,避免在全库上做无约束子图匹配。

MotifZip 的宏本质上是图文法产生式规则;不懂「重写-展开可逆」这一语义,就无法理解论文为何声称压缩是可逆重写而非有损摘要。

MDL 最小描述长度

用「模型描述长度 + 数据编码长度」之和学习来度量压缩收益的准则。本文给每个候选模体打分 $\Delta(g) = freq(g)\,L(g) - L(M_g) - L(rule_g) + \alpha\,Reuse(g) - \lambda\,Cut(g) - \mu\,Risk(g)$,只有增益为正且通过契约硬检查的模体才进入宏字典。

这是 MotifZip 决定「哪些重复结构值得压缩」的评分函数,理解它才能读懂压缩率随库规模与重叠度自适应的实验(CR 2.31× 到 4.29×)。

倒数排名融合(RRF)

把多路检索排名用 $RRF(\sigma) = \sum_r 1/(k + rank_r(\sigma))$ 融合的轻量方法:某文档在越多列表中排得越靠前,融合分越高。本文用它融合技能描述级排名与节级节点最大值排名,把散落的 section 种子集中回连贯的技能邻域。

PathHydrate 依赖双级种子融合同时获得 section 精度与技能级连贯性;没有 RRF,节级检索容易把种子撒进无关技能。

研究动机

现有智能体技能系统遵循「检索-压缩-执行」流水线,但三个环节在三个不同粒度上做决策:检索以整个技能包为单位(渐进式披露、SkillDAG、GoS 等),压缩以文本为单位(LLMLingua 式改写、去肥、编码),执行图却在检索完成之后才临时构建。这带来四个具体问题。其一,复用粒度错配:「规范化表头并校验行数不变」这类任务同时命中 Clean CSV 与 Pivot Table 两个技能包,因为二者共享表头规范化和行数校验例行程序,技能级检索器会把两个整包都加载进上下文,附带大量无关的缺失值修复、透视聚合等下游操作,且技能越多歧义越大。其二,压缩破坏契约:文本相近不代表契约等价,上述两个技能的加载例行程序几乎逐字相同、却接入不同验证器,按文本压缩可能抹掉前置条件、守卫分支或验证器钩子,使流程不安全。其三,压缩不持久:任务时构建的执行图用完即弃,反复出现的加载-校验例行程序在每个任务上都被重新发现、重新验证。其四,维护不感知执行:技能库持续演化,一次性压缩器既无法识别「后续技能到来后才变得可复用」的例行程序,也无法修订反复触发展开、验证失败或下游修复的危险宏。

本文的目标是SkillZip 的目标是把技能库重组为「契约承载的 section 级子图」这一统一对象,让检索、压缩、执行、维护四件事作用在同一粒度上。在此表示之上实现保契约压缩:把反复出现且契约合法的子图改写为可逆的移植宏(macro),保留边界签名、依赖闭包、验证器可达性与源级展开指针;推理时在上下文预算内水合出锚覆盖、依赖闭包、验证器可达且可随时展开回源码的最小充分执行上下文;并随新技能与执行轨迹的到来增量更新宏字典。量化目标是:端到端任务表现超过最强图基线、取得约 3.5 倍压缩比、依赖保留率与验证器可达率保持在 99% 左右、并把检索优势保持到 10 万技能规模。

与已有工作不同的是,本文的独特切入是把图数据管理领域的压缩理论(频繁子图挖掘、类型化图文法、MDL 增益)与程序契约验证结合起来,首次形式化「保契约压缩」这一问题:压缩必须保持接口、执行、验证三方面契约并保留源指针以便逆展开。与 SkillDAG、GoS 等以整个技能为图节点的系统的本质区别在于单元:SkillZip 的图节点是带九种执行角色、源码锚定的 section,跨技能复用通过规范原型暴露但保留成员关系与多重性;与文本压缩的区别在于每个宏是可逆重写而非有损摘要,且入选前必须通过边界清晰、签名稳定、依赖闭包、验证器可达四道硬检查;与任务时执行图系统(SkillDAG、GraSP 等)的区别在于压缩结构本身被持久存储为库的常驻表示,而不是每次任务重新发现。

核心方法

直觉上,SkillZip 像一个「解压后仍能安全运行」的 zip:压缩技能库的同时保证还原出的流程可执行、可验证。技术路线分四步。Sec2Graph 把每个技能包打开为源码锚定、带九种执行角色(Intent 到 Output)的类型化 section 节点,抽取类型化 I/O、资源、守卫/验证条件与源指针,用弱序、依赖、验证器、修复、成员五类边连成持久过程性技能图,兼容出现经规范原型暴露跨技能复用。MotifZip 在类型兼容的桶内挖掘反复出现的子图模体,仅当接口稳定、依赖闭包、验证器可达三条件成立时才改写为可逆宏,按 MDL 增益 $\Delta(g)$ 做无冲突贪心重写,得到压缩图 $G_{zip} = G/M$ 与宏字典 $M$。PathHydrate 把任务查询锚定为结构化任务对象,融合节级与技能级种子,在 $G_{zip}$ 上搜索满足锚覆盖、依赖闭包、验证器可达且不超预算的连通子图,再按名称/契约/大纲/全文四级渐进渲染为可执行上下文 $C_q$。ReZip 随新技能与执行轨迹增量维护:复用既有宏、晋升反复出现的契约合法残差、按风险信号拆分或退役危险宏。

核心创新是「单元统一 + 可逆宏」。已有系统在三个不同单元上做三个决策(包级检索、文本级压缩、任务时建图),SkillZip 把它们统一到契约承载的 section 子图上,这是与所有前作的本质区别。压缩语义上的关键在于:MotifZip 的宏不是摘要,而是类型化属性图文法的产生式规则 $M_g[I_g, O_g] \Rightarrow (V_g, E_g, \pi_g, \chi_g)$,其中 $\pi_g$ 记录出现级节点与端口映射,$\chi_g$ 记录可执行契约;命题 1(组合式结构提升)证明:对两两不冲突的宏改写集合 $\Omega$,若原子图 $P$ 对每个出现要么包含其全部内部节点要么全不包含,则同时压缩再展开可恢复与 $P$ 同构的子图(至多差原型链接),且类型化外部依赖与操作-验证器可达性保持不变。这把「压得小」与「仍可执行」用结构性定理挂钩——恢复的是已记录的接口、依赖、验证路径与源指针。此外,复用支持度按源出现而非文本重复计数,宏可以跨技能共享但每个出现都保留自己的成员关系与源映射,避免压缩抹平技能身份。

方法步骤详情

四阶段流水线。Sec2Graph:输入技能包 $s$,用标题、代码块、警告、测试等边界线索高召回切分(不全时模型辅助细化),推断每段执行角色 $\tau_b$,抽取接口 $(X_v, Y_v, R_v)$、守卫/验证条件 $G_v$ 与源指针;再连弱序、依赖、验证器(刻意保守,只连可达检查)、修复、成员五类边,标定 intent 根与输出终点,兼容出现才链规范原型。MotifZip:按角色签名、资源族、I/O 形状分桶生长候选模体,回原图记录非冲突出现;过边界清晰、签名稳定、依赖闭包、验证器可达四道硬检查后,用 $\Delta(g) = freq(g)\,L(g) - L(M_g) - L(rule_g) + \alpha\,Reuse(g) - \lambda\,Cut(g) - \mu\,Risk(g)$ 打分($\alpha=0.5, \lambda=0.3, \mu=0.2$),按 $\Delta$ 降序贪心无冲突重写,宏分四级渲染。PathHydrate:AnalyzeTask 把查询转为含目标、输出、能力、输入、子目标的结构化任务对象;节级打分 $s(v, d_i, q) = \max(\cos(e(d_i), e(v)), \cos(e(q), e(v)))$ 兼顾子目标与原始命名,技能级两路排名经 RRF 融合集中种子;解约束优化 $P_q^\star = \arg\min_{P \subseteq G_{zip}}\ \eta T(P) + \beta|P| + \gamma E(P) - \delta\,Match(P, q)$($\eta=0.4, \beta=\gamma=\delta=0.2$),满足锚覆盖、依赖闭包、验证器可达与 $T(P) \le B$;向后回补 Input/Precondition/Resource、向前回补 Failure/Verifier/Output 修脚手架,不可行则回退最小技能级包;按需选最低充分水合级别渲染 $C_q$ 并记日志 $L_q$。ReZip:新技能先过 Sec2Graph 再按类型化端口匹配既有宏,残差进缓冲 $B_{res}$;$supp_t(r) \geq m$、$\Delta(r) > 0$ 且契约校验通过时晋升新宏;执行轨迹更新 $\Sigma_t$,风险 $\rho_t(M) = \lambda_e\,n_{exp}/n_{use} + \lambda_v\,n_{fail}/n_{use} + \lambda_d\,c_{repair}/n_{use}$ 超阈值则先升渲染级别,持续风险拆分或退役宏。

技术新颖性

技术新颖性有五点。第一,把「保契约压缩」形式化为技能库压缩的目标,用边界、签名、依赖闭包、验证器可达四道硬验收把压缩收益与契约正确性解耦:签名矛盾或验证器支持薄弱的模体会被 SignatureStable 在打分之前直接拒绝,增益再高也不拿来交换正确性——这与文本压缩「先压后看」的思路相反。第二,接口感知的类型化桶挖掘替代无约束频繁子图挖掘,把搜索限制在接口兼容邻域,使 10 万技能、477 万 section 节点的构图加 MotifZip 仅需 178 秒(缓存记录、不含 LLM 抽取)。第三,把渐进式披露从包级升级到图级:宏按名称/契约/大纲/全文四级水合,「契约不含所需输入、守卫或验证器即展开」,揭示最小可执行视图而非加载整包。第四,压缩-执行闭环:水合日志记录锚覆盖、依赖恢复、验证器状态、宏级别与源展开,这些运行时后条件与压缩约束一一对应,既构成结构感知评测协议,又作为 ReZip 修订宏的证据,使宏字典随执行证据演化。第五,命题 1 给出结构性的可逆保证并诚实声明其边界——不保证未记录行为的语义等价,也不保证验证器本身正确,这种有边界的理论刻画比笼统的「无损」更可信。

Overview of the SkillZip framework. Sec2Graph retains occurrence-specific sections and links compatible ones through canonical prototypes; MotifZip rewrites recurring contract-valid subgraphs as reversible macros; PathHydrate compiles a budgeted executable context; and ReZip updates the compressed library from new skills and execution feedback.
Figure 2: Overview of the SkillZip framework. Sec2Graph retains occurrence-specific sections and links compatible ones through canonical prototypes; MotifZip rewrites recurring contract-valid subgraphs as reversible macros; PathHydrate compiles a budgeted executable context; and ReZip updates the compressed library from new skills and execution feedback.

实验结果

端到端:SkillsBench(1K 技能、87 任务、MiniMax-M2.7、3000 token 预算)奖励 33.3,超 SkillDAG(27.3)6.0 分、超 Vector Skills 22.9 分;gpt-5.2-codex 达 43.0(+6.2)。ALFWorld 成功率 79.3(+12.2)与 96.4(+2.8,基线 93.6 近饱和)。五次配对重复运行 95% CI 全不含 0(p=.004/.002/<.001/.031)。检索:SkillsBench Ret@1 73.6(SkillDAG 66.7)、Ret@5 92.0、MRR 81.3;ALFWorld Ret@1 85.7(Vector 仅 37.9)。压缩与保真:3.46× 压缩比、渲染 1,941 token(top-5 整包 6,958,-72.1%)、DPR 99.2、VR 98.7、回源仅 14.8%;同压缩比的文本压缩 DPR 65.0、VR 60.0、45.0% 需回源、奖励仅 25.5,证明省 token 不等于可执行。活跃存储 18.6→5.4MB(-71.0%),回退 7.2%、下游膨胀 2.7%。可扩展性:库 200→100K 技能,Ret@1 仅降 13.2(78.3→65.1),SkillDAG 降 30.3(→41.8),混淆率 12.4% vs 48.2%,时延 248.3ms。系统成本:较 SkillDAG 总 prompt -47.0%(2.78M→1.47M)、工具调用 -21.7%、时长 429.7→339.0s。契约抽取:宏 F1 91.6、EM 84.6,10% 腐蚀下奖励仅降至 31.6。泛化:6 backbone 12/12 胜 Vector(SkillsBench +19.9~26.2 分)。流式维护:ReZip 以全量重压 0.22× 成本达 33.2 奖励、3.64× CR,1.4 批内修复契约漂移。

Main results on SkillsBench and ALFWorld.
Table 1: Main results on SkillsBench and ALFWorld.
Compression and structural-fidelity results on SkillsBench.
Table 2: Compression and structural-fidelity results on SkillsBench.
Component ablation of SkillZip on SkillsBench.
Table 3: Component ablation of SkillZip on SkillsBench.
Active-storage compression and downstream recovery on the 1K-skill SkillsBench library.
Table 4: Active-storage compression and downstream recovery on the 1K-skill SkillsBench library.
Robustness under synthetic contract corruption.
Table 5: Robustness under synthetic contract corruption.
Sensitivity to skill library size on SkillsBench.
Table 6: Sensitivity to skill library size on SkillsBench.
Results by procedural domain.
Table 8: Results by procedural domain.
Measured local structural construction cost after cached contract extraction.
Table 9: Measured local structural construction cost after cached contract extraction.
Local retrieval and rendering cost on SkillsBench after task anchors are available.
Table 10: Local retrieval and rendering cost on SkillsBench after task anchors are available.
End-to-end trajectory cost on the default 1K-skill SkillsBench setting with MiniMax-M2.7.
Table 11: End-to-end trajectory cost on the default 1K-skill SkillsBench setting with MiniMax-M2.7.
Streaming results after ten arriving-skill batches.
Table 12: Streaming results after ten arriving-skill batches.
Cross-backbone comparison with Vector Skills.
Table 14: Cross-backbone comparison with Vector Skills.
Case Study 2 – Contract-aware comparison of three textually similar routines.
Table 16: Case Study 2 – Contract-aware comparison of three textually similar routines.
Case Study 3 – Illustrative ReZip trace.
Table 17: Case Study 3 – Illustrative ReZip trace.
Contract-extraction quality on the annotated subset.
Figure 3: Contract-extraction quality on the annotated subset.
Task reward of SkillZip as the procedural-content selection budget varies on SkillsBench with MiniMax-M2.7.
Figure 4: Task reward of SkillZip as the procedural-content selection budget varies on SkillsBench with MiniMax-M2.7.
Mean rendered context on the 1K-skill SkillsBench library.
Figure 5: Mean rendered context on the 1K-skill SkillsBench library.
Task-level distribution of the context rendered by SkillZip.
Figure 6: Task-level distribution of the context rendered by SkillZip.
查看结构化数据
任务指标本文基线提升
SkillsBench 端到端任务(MiniMax-M2.7,1K 技能库) 任务奖励 R(验证器测试通过率,%) 33.3 SkillDAG 27.3;Vector Skills 10.4;GoS 18.7;Vanilla Skills 17.2 +6.0 vs 最强基线 SkillDAG(+22.9 vs Vector Skills)
ALFWorld 具身任务(MiniMax-M2.7) episode 成功率(%) 79.3 SkillDAG 67.1;Vector Skills 50.7 +12.2 vs SkillDAG(全文最大提升点)
SkillsBench(gpt-5.2-codex) 任务奖励 R(%) 43.0 SkillDAG 36.8 +6.2
ALFWorld(gpt-5.2-codex) episode 成功率(%) 96.4 SkillDAG 93.6(GoS 亦 93.6) +2.8(配对置换检验 p=.031,基线近饱和下的提升)
SkillsBench 内在检索(节级投影回源技能) Ret@1 / Ret@5 / MRR(%) 73.6 / 92.0 / 81.3(MiniMax-M2.7) SkillDAG 66.7 / 78.2 / 71.3 Ret@1 +6.9、Ret@5 +13.8、MRR +10.0
技能库压缩与结构保真(1K 技能库) 压缩比 CR / 依赖保留 DPR / 验证器可达 VR(%) 3.46× / 99.2 / 98.7(渲染 1,941 token) 文本压缩(LLMLingua-2 式)3.46× / 65.0 / 60.0;通用图文法 2.91× / 93.4 / 90.8;精确文本去重 1.43× / 98.6 / 98.1 同压缩比下 DPR +34.2、VR +38.7,回源率从 45.0% 降到 14.8%
检索可扩展性(评估查询固定,库 200→100K 技能) Ret@1(%) 78.3→65.1(-13.2),100K 时在线时延 248.3ms、混淆率 12.4% SkillDAG 72.1→41.8(-30.3),混淆率 48.2% 大规模下领先从 6.2 分扩大到 23.3 分
端到端轨迹成本(SkillsBench,MiniMax-M2.7) 总 prompt token / 工具调用 / 任务时长 1,473,532 / 28.9 次 / 339.0 秒 SkillDAG 2,782,696 / 36.9 次 / 429.7 秒 prompt -47.0%、工具调用 -21.7%、时长 -21.1%,同时奖励 27.3→33.3

局限与改进

作者承认:命题 1 只是结构性保证——恢复的是已记录的接口、依赖、验证路径与源指针,不保证未记录行为的语义等价,也不保证验证器本身正确;契约抽取错误会向下游传播,40% 字段腐蚀时奖励跌到 24.1、VR 77.2、34.7% 查询需回源;失败归因显示 SkillZip 自身阶段仍占剩余失败的 58%(检索 26%、契约 18%、水合 14%)。我的观察:其一,评测规模偏小(SkillsBench 仅 87 任务、ALFWorld 140 episodes),几个点的差异折算成绝对任务数很小;其二,section 切分与角色推断高度依赖技能包的 markdown 结构质量,面对格式杂乱的真实技能生态鲁棒性未知;其三,压缩收益受过程重叠度支配——低重叠库 CR 仅 1.18×、ALFWorld 仅 1.62×,异构低复用场景收益有限;其四,LLM 辅助契约抽取的总成本被单独核算但未给出数字;其五,$\alpha, \lambda, \mu$ 与 $\eta, \beta, \gamma, \delta$ 均为手工缩放的固定超参,跨库迁移需重新调整;其六,与基线对比保留了各自默认披露策略而非统一 token 上限,budget 对齐不完全严格。

独立分析的弱点

弱点一,契约抽取是全管线的单点依赖——99.2% 依赖保留建立在 91.6 F1 之上,而最薄弱的恰是常为隐式的前置条件与守卫(F1 88.7、EM 79.6),技能文档写得随意则「保契约」承诺松动;改进方向:测试执行反馈闭环校验、多模型投票抽取、沙箱插桩自动补全前置条件。弱点二,任务锚定依赖一次 LLM 结构化分析,锚错则检索、水合全链路皆错(26% 剩余失败来自检索);改进方向:锚不确定性建模、多锚假设并行水合、执行中重锚定。弱点三,宏晋升与风险修订需要执行轨迹冷启动,新库初期宏字典接近空转,轨迹稀疏时 $\rho_t(M)$ 统计不稳;改进方向:主动生成探测任务、贝叶斯支持度估计替代频次。弱点四,四级渲染规则(契约缺所需输入/守卫即展开)是保守启发式,可能过展开或漏展开;改进方向:用水合日志训练学习型渲染级别选择器。弱点五,安全维度不足:宏是跨技能共享的执行单元,恶意技能注入带毒 motif 被晋升后可横向污染所有复用者,论文只保证结构可逆不保证内容可信;改进方向:宏级来源审计、血缘追踪与沙箱先验验证。

未来方向

作者提出或暗示的方向:把 SkillZip 作为即插即用的过程记忆层推广到更多执行器与领域;重点修复检索歧义(相似技能锚定混淆)与隐式契约抽取这两个最大失败源。基于其成果可自然延伸的方向:其一,把宏字典与图文法搬进跨智能体技能市场——宏天然是可组合、可验证、带契约的技能构建块,可结合形式化验证做安全组合分析;其二,与强化学习结合,用任务回报直接优化水合级别与预算分配策略,替代手工设定的四级渲染规则;其三,具身与多模态技能的更细抽象——ALFWorld 压缩比仅 1.62×,动作序列模体需要时序对齐的挖掘方式;其四,增量维护的分布式版本,研究多 agent 共享同一压缩库时的并发更新、锁与合并语义;其五,把 DPR、VR、回退率、下游膨胀等结构保真指标标准化为独立基准,推动「保契约压缩」从一篇论文变成可比较的研究方向;其六,研究压缩表示对更长程多技能编排(skill chains)的影响,宏接口恰好可作为技能链的组合子。

复现评估

复现评估:论文正文与附录未提及开源代码发布,这是最大的复现障碍;但方法与实验协议的披露非常完整。附录 A 给出五个组件的完整伪代码(含硬检查函数与贪心流程),附录 F 给出全部 prompt 模板(统一温度 0;抽取 512、签名规范化 2048、任务锚定按结构化输出上限的 token 限制),附录 D 给出全部实现细节:BGE-M3 做稠密检索(初始技能召回上限 12、余弦相似度不低于 0.45 且不低于最高分的 0.90)、MotifZip 权重 $\alpha=0.5, \lambda=0.3, \mu=0.2$、PathHydrate 权重 $\eta=0.4, \beta=\gamma=\delta=0.2$、六个 backbone 的具体型号、OpenHands 加 BenchFlow 0.6.2 Docker 执行、ALFWorld valid_seen 140 episodes、单台 Xeon Gold 6248R 加 512GB 内存服务器。数据侧 SkillsBench 与 ALFWorld 均为公开基准;确定性图操作全部从缓存记录出发,1K 技能构图加压缩仅 1.44 秒、100K 也只要 178 秒,无需训练 GPU。主要成本在于契约抽取需要调用 gpt-5.2-codex、Claude Sonnet 4.5 等商业 LLM 的 API。总体复现难度中等偏上:算法与评测协议确定性强,真正的不确定性来自 LLM 抽取质量的方差与 API 费用,以及需要自己复刻约千行规模的图基建。