Skill 范式研究论文:A Survey of Agent Skills: Toward Procedural Infrastructure for LLM

15 阅读10分钟

A Survey of Agent Skills: Toward Procedural Infrastructure for LLM Agents

AI 总结

《A Survey of Agent Skills: Toward Procedural Infrastructure for LLM Agents》(由 IDEA Research 等团队于 2026 年 5 月发表)是智能体工程领域极其重要的一篇“正本清源”式综述

它的最大行业价值在于:把过去开源界对 Agent“技能(Skill)”极其混乱、各自为战的工程尝试,提炼成了一套标准化的“底层操作系统级定义”。

以下为你梳理该论文的四大核心成果:

一、 厘清了“技能”的本体边界(What is a Skill?)

论文首先斩断了概念糊涂账,明确指出:技能是连接“记忆”、“人类经验”与“执行环境”的可复用程序性抽象。

它在智能体架构中处于承上启下的中间适配层

  • vs. 原始记忆(Raw Memory):记忆只负责记录“过去发生了什么”(事实或偏好),而技能负责规定“未来遇到这类事该怎么做”。
  • vs. 抽象规则(Abstract Rules):规则往往缺乏可执行的细节(比如“遇到网络报错要重试”),而技能是封装好的、带参的底层执行逻辑。
  • vs. 底层工具(Tools / APIs):工具(如 Python 解释器、Google 搜索 API)只定义了 Agent 的原子能力边界,而技能是对这些原子能力的“标准编排配方”

二、 核心贡献:Agent 技能的“六层分类学框架”

这是全篇最有指导意义的架构图。论文将一个技能从概念到落地拆解为了 6 个有机图层:

  1. 本体层(Ontology):界定技能的数据地位(即:为什么它应该作为独立的一等公民对象存在于文件系统里,而不是被死死塞进 LLM 的 Prompt 中)。
  2. 表示与封装层(Representation & Packaging):梳理了目前业界技能的 5 种代码载体:
  • 纯自然语言指导(Text-based)
  • 可执行代码片段(Code-backed,如 Voyager 模式)
  • 图结构与决策树(Decision graphs)
  • 文件系统包(Filesystem packages)
  • 结构化记录(Structured skill records,例如 Hermes 的 .yaml 技能描述文件)
  1. 生命周期层(Lifecycle):定义了技能的完整闭环:获取(Acquisition) \rightarrow 存储与检索 \rightarrow 编排使用 \rightarrow 演进维护 \rightarrow 选择性权重内化(把高频且极度成熟的技能,通过持续微调直接烧录进大模型本身的权重参数里)。
  2. 运行时集成层(Runtime Integration):研究技能如何作为“程序适配器”,去接管终端 CLI、全功能浏览器、宿主文件系统以及各类 Agent 框架。
  3. 治理与安全层(Governance & Security):首次系统化提出了技能生态的黑暗面——技能投毒(Skill Poisoning)休眠信道提示词注入,并给出了沙盒鉴权规范。
  4. 应用层(Applications):总结了技能在具身智能机器人、复杂游戏、操作系统(OS)操控以及自动化软件工程(SWE)中的落地范式。

三、 归纳了“技能获取”的四大演进路线

论文总结了目前让 Agent 习得一个新技能的四种工程流派,极其方便开发者对号入座:

  • 人类传授(Human-Derived):开发者直接写好标准操作流(SOP)或伪代码喂给它。
  • 经验自我蒸馏(Experience-Derived)当前最火的极客路线(Hermes、Reflexion 为代表)。Agent 在沙盒里反复试错碰壁,一旦某次偶然通关,系统内部的“总结器”会剥离掉中途所有失败的废动作,将最短正确路径提炼编译成 Skill。
  • 任务反向推导(Task-Derived):给 Agent 一个宏大目标(如“写一个贪吃蛇”),它自己逆向拆解出底层需要“渲染画布技能”和“按键监听技能”,并在沙盒中现场编写验证。
  • 语料库静态提取(Corpus-Derived):让 Agent 去海量静默阅读 GitHub 优秀源码、API 官方文档或人类的操作视频日志,批量“偷学”动作习惯。

