跳到内容

如何使用 Agent Skills

Agent Skills 是利用 LLM 的高效方式之一,可以为要完成的任务提供合适的上下文,并且可重复使用。

How to use Skills

Agent Skills 是利用 LLM 的高效方式之一,可以为要完成的任务提供合适的上下文,并且可重复使用。

最棒的是,

有公司已经为你编写了这些技能,你只需在 workflow 中直接使用。本指南将介绍如何利用这些技能来开发功能,真正实现效果。

什么是 Skill?

“Skill” 是一个包含 markdown 文件的文件夹,用于说明如何完成某项具体任务。主 skill 文件必须命名为 SKILL.md,文件内容可以自定义,只要 frontmatter 包含 name 和 description 字段即可。(还有其他可选 frontmatter 字段,详见此处。)

建议主 SKILL.md 文件内容不超过 500 行。

在该文件夹内,还可以包含其他信息,这些内容可被 SKILL.md 文件引用,但只有在需要时才会加载到上下文中。建议将这些信息分别存放在以下文件夹:

  1. scripts/ - 智能体可执行的代码。
  2. references/ - 需要时可用作补充文档的其他 markdown 文件。
  3. assets/ - 智能体可用的静态资源。

Skill 有哪些特别之处?

使用 AI 时常见的一个大问题是上下文膨胀。上下文膨胀指的是给 AI 提供了过多的信息,导致其难以完成任务。

想象一下,只给一位初级开发者一份与某个功能相关的精确文档,没有无关内容。看完文档后,他们实现该功能的成功率会很高。

如果让初级开发者阅读所有文档,再让他们实现某个只涉及一小部分文档的功能,成功率就会大大降低。

LLM 的表现也是如此。

早期方法如 MCP,尝试通过加载大量结构化上下文到模型中来解决这个问题。虽然比完全没有上下文要好,但依然难以稳定完成任务。

Skill 则不同。

默认情况下,只有 frontmatter 中的 name 和 description 会加载到上下文窗口,占用极少空间,但能让 LLM 知道有哪些技能可用。当确定某个 Skill 有用时,会将 SKILL.md 文件加载到上下文窗口。只有在需要时,scripts/、references/ 和 assets/ 文件夹中的其他文件才会被加载。

那该如何使用这些 Skill?

skills.sh

根据所用 LLM 接口,可以下载并存放到对应应用的指定位置。例如:

Skills Folder Location
Cursor
.cursor/skills/
Claude Code
.claude/skills/
OpenCode
.opencode/skills/


Skill 本质上就是包含文件的文件夹,可以直接复制粘贴到这些目录中即可使用。

另一种方式是使用 skills.sh

这是由 Vercel 构建的 Agent Skills 目录,可以根据使用频率发现不同的 Skill。你还可以用他们开发的 CLI 工具,将这些技能添加到项目或全局用户中。

操作方法:运行命令 npx skills add <owner/repo>,系统会引导你完成整个流程。其实就是自动复制粘贴,但更快。

Skill 的使用方法

安装好 Skill 后(无论是通过 skills.sh 还是复制粘贴),使用起来都很简单。无论在哪个编辑器中,系统都可以自动在认为合适时调用对应的 Skill。理论上,只要将 Skill 放到正确位置,就无需再操心。

但,目前来看,系统有时不会在正确时机调用 Skill。如果你知道某个时刻应该用 Skill,可以直接告诉 LLM。

比如,我已安装了 ElevenLabs 的语音转文本技能。如果想让 Claude 使用它,可以发送如下提示词:

使用语音转文本技能,在本项目中实现一个简单示例。音频内容如下:https://storage.googleapis.com/eleven-public-cdn/audio/marketing/nicole.mp3.

它一次就完成了下方这个应用。

Tadas App

当然,这个 UI 还有很多可优化的地方,但 ElevenLabs 的核心逻辑已经可以正常运行,而且只用了一句话。

强烈建议在项目中使用 Agent Skills,可以为 LLM 提供针对具体任务的合适上下文,这些内容由工具开发者精心整理。

如果项目中用到 ElevenLabs,欢迎安装我们的技能:

npx skills add elevenlabs/skills

查看更多 ElevenLabs 团队的文章

用高质量 AI 音频创作