Skip to content

技能 ​

字数
2367 字
阅读时间
9 分钟

TIP

技能是把特定任务的操作流程写成可以按需加载的说明文档。模型平时只看技能目录,需要时才读取完整步骤,所以可以配置很多技能而不占用日常对话的上下文。

工具解决「能做什么」,技能解决「怎么做好」。把复杂业务的操作指南全部写进系统提示词,会很快占满上下文。技能的核心是一份 Markdown 说明文档,复杂时还可以附带脚本、模板和参考资料。

模型默认只加载一份「技能目录」,其中只有各技能的名称和简短描述。对话涉及某个领域时,模型才读取该技能的完整说明,并按步骤调用工具或执行脚本。这种机制称为「渐进披露」:技能说明的上下文开销只出现在实际读取它的那一轮。

技能页 · 卡片视图与来源分组

技能页 ​

点击「能力 → 技能」进入管理页面,这里列出了所有已发现的技能。可以在卡片和列表视图间切换、按来源分组,或按关键字搜索、按名称或更新时间排序。

点击任意技能打开详情面板:

  • 名称、简介与正文预览。
  • 来源:内置、宿主机目录、用户自定义、工作区、导入或市场。
  • 文件清单:脚本、模板和参考文档。
  • 环境变量声明:必填项、密钥和默认值。
  • 覆盖关系:存在同名技能时,显示生效的版本和被遮蔽的副本。

导入与管理 ​

技能页支持导入单个 SKILL.md 文件、技能文件夹或 .zip 压缩包。导入的技能与已有技能同名时会直接覆盖。已导入的技能可以在详情面板中删除。

随插件分发的内置技能是只读的。需要修改时,点击「复制」把它复制到用户自定义目录再改。

WARNING

同名技能不会合并,只有优先级最高的一份生效。修改技能后表现没变化时,先在详情面板中查看覆盖关系。

来源与优先级 ​

同名技能按以下优先级决定生效版本:

  1. 工作区:当前 Agent 工作目录中的技能,优先级最高,只影响这个项目。
  2. 内置:随插件分发,只读。
  3. 宿主机目录:数据目录或指定宿主机路径下的技能,适合跨实例集中维护。
  4. 用户自定义:数据目录中的自定义技能文件夹,控制台中新建或复制的技能都保存在这里。

同一层级的同名技能按扫描顺序决定。从技能市场下载的技能存放在宿主机目录中,遵循同样的规则。

技能的结构 ​

最简单的技能只有一个 SKILL.md 文件,由头部元数据和说明正文组成:

字段作用
名称技能的唯一标识,通常采用小写短横线命名。
描述技能的功能简述,会显示在技能目录中。
版本 / 作者 / 许可可选的来源与元信息。
平台适用操作系统,如 macOS、Linux、Windows。
环境适用的运行环境。
环境变量运行所需的配置项,可标记为密钥、必填或提供默认值。

正文描述使用场景、执行步骤、注意事项和异常处理,写得越明确,模型执行越稳定。技能目录中的脚本、模板和参考文档,模型可以在加载技能后通过工具读取或执行。

环境变量与密钥 ​

在元数据中声明的环境变量可以标记为:

  • 必需:缺少时技能无法运行,加载时会提示。
  • 密钥:不会出现在日志或模型上下文中。
  • 默认值:未配置时使用的值。

管理员可以在场景规则中禁止某个群的技能使用已保存的密钥,依赖密钥的技能在该会话中就不可用。

TIP

不要把密码或 API Token 明文写进 SKILL.md。在元数据中声明环境变量,真实凭据保存在实例配置中,正文只引用变量名。

模型怎么用技能 ​

模型初始只拿到技能目录。用户的输入命中某个技能的场景时,模型可以搜索或列出技能、读取完整说明、读取参考文件,或运行附带的脚本。读取的说明只存在于当前轮次,不会常驻系统提示,之后需要时再重新读取。

技能也可以直接注册专用工具,例如「查询订单」,模型无需阅读说明就能直接调用。

技能脚本 ​

计算、格式转换、系统命令等确定性任务,交给脚本比让模型推理更可靠。推荐让模型负责分析和决策,把确定性操作封装进脚本。

执行脚本时,系统在受控的独立工作目录中运行,注入声明的环境变量,按权限模式检查是否需要审批,并把标准输出和错误返回给模型。

WARNING

技能脚本可以在宿主机上执行命令。不要把来源不明的技能直接导入生产环境,导入前审查脚本;无法确认安全时,把脚本执行设为需要审批。

技能市场与自动进化 ​

启用技能市场后,可以在技能页中浏览、搜索和安装社区技能,它们遵循与本地技能相同的发现、覆盖和权限规则。

可选的「技能自进化」插件(默认未安装)允许模型根据成功经验生成技能草稿。草稿需要经过测试、人工审查并手动确认后才会生效,支持回滚;模型只能提交草稿,无法绕过审查上线。未安装该插件时,技能注册表是只读的,系统不会自行生成或修改技能。

与工具、MCP 的关系 ​

  • 工具:模型可以直接调用的原子动作。
  • 技能:完成复杂任务的方法和流程,规定何时、按什么顺序调用工具。
  • MCP:把外部服务的能力转换为工具的协议。

一份技能可以组合多个工具,一个 MCP 服务器可以提供多个工具,技能也可以调用 MCP 工具。无论来源如何,权限和审批规则都一样。

推荐配置 ​

场景建议
个人实例只启用常用技能,让目录保持简短;敏感变量标记为密钥;脚本执行保留默认的审批
多人群聊在「场景规则 → 能力 → 技能」中为各群配置允许/禁用列表和密钥权限;公共群只开放查询类技能
团队与项目项目专属技能放在工作区目录;技能文件纳入版本控制,先在测试实例中验证
技能很多依靠渐进披露,不要把太多技能转为常驻工具;定期清理,关注覆盖状态

常见问题 ​

模型没识别到技能:检查技能是否被扫描到、是否被更高优先级的同名技能遮蔽、是否被场景规则禁用。详情面板会显示实际的生效状态。

技能已加载但模型不调用:描述太模糊或缺少触发条件。在描述和正文开头写明「何时使用这个技能」。

脚本提示缺少环境变量:在详情面板中检查并补齐必填变量;涉及密钥时,确认场景规则允许使用密钥。

导入后同名技能没生效:被更高优先级的同名技能遮蔽了。查看覆盖关系,重命名或移除冲突项。

技能正文太长:拆分成几个小技能,或把细节移到参考文件中,正文只保留核心流程。

下一步 ​

  • 工具 — 技能调用的动作和审批策略。
  • MCP — 接入外部服务提供的工具。
  • 场景规则 — 按群控制技能和密钥。
  • 权限与安全 — 脚本执行的权限模式。

页面历史

在 CC-BY-SA-4.0 许可下发布