四、 指出了当前 Agent 工程的“五大致命深水区”

论文没有只唱赞歌,在文末一针见血地指出了阻碍 Agent 技能库走向工业级的五个未解之谜:

  1. 缺乏专项评估标准:当下评测 Agent 永远在跑“任务最终成功率”,业界极度缺乏单独衡量一个技能库“纯净度、抗冗余率、跨场景泛化率”的体检指标。
  2. 极其脆弱的鲁棒性:外部环境发生微小扰动(例如某网站的“登录”按钮从左上角挪到了右上角),基于轨迹蒸馏出的技能会瞬间发生灾难性失效
  3. 零标准化的生态割裂:A 框架吐出的技能包,B 框架完全无法解析。业界急需一个类似 Docker 镜像格式的 “Agent Skill 标准容器协议”
  4. 沙盒越界安全:技能为了干活,往往被赋予了极高的系统执行权限。一旦 Agent 检索并加载了一个被黑客精心构造的“带毒技能包”,其危害远超传统的纯文本注入。

同行视角点评:这篇论文的出现标志着 LLM 范式重心的悄然转移——前几年行业总指望通过把模型参数从 70B 强行堆到 400B 来让 AI 产生“通识智慧”;而该论文代表的工程学派证明:把大模型的“聪明”剥离出来,沉淀进外围高度结构化的“程序性技能库”里,才是兼顾算力成本与执行确定性的真正解法。

5 种技能表示方法解析

在这篇论文中,“技能表示方法(Representation)”*是决定一个 Agent 框架能力上限的关键基建。简单来说,它回答了一个根本问题:*“当 Agent 学会一个新技能时,这个技能到底是以什么格式存在硬盘里的?”

业界从早期的简单尝试,一路演进出了以下 5 种主要的技能载体。以下是它们在底层逻辑、优缺点及适用场景上的硬核拆解:

1. 纯自然语言指导(Text-based)

这是最早期也是最符合人类直觉的技能载体。技能仅仅是一段精心编写的 Prompt 或 SOP(标准作业程序)文本。

  • 运行机制:直接将文本拼接(Concat)到 Agent 的 System Prompt 中。例如:“当用户要求查天气时,第一步确认城市,第二步调用插件...”。
  • 优点
    • 极低门槛:非技术人员可以直接用大白话编写。
    • 高柔性:大模型对自然语言有极强的泛化理解能力,能够应对模糊的指令变形。
  • 缺点
    • 极其消耗 Token:每次执行都要把长篇大论重新喂给模型。
    • 执行灾难(幻觉):文字描述再精确,大模型也可能在执行第 5 步时突然“发散思维”偏离轨道。
  • 适用场景:情感陪伴机器人、简单的文本分类客服、非结构化的创意写作助手。

2. 可执行代码片段(Code-backed)

Voyager(能在《我的世界》里自主打怪建房的 Agent) 为绝对代表。技能被直接固化为一段可以直接在解释器里跑的代码(如 Python 函数或 JavaScript 宏)。

  • 运行机制:Agent 遇到问题时,现场编写一段代码,如果执行成功,就把这段代码存入“技能库”。下次直接通过 exec() 或底层 API 调用该代码。
  • 优点
    • 绝对的确定性:代码一旦跑通,100% 按照逻辑执行,彻底消灭幻觉。
    • 效率极高:绕过了 LLM 缓慢的 Token 生成过程,直接以毫秒级操控底层 API。
  • 缺点
    • 脆不可言(Brittle):外部环境发生极微小的变化(比如某个 API 的返回 JSON 字段改了名字),代码就会直接报错崩溃,缺乏自我纠错的柔性。
    • 极高的安全风险:如果 Agent 写了一段包含 rm -rf 的代码并存为技能,后果是灾难性的。
  • 适用场景:受限的游戏沙盒环境、数据分析与图表生成(如 Code Interpreter)、闭源的内部自动化脚本。

