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 个有机图层:
- 本体层(Ontology):界定技能的数据地位(即:为什么它应该作为独立的一等公民对象存在于文件系统里,而不是被死死塞进 LLM 的 Prompt 中)。
- 表示与封装层(Representation & Packaging):梳理了目前业界技能的 5 种代码载体:
- 纯自然语言指导(Text-based)
- 可执行代码片段(Code-backed,如 Voyager 模式)
- 图结构与决策树(Decision graphs)
- 文件系统包(Filesystem packages)
- 结构化记录(Structured skill records,例如 Hermes 的
.yaml技能描述文件)
- 生命周期层(Lifecycle):定义了技能的完整闭环:获取(Acquisition) 存储与检索 编排使用 演进维护 选择性权重内化(把高频且极度成熟的技能,通过持续微调直接烧录进大模型本身的权重参数里)。
- 运行时集成层(Runtime Integration):研究技能如何作为“程序适配器”,去接管终端 CLI、全功能浏览器、宿主文件系统以及各类 Agent 框架。
- 治理与安全层(Governance & Security):首次系统化提出了技能生态的黑暗面——技能投毒(Skill Poisoning)与休眠信道提示词注入,并给出了沙盒鉴权规范。
- 应用层(Applications):总结了技能在具身智能机器人、复杂游戏、操作系统(OS)操控以及自动化软件工程(SWE)中的落地范式。
三、 归纳了“技能获取”的四大演进路线
论文总结了目前让 Agent 习得一个新技能的四种工程流派,极其方便开发者对号入座:
- 人类传授(Human-Derived):开发者直接写好标准操作流(SOP)或伪代码喂给它。
- 经验自我蒸馏(Experience-Derived):当前最火的极客路线(Hermes、Reflexion 为代表)。Agent 在沙盒里反复试错碰壁,一旦某次偶然通关,系统内部的“总结器”会剥离掉中途所有失败的废动作,将最短正确路径提炼编译成 Skill。
- 任务反向推导(Task-Derived):给 Agent 一个宏大目标(如“写一个贪吃蛇”),它自己逆向拆解出底层需要“渲染画布技能”和“按键监听技能”,并在沙盒中现场编写验证。
- 语料库静态提取(Corpus-Derived):让 Agent 去海量静默阅读 GitHub 优秀源码、API 官方文档或人类的操作视频日志,批量“偷学”动作习惯。
四、 指出了当前 Agent 工程的“五大致命深水区”
论文没有只唱赞歌,在文末一针见血地指出了阻碍 Agent 技能库走向工业级的五个未解之谜:
- 缺乏专项评估标准:当下评测 Agent 永远在跑“任务最终成功率”,业界极度缺乏单独衡量一个技能库“纯净度、抗冗余率、跨场景泛化率”的体检指标。
- 极其脆弱的鲁棒性:外部环境发生微小扰动(例如某网站的“登录”按钮从左上角挪到了右上角),基于轨迹蒸馏出的技能会瞬间发生灾难性失效。
- 零标准化的生态割裂:A 框架吐出的技能包,B 框架完全无法解析。业界急需一个类似 Docker 镜像格式的 “Agent Skill 标准容器协议”。
- 沙盒越界安全:技能为了干活,往往被赋予了极高的系统执行权限。一旦 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)去动态解析,兼顾了规范性与安全性。
- 最适合 Agent “自我进化”:大模型非常擅长输出和解析 JSON/YAML。当 Agent 解决一个难题后,它可以极其轻松地自我总结并吐出一个
- 缺点:
- 重度依赖宿主框架:这种
.yaml文件离开特定的解析器(Parser)就毫无意义,不同开源框架之间的结构化记录目前无法通用。
- 重度依赖宿主框架:这种
- 适用场景:像 Hermes 这种追求“终身学习”的持久化个人助理、基于命令行的极客工具链。
总结视图
为了更直观地对比,这里是一份核心维度的评估矩阵:
| 技能表示方法 | 确定性 (抗幻觉) | 柔性 (抗环境变化) | Agent 自主提炼难度 | 主要驱动力 | 典型代表 / 框架 |
|---|---|---|---|---|---|
| 纯自然语言 (Text) | 极低 | 极高 | 极低 | Prompt 概率生成 | 传统 GPT 提示词 |
| 可执行代码 (Code) | 极高 | 极低 | 中等 | Python/JS 解释器 | Voyager, Code Interpreter |
| 图结构 (Graphs) | 高 | 低 | 极高 | 状态机/路由网络 | LangGraph, 传统 RPA |
| 文件系统包 (Packages) | 高 | 中等 | 高 | 容器与包管理器 | 各种 MCP 服务端端点 |
| 结构化记录 (Structured) | 中高 | 中高 | 低 | 解析引擎 (如 hermesd) | Hermes Agent (.yaml) |