HyperAIHyperAI

Command Palette

Search for a command to run...

1 天前
Agent
LLM

SkillZip:通过发现可复用结构实现自进化智能体的免评估技能压缩

Xiaofan Bai Hongqiang Lin Chao Liu Yantao Zhang Xuan Jin Xipeng Cao Yuhong Li

摘要

自进化智能体通过追加成功流程和失败修复来积累可复用技能。随着时间推移,同一需求常以多个分支、示例和警告的形式重复陈述,而常见动作序列被复制而非复用。由此产生的技能注入成本高昂且难以维护。通用提示压缩并不适用于此场景,因为技能并非扁平段落:其名称与描述定义了适用时机,工作流控制执行过程,工具与输出契约约束有效性,而罕见的例外即使没有采样任务激活也可能至关重要。评估引导的压缩可以测试这些行为,但会引入 rollout、成本以及对压缩时评估集的依赖。我们提出 SkillZip,一种免评估方法,通过寻找技能最短的忠实结构解释来实现压缩。其直觉是“解释一次,引用多次”:在适用范围内一次性陈述重复规则,将重复动作序列分解为共享流程,并仅将差异保留为显式例外。我们将这一直觉形式化为一个带类型的、针对技能契约与残差的最小描述长度目标,并受限于对每个提取的触发器、工作流边、工具需求、义务和输出字段的硬覆盖约束。该形式化提供了简单的共享阈值,通过构造保留了独特的罕见规则,并支持高效的局部更新。SkillZip 具有一次性模式,包含一次结构化提取调用和确定性优化,以及一种持续的“即写即压缩”模式,该模式可整合每个自进化补丁,而无需重放任务或重新解析完整历史。通过全面的实验评估,我们证明了 SkillZip 在压缩性能、泛化能力和成本开销方面的有效性与优越性。

一句话总结

来自阿里巴巴集团、浙江大学和杜克大学的研究人员提出了 SkillZip,一种无需评估的技能压缩方法,通过一个带硬覆盖约束的类型化最小描述长度目标,发现可复用的结构化解释,支持一次性压缩和持续 Zip-on-Write 模式,并在压缩率、泛化性和成本效率上取得显著优势。

核心贡献

  • 将无需评估的技能压缩形式化为一种类型化合约表示,并推导出一个最短忠实解释目标,该目标通过规则共享、作用域提升、工作流复用和异常编码的统一,以及一个独立于任务频率的硬覆盖约束来保留稀有规则。
  • SkillZip 提供一次性模式,使用单次结构化提取调用后接确定性优化,还提供 Zip-on-Write 模式,通过局部更新持续集成新的自演化补丁,无需重放任务或重新解析全部历史。
  • 全面实验表明,SkillZip 在压缩性能、鲁棒泛化性和低开销方面均取得显著提升。

引言

自演化 agent 将过程性知识以追加式指令的形式累积,导致技能中充满冗余的规则副本、重复的工作流和分散的例外情况。这种膨胀增加了上下文成本,并模糊了控制逻辑,然而现有的提示压缩方法根据查询或答案分布估计 token 重要性,无法保留那些必须在所有未来任务中保持不变的类型化过程结构(分支守卫、时序顺序、工具合约)。作者提出 SkillZip,将技能视为类型化合约,通过提取共享规则、作用域提升、工作流复用和异常编码,将其压缩为更短的忠实解释。该方法保证在无需观察任何任务、轨迹或验证器的情况下,保留每一条规范性要求,包括罕见的边缘情况,并支持对演化后的检查点进行一次性压缩,以及在持续自演化中进行 Zip-on-Write 集成。

方法

作者提出 SkillZip,一种无需评估的压缩框架,将自然语言技能视为结构化、类型化合约,而非同质文本。通过将解释与优化解耦,该方法确保在不依赖下游任务执行或行为验证器的情况下,保留每一条操作要求。

框架的核心是从源技能中提取类型化合约。如下图所示,该合约将技能分解为六个不同组件:接口(触发条件和排除项)、工作流(控制流和动作)、工具协议(参数和前置条件)、作用域规则(带守卫的规范性约束)、输出合约(验证和字段)以及支撑证据。这种分解至关重要,因为它决定了哪些压缩是安全的;例如,两个关于同一工具的句子,如果它们需要不同的参数,则不能合并。

整个流程包含两个主要阶段:一次性压缩和持续压缩(Zip-on-Write),如框架图所示。

