快速入门#

创建你的第一个智能体技能(Agent Skill),并在 VS Code 中查看其运行效果。

在本教程中,你将创建一个技能,使智能体能够使用随机数生成器进行掷骰子。

前提条件#

本教程使用 VS Code,但智能体技能(Agent Skills)是一种开放格式。同样的技能可以在任何兼容的智能体中使用,包括 Claude Code 和 OpenAI Codex.

创建技能#

技能是一个包含 SKILL.md 文件的文件夹。VS Code 默认在 .agents/skills/ 路径下查找技能。在你的项目中创建 .agents/skills/roll-dice/SKILL.md 文件:

文件:.agents/skills/roll-dice/SKILL.md

---
name: roll-dice
description: 使用随机数生成器掷骰子。当被要求掷骰子(如 d6、d20 等)、掷出骰子或生成随机掷骰结果时使用。
---

要进行掷骰子,请使用以下命令生成一个从 1 到指定面数的随机数:

```bash
echo $((RANDOM % <sides> + 1))
```

```powershell
Get-Random -Minimum 1 -Maximum (<sides> + 1)
```

`<sides>` 替换为骰子的面数(例如,标准骰子为 6,二十面骰为 20)。

就是这样 —— 一个文件,不到 20 行。以下是各部分的作用:

  • name — 技能的短标识符。必须与文件夹名称匹配。
  • description — 告诉智能体何时使用此技能。智能体据此决定是否激活该技能。
  • 正文 (The body) — 技能激活时智能体遵循的指令。在这里,智能体被指示使用终端命令生成随机数,并将用户请求中的面数代入其中。

尝试一下#

  1. 在 VS Code 中打开你的项目。
  2. 打开 Copilot Chat 面板。
  3. 从聊天面板底部的模式下拉菜单中选择 Agent 模式。
  4. 输入 /skills 以确认 roll-dice 出现在列表中。如果没出现,请检查文件是否位于项目根目录下的 .agents/skills/roll-dice/SKILL.md
  5. 提问:“掷一个 d20 骰子”

智能体应该会激活 roll-dice 技能。它可能会请求运行终端命令的权限 —— 请允许它。它将运行命令并返回一个 1 到 20 之间的随机数。

不同工具的工具调用(Tool-use)可靠性各不相同 —— 有些模型会始终遵循技能指令并运行命令,而有些模型可能会尝试自行回答。如果智能体在未运行终端命令的情况下进行响应,请尝试从模型下拉菜单中选择不同的模型。

工作原理#

以下是后台发生的情况:

  1. 发现 (Discovery) — 聊天会话开始时,智能体扫描默认技能目录并找到了你的技能。它仅读取了 namedescription,足以知道该技能何时可能相关。

  2. 激活 (Activation) — 当你询问有关掷骰子的问题时,智能体将你的问题与技能的描述相匹配,并将完整的 SKILL.md 正文加载到上下文(Context)中。

  3. 执行 (Execution) — 智能体遵循正文中的指令,将终端命令调整为请求中的面数。

此过程使用 渐进式披露 (Progressive Disclosure),允许智能体访问许多技能而无需预先加载所有指令。有关更多详细信息,请参阅技能的工作方式

下一步#

你已经创建了一个可以工作的智能体技能。从这里开始:

  • 最佳实践 — 如何编写范围明确且有效的技能。
  • 优化技能描述 — 测试并改进技能描述,使其在正确的提示词下激活。
  • 规范SKILL.md 文件的完整格式参考。
  • 示例技能 — 在 GitHub 上浏览真实的技能示例。