3. 图结构与决策树(Decision Graphs / State Machines)

将技能抽象为由节点(状态/动作)和边(条件分支)组成的有向无环图(DAG)或状态机。典型代表是 LangGraph 或某些复杂的 RPA 流程。

  • 运行机制:Agent 的每一步行动都是在图的节点上游走。执行完节点 A 的动作后,LLM 只需要做一个选择题(走边 B 还是边 C),而不是从头生成下一步。
  • 优点
    • 防死循环与防偏航:由于路线被图结构锁死,Agent 绝不会跳出设计者的掌控边界。
    • 极佳的可观测性:开发者可以清晰地在 UI 上看到 Agent 当前卡在哪个节点,方便 Debug。
  • 缺点
    • 创作成本极高:通常需要人类工程师深度介入,手绘复杂的节点图,Agent 极难“自主生成”一个完美的图结构技能。
    • 丧失探索能力:遇到图结构之外的突发情况,Agent 会直接罢工。
  • 适用场景:金融风控审批流、极其严肃的医疗诊断流程、企业级复杂工单流转。

4. 文件系统包(Filesystem Packages)

借鉴了现代软件工程的思想(如 npm、pip),把一个复杂的技能打包成一个包含多个文件的独立文件夹

  • 运行机制:一个技能包里可能同时包含:prompt.txt(给大模型的引导)、script.py(执行动作)、schema.json(输入输出格式定义)甚至 requirements.txt(依赖库)。
  • 优点
    • 终极的模块化与工程化:完美支持版本控制(Git),方便团队协作开发。
    • 生态互通:天然适合建立像 App Store 一样的“Agent 技能插件市场”。
  • 缺点
    • 极度重型:对于简单的临时任务来说,动辄加载一个完整的依赖包显得杀鸡用牛刀。
    • 启动延迟:需要宿主框架具备强大的沙盒编译和依赖解析能力。
  • 适用场景:大型多智能体协作网络(Multi-Agent Systems)、需要接入庞大外部库(如机器学习框架)的专业领域大杀器。

5. 结构化记录(Structured Skill Records)

这是目前最新锐、也是 Hermes Agent 采用的核心方案。它在“纯自然语言”和“纯硬编码”之间找到了完美的平衡点。

  • 运行机制:技能被保存为精简的 .yaml.json 文件。文件内结构化地定义了:技能名称、触发意图、所需参数提取规则、以及一个极其凝练的操作指令(通常是结合了文本与基础命令的混合体)。
  • 优点
    • 最适合 Agent “自我进化”:大模型非常擅长输出和解析 JSON/YAML。当 Agent 解决一个难题后,它可以极其轻松地自我总结并吐出一个 .yaml 文件存入硬盘。
    • 引擎解耦:配置文件本身是死的,具体怎么执行由外部的守护进程(如 hermesd)去动态解析,兼顾了规范性与安全性。
  • 缺点
    • 重度依赖宿主框架:这种 .yaml 文件离开特定的解析器(Parser)就毫无意义,不同开源框架之间的结构化记录目前无法通用。
  • 适用场景:像 Hermes 这种追求“终身学习”的持久化个人助理、基于命令行的极客工具链。

总结视图

为了更直观地对比,这里是一份核心维度的评估矩阵:

技能表示方法确定性 (抗幻觉)柔性 (抗环境变化)Agent 自主提炼难度主要驱动力典型代表 / 框架
纯自然语言 (Text)极低极高极低Prompt 概率生成传统 GPT 提示词
可执行代码 (Code)极高极低中等Python/JS 解释器Voyager, Code Interpreter
图结构 (Graphs)极高状态机/路由网络LangGraph, 传统 RPA
文件系统包 (Packages)中等容器与包管理器各种 MCP 服务端端点
结构化记录 (Structured)中高中高解析引擎 (如 hermesd)Hermes Agent (.yaml)