@dair_ai: 如果你在生产环境中构建代理技能,请查看阿里巴巴的这篇优秀论文。你可以将生产代理技能看作……
摘要
SkillZip Pro 是一种用于生产代理技能包的压缩方法,可将令牌使用量减少38%且不损失质量,从而提高人工智能代理部署的效率。
查看缓存全文
缓存时间: 2026/09/02 14:02
如果你在生产环境中构建代理技能,请务必查阅这篇来自阿里的优秀论文。你可以将生产级代理技能理解为一个目录。根目录在激活时加载,而引用、模式、脚本、资源和嵌套的子技能仅在执行路径到达时才加载。仅压缩根目录会忽略大部分部署成本,并且可能将分支特定的细节推入始终加载的上下文中。SkillZip Pro 能压缩整个技能包,当根目录或声明的环境契约已提供内容时,它会从引用或子技能中移除相关内容,同时保留路由机制,确保所有必需的文件和可直接调用的入口在重写后仍然可达。在一个生产级的内容审核技能上,它移除了38%的技能包令牌和10.4%的端到端每运行令牌,且质量无损。四种模式涵盖了不同的部署场景:单次重建完全重建技能包;持续应用在每次演化补丁后应用写入时压缩(Zip-on-Write);持久化重写已发布的技能包以减少存储和运行时上下文;而瞬态在构建任务特定视图时保持已发布的技能包字节一致。
论文:https://arxiv.org/abs/2608.30785 与论文对话:https://academy.dair.ai/papers/skillzip-pro-execution-aware-dynamic-compression-of-progressively-loaded-skills-2608.30785…
面向渐进式加载技能的执行感知动态压缩技术在自进化代理中的应用
来源:https://arxiv.org/html/2608.30785
摘要——生产环境中的代理技能是目录包,而非孤立的提示。根目录在激活时加载;引用、模式、脚本、资源和嵌套子技能仅在执行路径需要时才加载。仅压缩根目录会忽略大部分部署成本,并可能将分支特定的细节移入始终加载的上下文中。而展平会破坏渐进式加载的边界。我们提出 SkillZip Pro,一种无需评估的、面向完整渐进式加载技能包的压缩器。它不改变代理框架,并输出一个普通的目录。该方法结合了两项保障措施。第一,它跨文件压缩,当根目录或声明的环境契约已提供内容时,便从引用或子技能中移除内容。第二,它保留路由,确保重写后每个必需的文件和可直接调用的入口仍然可达。用户可以沿两个独立轴配置 SkillZip Pro。单次模式重建完整技能包;持续模式重用状态,并在每个演化补丁后应用写入时压缩。持久化压缩重写已发布的技能包以减少存储和运行时上下文。瞬态压缩保持该技能包字节一致,并构建一个任务特定视图,在构建成本之后,仅减少每次运行的上下文。入口契约标记私有、公共和有条件的资源;多入口审计保留独立的公共子技能。在通过我们工业级多轮框架评估的生产内容审核技能上,SkillZip Pro 移除了38%的技能包令牌和10.4%的端到端每运行令牌且无质量损失,而未受保护的71%配置因单方面误报导致准确率最多下降26个百分点。在一个多入口技能包上,SkillZip Pro 在近乎完美地保留所有路由和公共入口的同时,高效降低了令牌成本。
获取地址:https://github.com/yutou520131/SkillZip-Pro
作者: 白晓帆, 刘超, 林洪强, 吴迪, 宋明黎, 金旋, 曹喜鹏, 李宇鸿 邮箱: [email protected] †项目负责人 所属机构: 阿里巴巴集团 浙江大学
I 引言
代理技能封装了可重用的指令、流程和工具,以供跨任务使用。原型可能将技能表示为一个提示,但生产级技能通常是一个目录。一个简短的根目录声明技能的适用条件;引用和子技能包含分支特定知识;脚本实现确定性操作;模式则约束输入和输出。代理会渐进式地加载这个包:目录元数据在选择前可见,根目录在激活后出现,而辅助文件仅在当前路径需要时才打开。这种执行模式改变了压缩的目标。仅处理根目录的方法可能报告一个吸引人的压缩比,但大部分已部署的文本未被触及;它甚至可能将罕见的分支细节移入根目录,从而增加每次调用的上下文。拼接修复了计算缺口,但破坏了渐进式披露。两者都未能反映代理的实际成本。 自进化代理使问题更加严峻。诸如 Voyager、Reflexion 以及后续的演化框架等系统会随时间积累成功的程序、反例和修复规则。重复内容在文件内和跨分支都会增长。共享这些逻辑可以节省空间,但位置很重要:将两个罕见分支使用的内容移入根目录,会让每个任务都承担其成本。因此,压缩必须优化一个渐进式加载的资源图,而不是一个扁平的字符串。 现有方法不适合这种场景。提示压缩器在扁平上下文中优化令牌显著性或重构;SkillReducer 使用评估反馈来缩短技能,这需要运行并将压缩与采样任务绑定。我们早期的 SkillZip 公式则在没有评估的情况下找到最短的忠实表示。它保留了类型化的行为契约并支持写入时压缩,但一次处理一个文档,无法建模引用、子技能或渐进式加载的成本。 我们提出 SkillZip Pro,一个面向技能包的 SkillZip 扩展,它保持了一个框架无关的约束:代理框架保持不变。其输出是一个普通的技能目录,使用现有的文件读取器、路径和加载行为;不需要解析器、拦截钩子或运行时协议。SkillZip Pro 增加了单文档压缩器所缺乏的两个能力。 支柱一:激活感知的跨文件压缩,移除根目录或声明的环境契约已提供的内容,在其加载范围内因式分解重复的分支内容,并将较长的受保护分支移入按需加载的胶囊中。这些转换在不扩大始终加载层的情况下减少了跨文件冗余。 支柱二:跨文件路由保留,锁定路由指令并在发布前审计已实例化的目录。每个必需的文件必须保持可达,并且接口契约(如模式、标签列表和工作格式)必须保持连续且逐字不变。 编译器支持两种压缩模式。单次压缩扫描并优化完整目录,用于迁移、发布或定期重新打包。持续压缩逐字应用每个演化补丁,重用未更改的契约,并仅修复受影响的图闭包,同时使用全局重新打包来限制累积偏移。 为了适应引用的文件和子技能是否必须在根技能之外独立使用的不同情况,SkillZip Pro 引入了一个独立的输出生命周期选择。持久化技能包压缩重写规范目录,最适合仅通过根目录使用的私有资源,同时减少存储和未来的运行时上下文。如果它修改了公共入口,则必须进行多入口审计以验证该入口是否保持独立可用。瞬态执行视图压缩则保持规范目录不变,并为每次运行构建一个任务特定的视图,通过设计保留所有已发布入口的独立可用性,同时减少运行时上下文但不减少磁盘使用。任一生命周期都可以使用任一压缩模式。第V-C节定义了最终的四种组合及其成本。 两种调度都解决显式的局部引用为保守的资源图,从文本中提取类型化契约,并锁定可执行或二进制制品。目标分离了目录、激活、部署和路径加权成本。转换后,独立的审计会重新读取发出的目录,并在原子发布前检查图闭包、作用域、契约覆盖范围和字节一致性。
我们的贡献包括:
- • 面向技能包的压缩,适用于渐进式加载的技能。 我们将技能压缩从单个文档扩展到资源图,并跨根目录、引用文件和子技能联合优化内容放置。这种设计在不将很少使用的内容移入始终加载的根目录的情况下,消除了跨文件冗余。
- • 安全的路由保留和独立入口保留。 我们将路由指令和入口契约视为显式约束,并在部署前审计已实例化的技能包。这确保了必需的分支保持可达,并且公共子技能和引用保持独立可用。
- • 针对不同更新和部署需求的灵活压缩。 我们将压缩执行的时间与输出存储的位置分离。单次和持续模式支持静态和自演化的技能,而持久化和瞬态生命周期则满足了不同的存储减少和独立资源可用性需求。
- • 全面的压缩结果与生产证据。 每次移除都由包含关系、覆盖关系或记录的蕴含证明支持,同时接口契约保持完整。在一个生产级技能上,SkillZip Pro 将已部署内容减少38%,端到端每运行令牌减少10.4%,同时保留了决策质量。
II 相关工作
自进化代理与技能记忆。 代理越来越倾向于保留可重用的过程,而不是从头解决每个任务。Voyager 存储可执行技能,Reflexion 记录语言反馈,ACE 将演化的上下文组织为结构化的手册。其他系统修订、优化或形式化技能制品。随着这些库的增长,等效规则在不同作用域累积,分支更新可能产生冲突。SkillZip Pro 无论其如何创建,都能压缩最终的表示。 提示和上下文压缩。 LLMLingua、LongLLMLingua 和 LLMLingua-2 移除或重写低效用令牌;选择性上下文、摘要化和重压缩方法也针对扁平的推理上下文。技能包在两方面有所不同:罕见的内容可能仍是必需的,并且每次执行只加载目录的一部分。因此,SkillZip Pro 在压缩类型化的行为单元时保留了加载边界。 技能压缩和运行时表示。 SkillReducer 使用评估反馈压缩技能文本;参数化技能和运行时机制则改变表示或运行时。我们的瞬态生命周期也按次构建内容,但它仍然是无需评估且框架中立的:代理收到一个普通的目录,且没有解析器观察执行过程。最接近的前身是 SkillZip,它为单个文档引入了类型化覆盖和最短覆盖压缩。SkillZip Pro 将其优化对象、成本模型、重写和审计扩展到渐进式加载的技能包。 基于语法的压缩和MDL。 最短描述长度(MDL)选择最短的忠实表示。语法压缩器如 Sequitur 和 Re-Pair 在引用可以分摊定义成本时对序列进行因式分解。我们增加了语义类型、激活作用域、路径权重、锁定制品和部署约束。仅在降低加载路径成本时才允许共享。
III 问题公式化
III-A 技能是一个渐进式加载的技能包
我们将技能建模为一个根目录 B = (V, E, r)。每个资源 v ∈ V 有一个规范路径 p_v、字节 b_v、媒体类型 m_v 和加载类别 ℓ_v。根 r 通常是 SKILL.md。一条边 e = (u, v, g, s) 记录从 u 到 v 的引用、其保护条件 g 和源跨度 s;保护条件可以是无条件的或作者编写的,例如“用于 CSV 导出”。我们区分四个加载层次:
-
- 目录:名称、描述和入口元数据,在激活前可见;
-
- 激活:只要技能被选中就会加载的根指令;
-
- 路径:为特定执行分支加载的传递性资源;
-
- 部署:随技能分发的所有字节,包括很少或从未被读取的资源。
一次编辑可能在改善一个层次的同时损害另一个层次。将一个罕见的500令牌分支移入根目录,可能会在去重后减少部署长度,但会增加每次激活500个令牌。因此,我们分别衡量每个层次。
定义 III.1(安全资源图)。
如果每个解析出的目标都是规范技能包根目录内的常规文件,每个记录的内部引用都有现有的目标,并且每条边都保留其源跨度和保护条件,则该图是安全的。外部 URL 被记录为外部边,但永远不会被获取。符号链接逃逸、路径遍历、缺失目标和不明确的动态路径在严格模式下会被拒绝。解析器是刻意保守的。Markdown 链接、显式路径字面量和声明的子技能入口会被识别;未识别的文件会保留在部署技能包中,但不产生推断的依赖。这防止了压缩器发明加载语义。
III-B 入口契约:哪些资源必须独立存在
代理通常从根目录到达资源,但也可能直接选择嵌套的子技能或引用。压缩器在删除内容前必须知道这一点:被根目录覆盖的文本对于直接调用可能仍然是必要的。因此,一个入口契约 η_v 将每个节点分配为三种角色之一:
- • 私有(内部): 仅通过根目录可达,没有独立使用的要求。
- • 公共(独立): 可直接选择,因此无需根目录即可完全使用。
- • 有条件的: 仅在声明的主机上下文或依赖闭包下才可直接使用。
作者或目录声明契约;压缩器从不推断它。对于公共或有条件的入口 e,定义独立性为: Ind(e, B′) = Cov(e, B′_{↓e}) · 𝕀[e 可发现], 其中 Cov 表示源…
相似文章
@dair_ai: 终于,有一篇好论文测试了 Agent Skills 是否真的有帮助。如果你正在维护技能库,值得一读 …
一项基准研究表明,在 Web 开发任务中注入 Agent Skills 通常会降低性能并增加令牌成本,存在长度分散和内容误导等失败模式,凸显了按部署评估的必要性。
addyosmani/agent-skills
agent-skills 是一套旨在增强 AI 编程代理能力的生产级工程技能集。
@dair_ai: 一篇揭示代理技能的优秀论文。
这篇论文通过分析8,135次标准化试验,揭示了代理技能的本质,挑战了技能主要向模型注入知识的假设。
@axichuhai: https://x.com/axichuhai/status/2062146611472400461
分享8个精选的AI Skill(技能),涵盖基础配置、产品开发和内容创作,帮助提升AI生产力,适用于Claude Code和CodeX等Agent。
@GoSailGlobal: 最近 skills 生态明显在爆发。 一批工程师级的 Agent Skills 仓库集中冒头,方向出奇一致: 给 AI 编程 agent 装上一套高质量的工程规范。 · obra/superpowers —— 26.9 万 star · …
本文讨论AI编程Agent的Skills生态爆发,介绍多个高star的Agent Skills仓库(如superpowers、agent-skills等),它们为AI编程代理提供工程规范,旨在缩小Vibe Coding与生产级代码之间的质量差距。