Skill、Tool、Prompt 与 MCP 的边界

一份告诉模型如何做事的说明,与真正能读文件的函数,不是同一种能力。Skill、Prompt 和 Tool 分别解决不同问题,MCP 则涉及如何连接能力。下面用具体例子区分,避免只是换个名字描述同一段文字。

1. Tool

Tool 是可执行接口,例如 read_file(path)、search(query)、create_issue(...)。它回答“系统能做什么”,强调参数、结果、权限和副作用。

2. Skill

Skill 是一类任务的可复用流程知识,通常包含:

  • 何时使用;
  • 前置条件;
  • 分步方法;
  • 需要的工具;
  • 脚本、模板或示例;
  • 验收标准;
  • 失败处理。

它回答“怎样可靠地完成一类任务”。一个 code-review Skill 可以调用 git、测试和评论工具,但本身不是这些工具。

3. Prompt

Prompt 是某次模型调用的指令和上下文。它可以引用 Skill,但通常没有独立版本、目录资源、发现机制和 smoke test。把所有流程写进全局 prompt 会导致上下文膨胀,也难以复用和单独评测。

4. MCP

MCP(Model Context Protocol)标准化 Host、Client 与 Server 之间的连接,Server 可暴露 tools、resources、prompts。MCP 解决“如何接入外部能力与数据”;Skill 解决“如何组合能力完成任务”。

5. 一张表

概念 核心 主要契约 生命周期
Prompt 本轮指令/上下文 消息与优先级 一次或若干轮
Tool 可执行动作 input/output schema 运行时
Skill 可复用流程知识 SKILL.md + 资源 + 验收 可版本化能力包
MCP 连接协议 transport/capabilities/schema 客户端与服务会话

6. 组合示例

“生成发布说明” Skill:

  1. 使用 git Tool 读取两个 tag 间提交;
  2. 使用 issue MCP Server 获取关联 issue;
  3. 按模板分类变更;
  4. 运行链接与版本验证;
  5. 输出 release note。

Skill 只在任务匹配时加载详细内容,工具描述保持精简。

用发布说明把四者串起来

用户要写一份发布说明。Prompt 说明这次任务;Skill 给出反复可用的写作步骤;Tool 读取版本差异;MCP 可以把远程工单查询能力接进来。四者可以协作,但 Skill 文件本身不会自动获得 shell 或网络权限。

先写一个只有名称、用途和三步流程的 Skill,再让它调用现成的只读工具。等流程反复使用后,才把重复操作整理成脚本。Agent Skills 规范允许附带脚本与资源,allowed-tools 字段仍有实现差异,不能当成各客户端都支持的统一授权系统。

验收时问一个具体问题:如果用户只想查版本号,这份发布 Skill 会不会被误加载并执行发布?触发范围和权限边界应分别测试。

本节的核验依据

2026-10-25 查阅。下面的链接支持本节的机制说明;练习场景和选型建议是本教程的教学设计。