在一次性压缩阶段,首先对技能文档进行确定性扫描,解析标题、列表和代码块,以减少语言模型在结构推断上的负担。随后,一个受模式约束的模型恢复出类型化合约,将源文本片段映射到类型化单元。任何无法以足够置信度解释的歧义片段将被放入锁定的残留部分,并逐字复制。接着,系统利用哈希和嵌入索引,提出类型兼容的复用候选,例如合并等价规则或提取共享的工作流片段。最后,在最小描述长度目标下,通过最小化渲染 token 成本,选择一个最短的覆盖解释,确保所有必需的合约单元均被覆盖。结构审计会重新解析压缩后的输出,以验证没有丢失触发条件、守卫或输出字段,必要时恢复源文本片段。

对于随时间演化的 agent,持续压缩阶段(Zip-on-Write)通过一个包含当前合约、作用域树和工作流图的 sidecar 文件来维护合约。当新的补丁到达时,系统提取补丁单元,并与现有合约邻域进行比较,采用四种操作:吸收(重述已有要求)、细化(添加守卫或例外)、扩展(引入新要求)和重构(创建新的共享规则)。宿主选择使描述长度目标增加最小的可行操作。为了捕获局部更新可能遗漏的远程复用,系统会跟踪近似计数,并在估计的恢复性节省超过阈值或合约显著增长时触发全局重新打包。在整个过程中,模型提出结构,而确定性宿主在原子更新技能之前验证模式并强制执行覆盖。

实验

实验在三个 agent 主干和三个基准上评估了 SkillZip(一种无需评估的技能压缩方法),使用自演化技能。结果表明,自演化使技能长度增长超过初始的五倍,而 SkillZip 将这些膨胀压缩约 31%,同时在不进行任何任务 rollout 的情况下保持或提升任务性能,使其比基线 SkillReducer 快 3.5 倍。压缩后的技能在跨模型迁移时保持更好的能力,并且从演化开始就启用持续压缩可以完全防止长度膨胀,而不牺牲准确性。

SkillZip 比 SkillReducer 更积极地压缩演化后的技能,同时将任务性能保持在接近最佳未压缩结果的水平。该方法不需要任何任务 rollout,从而带来显著的速度提升,其压缩后的技能在跨模型迁移时具有更高的保留率。从自演化开始就进行持续压缩可以防止技能膨胀且不牺牲准确性。SkillZip 实现了 27.1% 的压缩率,高于 SkillReducer 的 10.5%,同时在 BFCL-V4、LiveMath 和 Spreadsheet 上的性能与未压缩的演化技能或最佳压缩替代方案相比,保持在很窄的范围内。与 SkillReducer 不同,SkillZip 不使用任务 rollout 进行验证,因此平均速度提升 3.5 倍,并避免了对可执行环境和行为验证器的依赖。当迁移到不同模型时,SkillZip 保留了 LiveMath 性能的 0.97,优于 SkillReducer 的 0.91 保留率,表明保留显式规则和约束能产生更独立于模型的技能表示。从自演化第一轮就开始激活持续压缩,可将技能长度增长限制在种子技能的 1.6–1.9 倍,相对于未压缩的终点减少了 38%–50%,同时最终准确率与未压缩技能持平或略高。将压缩推迟到后期仅能部分恢复累积的冗余,说明从一开始就防止膨胀比事后消除更有效。

SkillZip 在所有数据集上均显著快于 SkillReducer,平均速度提升约 3.5 倍。速度提升源于消除了任务 rollout,而 rollout 占据了压缩成本的主要部分,尽管 SkillReducer 的直接 LLM 调用次数更少。SkillZip 不需要任何 rollout,使无需评估的设计效率大幅提高。SkillZip 平均比 SkillReducer 快 3.5 倍,压缩时间为 207–332 秒,而 SkillReducer 为 587–1331 秒。SkillReducer 每次压缩需要 40–80 次验证 rollout,而 SkillZip 不需要,表明环境交互主导了端到端成本。尽管 SkillReducer 的压缩器 LLM 调用次数更少(3 次 vs 4–8 次),但其 rollout 开销使其速度显著更慢。

实验在多个基准上比较了 SkillZip 和 SkillReducer 对自演化技能的压缩效果。SkillZip 实现了更高的压缩率,几乎与未压缩的性能持平,同时无需任何任务 rollout,带来 3.5 倍的平均速度提升,且避免了对环境的依赖。其压缩后的技能能更好地迁移到其他模型,并且从自演化开始就应用持续压缩可以限制技能增长并防止膨胀,而不牺牲准确性,这与延迟压缩仅能部分恢复冗余形成对比。


用 AI 构建 AI

从创意到上线——通过免费 AI 协同编码、开箱即用的环境和最优惠的 GPU 价格,加速您的 AI 开发。

AI 协同编码
开箱即用的 GPU
最优定价

HyperAI Newsletters

订阅我们的最新资讯
我们会在北京时间 每周一的上午九点 向您的邮箱投递本周内的最新更新
邮件发送服务由 MailChimp 提供