SkillRAE:把检索到的技能在线编译成执行器可用的紧凑上下文
Paper Info
- Title: SkillRAE: Agent Skill-Based Context Compilation for Retrieval-Augmented Execution
- Authors: Xiangcheng Meng, Shu Wang, Yixiang Fang(香港中文大学深圳)
- arXiv: https://arxiv.org/abs/2605.10114
- 视频讲解: [Agent skill编译] SkillRAE | Bilibili
Overview
-
核心问题:SkillRAE 关注 RAE(Retrieval-Augmented Execution)中被忽略的一步——技能检索之后,如何把相关技能、子单元证据和任务约束编译成执行器能直接使用的上下文。
-
背景问题:现有方法多聚焦技能路由、仓库检索或执行规划,但"选到一个相关技能"不等价于执行器看到了当前任务真正需要的步骤、文件约定和约束。
-
方法总览:SkillRAE 分为离线建图与在线检索编译两阶段。离线阶段构建技能社区、技能节点和子单元节点三层图;在线阶段先做技能检索,再做上下文编译。
-
图结构:技能社区负责粗粒度能力匹配,技能节点保留执行器能消费的程序单元,子单元节点暴露局部步骤、命令模式和使用约束。
-
检索机制:在线检索同时走自上而下的社区信号和自下而上的子单元证据,再结合技能描述相似度、名称匹配和社区加分做技能排序。
-
编译机制:编译器会从未选中的技能里"救出"少量相关子单元,把它们挂到已选技能上,再筛成任务特定的 guidance,最后组织成紧凑上下文包。
-
系列定位:相比 SkillX / Trace2Skill 关注技能如何生成、SKILLGRAPH 关注技能关系如何组织、SkillClaw 关注技能库如何更新,SkillRAE 补的是"检索到技能之后、执行器看到技能之前"这一步。
-
实验结果:在 SkillsBench 上 SkillRAE 达到 29.26% reward mean,高于人工 curated skills 的 26.20% 与 SkillRouter 的 22.04%;在 AgentSkillOS 上达到 84.59%。
-
消融结论:去掉 top-down retrieval 从 29.26% 降到 16.61%,去掉 context compilation 降到 22.59%,说明技能社区和上下文编译都不是"只是加一段提示词"。
-
局限边界:SkillRAE 依赖明确的 SKILL.md 过程性文本、文件约定和约束说明;它是 advisory compiler,不是 planner 或 controller,不能保证运行时失败恢复。
核心内容解读
为什么"检索到技能"不等于"执行器能执行"
RAE 流程通常拆成三步:先按任务检索技能,再把选中的技能交给执行器,最后让执行器完成任务。这类方法里有一个被低估的环节——检索结果以什么形态进入执行器。
一个技能常常服务一类任务,范围比当前任务更大。比如 citation management 类技能可能同时覆盖搜索论文、验证元数据、生成 BibTeX、检查引用格式四个子目标,当前任务也许只需要"DOI 到 BibTeX"的一段逻辑。把整份技能直接塞进上下文,关键信息会被无关内容稀释。
反过来,如果只抽其中一段子单元也不行——子单 元脱离来源技能后会丢掉前置条件、文件约定和输出约束,执行器难以独立消费。
SkillRAE 的处理思路是:保留技能作为执行器认识的基本单元,同时把真正相关的局部证据显式标出来。技能是组织单位,子单元是检索单位,两者职责分离。
两阶段流水线:离线建图 + 在线检索编译
离线阶段——从技能仓库里建一张多层技能图,结构上分三层:
- 技能社区(Skill Community):用高 IDF 子单元构造技能表示,embedding 后用 k-means 聚类而成,是粗粒度的能力分组。
- 技能节点(Skill Node):保留执行器能直接消费的原始 skill(如 SKILL.md),下游执行器看到的还是这个形态。
- 子单元节点(Subunit Node):从 skill 里用确定性抽取规则抓出过程性元素、引用和约束型语句,再做长度过滤、标准化和精确去重,是细粒度的证据单位。
这张图是离线一次性建好的,在线阶段直接消费。
在线阶段——先用这张图检索,再做上下文编译,最后把任务特定的上下文包交给下游执行器。两阶段严格分离:检索只关心"找出哪些技能",编译只关心"怎么呈现这些技能"。