AINotes 101
菜单
Learn / 03 构建 AI / Skills

Skills

技能

把流程、知识与脚本封装成可复用的能力单元,让 Agent 按需加载而不是全部塞进上下文。

BUILD #engineering#patterns

一句话定义

Skill 是把一段可复用的能力——流程说明、领域知识、脚本、模板——封装成一个独立单元,包含一个简短的描述和一份详细的说明。Agent 平时只看到描述,需要时才加载完整内容。

它的核心思想是渐进式披露(progressive disclosure):不把所有细节一次性塞进上下文,而是按需展开。

为什么重要

它解决了 Agent 工程里一个非常具体的矛盾:

  • 要让 Agent 会做某件事,你得把做法告诉它。
  • 但把几十种做法全写进系统提示,会撑爆上下文并稀释注意力。

Skill 让这两件事解耦:描述常驻,内容按需加载。 这是上下文工程在能力层面的应用。

另一个价值是可组合。工具调用是一次动作,Skill 是一整套做法。前者像函数,后者像操作手册。

与相邻概念的区别

是什么 何时用
Tool 一次可调用的动作 需要访问外部系统
MCP 工具的分发协议 工具需要跨应用复用
Skill 一套做法的封装 需要复用流程与知识
RAG 事实检索 需要查资料

一个实用的判断:需要「执行」用 Tool,需要「照做」用 Skill。

一个好的 Skill 包含什么

  1. 名称与触发条件:写清「什么时候应该用我」。这段描述的质量决定了它会不会被正确调用。
  2. 前置条件:需要哪些输入、哪些环境、哪些权限。
  3. 步骤:足够具体,可以直接照做,包含常见分支。
  4. 示例:一个完整的输入输出样例,胜过三段抽象描述。
  5. 边界:明确写出不该做什么,以及失败时怎么处理。

设计要点

  • 描述要短且区分度高。多个 Skill 描述相似时,选择会变得不可靠。
  • 内容可以长,因为它只在被选中时加载。
  • 可组合优于可配置。宁可两个小 Skill,也不要一个参数众多的巨型 Skill。
  • 保持可测试:给定的输入应该产生大致可预期的行为。

常见误解

  • 「Skill 就是提示词模板」:模板只提供文本,Skill 还封装了流程、脚本与边界条件。
  • 「Skill 越多能力越强」:过多的 Skill 会互相干扰,选择准确率下降。
  • 「写了 Skill 就一定会被用」:触发描述写得不好,等于没写。

延伸阅读

继续阅读

与 Skills 同属一个层级,或在本条目中被显式引用。