05-编程
FastAPI
index
Python
index
React
index
SkillX_技能知识库自动构建_精读总结
index
工具链
index
本站点使用 MrDoc 构建
-
+
SkillX_技能知识库自动构建_精读总结
# SkillX: Automatically Constructing Skill Knowledge Bases for Agents > **来源**: arXiv:2604.04804v2 [cs.CL], 2026-04-21 > **机构**: 浙江大学 + 蚂蚁数字科技 > **代码**: https://github.com/zjunlp/SkillX (即将开源) > **PDF归档**: `2604.04804v2_SkillX_技能知识库自动构建.pdf` --- ## 一、核心问题 现有Agent经验学习三瓶颈: 1. **孤立学习** — Agent独立重复执行相同任务,反复提取相似经验,冗余严重 2. **经验泛化弱** — 高质量训练数据稀缺,挖掘的经验迁移性差 3. **能力天花板** — 经验仅来自自身探索和反思,受限于当前能力边界 **核心问题**: 什么形式的经验可以跨Agent、跨环境广泛复用? --- ## 二、核心洞察 **技能(Skill)是比轨迹/洞察/工作流更优的经验表示形式**,但Claude Skills的长上下文渐进式披露需要复杂沙箱和多轮交互,不够轻量。 SkillX的方案:**层级化、条目化的技能表示**,一次注入system prompt,轻量检索模块即可跨模型迁移。 --- ## 三、三层技能体系(核心架构) ``` D = S_plan ⊕ S_func ⊕ S_atomic ``` | 层级 | 对齐对象 | 内容 | 类比Hermes | |------|---------|------|-----------| | **Planning Skills** | 任务组织结构 | 高层步骤序列,过滤掉探索/回溯/试错行为 | SKILL.md中的步骤流程 | | **Functional Skills** | 子任务 | name + document + content三字段,封装可复用的工具调用子程序 | SKILL.md中的具体命令序列 | | **Atomic Skills** | 单个工具 | 扩展工具schema,补充使用模式、约束、常见失败模式 | pitfall注意事项 | ### 技能表示格式 每个Functional/Atomic Skill包含: - **name**: 技能名称 - **document**: 输入/输出/使用说明/注意事项 - **content**: 实际工具调用模式(代码级) --- ## 四、自动化构建管线 ### 4.1 Rollout + 技能提取 - 强骨干Agent(GLM-4.6)在训练任务上执行m次rollout - 从成功轨迹中分层提取三层技能 - Planning Skills: 轨迹压缩为高层步骤,过滤非必要转换 - Functional Skills: 基于plan引导,逐子任务提取工具调用模式 - Atomic Skills: 从单工具调用中提取使用模式和约束 ### 4.2 迭代优化 (Iterative Skills Refinement) ``` D^(k+1) = D^(k) ∪ ϕ(S^(k)) ``` **Skills Merge(技能合并)**: - 语义相似技能聚类(cosine similarity) - 多个候选更新方向聚合为最终更新 - 合并后过于复杂的技能进一步分解 **Skills Filter(技能过滤)**: 1. **General Filter** — 移除依赖外部Python包、过于特殊化、过度封装的技能 2. **Tool-specific Filter** — 验证技能引用的工具/参数是否存在于环境schema中 **迭代终止条件**: 测试集性能不再提升(最多3轮) ### 4.3 探索性扩展 (Exploratory Skills Expansion) **问题**: 种子训练数据有限,无法覆盖复杂环境的全部工具空间 **方案**: 1. 从种子集rollout经验中识别:已可靠使用的工具 / 高失败率工具 / 从未调用的工具 2. 优先探索未充分使用的或易失败的工具 3. 从探索轨迹中合成新任务 Q_syn 4. 在合成任务上重新运行技能提取+优化管线 **vs 随机探索**: 经验引导策略发现的技能多样性显著更高 --- ## 五、使用流程(推理阶段) ### 5.1 Planning Skills检索 + 伪计划改写 1. 新任务q → 语义检索相似的planning skills: P(q) = ρ(q) 2. LLM基于当前任务+检索到的计划,**自改写**任务特定的伪计划 p̃(q) 3. 伪计划**不注入**最终system prompt(防幻觉) ### 5.2 Functional + Atomic Skills检索 1. 伪计划的每个step作为检索query 2. 跨step去重 3. LLM自过滤,仅保留适用技能: Sq = LLM_select(q, p̃(q), S') ### 5.3 注入System Prompt 检索到的技能一次性注入system prompt,Agent条件化生成轨迹 --- ## 六、实验结果 ### 基准测试 - **BFCL-v3**: 多轮函数调用 - **AppWorld**: 应用世界交互 - **τ²-Bench**: 用户交互式对话Agent ### 关键数据 | 模型 | 方法 | BFCL Avg@4 | AppWorld Avg@4 | |------|------|-----------|----------------| | Qwen3-32B | No Memory | 53.67 | 27.68 | | Qwen3-32B | **SkillX** | **63.67** | **35.12** | | K2 | No Memory | 65.17 | 46.88 | | K2 | **SkillX** | **66.83** | **56.40** | | GLM-4.6 | No Memory | 76.67 | 60.27 | | GLM-4.6 | **SkillX** | **79.50** | **64.88** | **核心发现**: 1. **弱模型收益最大**: Qwen3-32B提升约10分(BFCL: +10, τ²-Retail: +13) 2. **强模型仍有增益**: GLM-4.6在各基准均有提升 3. **跨模型迁移有效**: 用GLM-4.6提取的技能注入Qwen3-32B,仍提升显著 4. **三层技能组合最优**: 强模型(GLM-4.6)使用全部三层效果最好 5. **弱模型需精选**: Qwen3-32B仅用Planning Skills最优(过多技能反而导致过度模仿) 6. **迭代优化有效**: 2轮迭代达峰值,3轮略有过拟合 7. **执行效率提升**: 技能条件化减少执行步数和输入token ### 技能层级效果分析 | 模型 | 最优技能组合 | |------|------------| | GLM-4.6 | Planning + Functional + Atomic(全部) | | K2 | Functional + Atomic | | Qwen3-32B | 仅Planning Skills | --- ## 七、与其他经验表示的对比 | 表示形式 | 代表工作 | 优势 | 劣势 | |---------|---------|------|------| | **轨迹(案例)** | ExpeL | 直接作为few-shot | 长上下文,迁移性差 | | **洞察/工作流** | AWM, A-Mem | 高层抽象 | 缺乏可执行性 | | **层级技能** | **SkillX** | 简洁+可组合+可执行+可迁移 | 需要工具schema稳定 | --- ## 八、局限性 1. **跨环境迁移**: 技能与特定工具schema绑定,跨域迁移需要工具层稳定 2. **用户交互场景**: 主要聚焦工具调用Agent,纯对话场景覆盖不足 3. **过拟合风险**: 训练数据有限时,文本优化可能过拟合 --- ## 九、对Hermes技能体系的启发 ### 9.1 直接可借鉴 | SkillX设计 | Hermes现状 | 改进方向 | |-----------|----------|---------| | 三层技能体系(Plan/Func/Atomic) | 单层SKILL.md | 可在SKILL.md内分区:`## Plan` / `## Steps` / `## Pitfalls` | | 语义检索+LLM自过滤 | skill_view手动加载 | embedding检索相关skill自动注入 | | 迭代优化(Merge+Filter) | 手动patch | 可设计skill质量反馈回路 | | 技能去重(cosine similarity聚类) | 手动合并 | embedding相似度检测重复skill | | 探索性扩展(合成任务+验证) | 用户驱动 | 可在训练/测试任务上自动生成新skill | ### 9.2 核心洞察 1. **技能 > 轨迹 > 洞察**: 结构化技能是经验复用的最优形式(Hermes的skill设计方向正确) 2. **一次注入 > 渐进披露**: Claude Skills的长上下文方式不如条目化一次注入高效 3. **弱模型需精选技能**: 过多技能导致过度模仿——Hermes按需加载skill的设计是正确策略 4. **Atomic Skills很重要**: 补充工具schema的使用约束和失败模式(= Hermes的pitfalls段) 5. **伪计划改写提升检索精度**: 先生成任务特定计划,再用计划检索技能,比直接用任务query检索更准 6. **经验引导探索 > 随机探索**: 优先覆盖未使用/易失败的工具路径 ### 9.3 不适用的部分 - Hermes的skill是人工编写的高质量知识,不需要自动提取管线 - Hermes没有"强Agent蒸馏给弱Agent"的场景(单Agent多技能) - Hermes的工具环境不稳定(经常增删工具),跨环境迁移不适用
admin
2026年10月12日 14:29
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码