Prompt、Skill、MCP、Agent 的职责边界:如何判断 AI 能力该放在哪一层
设计 AI 能力时,能不能实现只是第一问,后面还要回答:应该把它放在哪里。
一段说明写长以后,看起来像 Skill;Skill 开始安排多个工具,又像 Agent;MCP 既能提供工具,也能提供资料和提示词,于是似乎也能承载整套方法。如果只比较文件数量和功能多少,这些概念会越分越乱。
更稳定的判断方式,是沿一次任务的运行顺序,看每个角色究竟对什么负责。
适用范围
本文讨论支持 Skills 与 MCP 的 AI Agent 系统中的职责划分,重点是概念和架构边界,不依赖某个产品的具体目录或界面实现。
不同产品发现 Skill、加载上下文和调用工具的细节可能不同,但判断原则保持一致:当前目标由谁持有,工作方法由谁承载,外部能力怎样接入,运行结果又由谁判断。
四个核心概念先按职责归位
Prompt 是已经进入当前任务的指令和上下文。它说明这一次要做什么、背景是什么、输出有哪些要求。Prompt 可以临时输入,也可以来自用户主动选择的模板。
Agent 是当前任务的运行主体。它持有目标和上下文,读取每一步的真实结果,决定下一步,面对意外时调整计划,并判断任务是否完成。
Skill 是面向特定任务类型、可由 Agent 按任务加载的工作方法。它说明什么时候使用、通常怎样推进、边界在哪里、失败时怎样处理,以及做到什么程度才算完成。
MCP 负责通过统一协议提供外部数据、上下文和受控动作。它解决数据库、API、鉴权和外部系统怎样接入 AI 应用的问题。

这张关系图里,只有 Agent 对当前任务负责。Prompt 把目标交给 Agent;Agent 加载 Skill 获得方法,需要外部能力时再调用 MCP,并根据返回结果继续判断。
Prompt 模板与 Skill:差别不在能否复用
保存好的 Prompt 模板当然可以反复使用。因此,"可复用"不能单独作为 Skill 的定义。
Prompt 模板主要解决重复输入。通常由人判断当前该选哪一段,再把它放进这次任务。
Skill 还提供任务匹配入口。它通过名称和描述说明自己适合什么场景,Agent 可以在任务匹配时加载完整方法,用户也可以直接指定。
完整方法不仅包含指令,还包括适用条件、处理步骤、限制、失败路径和验收标准。最简单的 Skill 可以只有一份 Markdown 说明;方法成熟后,也可以加入模板、参考资料和脚本,并规定何时使用已有工具。
所以,Prompt 模板回答"以后怎样快速再用这段话",Skill 回答"Agent 遇到这类任务时,应该加载哪套做法"。
Skill 与 MCP:方法和连接不能混为一层
MCP Server 可以提供 Tools、Resources 和 Prompts,内部也可以通过脚本实现能力。从功能表面看,它与 Skill 存在交集。
判断边界时,不看内部用了什么技术,而看它向 Agent 交付什么。
MCP 交付可访问的外部能力,例如一份业务数据、一个查询接口或一次受控操作,并规定参数、权限和返回结构。
Skill 交付完成一类任务的方法,例如先确认什么范围、何时读取哪些数据、结果不足时怎样降级,以及最终按什么结构交付。
以生成客户简报为例,MCP 可以提供客户资料、订单和活动记录的查询能力;Skill 可以规定查询顺序、风险识别方法、缺失数据处理和简报验收标准。
Agent 可以直接调用 MCP,Skill 也可以只使用产品原生工具。两者常常协作,但方法不能代替连接,连接也不会自动形成完整方法。
Skill 与 Agent:看谁持有目标和判断权
一个成熟 Skill 可以包含分支、重试、降级和多个工具的使用顺序。流程变复杂后,容易被称为"小号 Agent"。
复杂度并不是分界。真正需要检查的是目标、状态和判断权。
当流程出现说明没有覆盖的情况,如果仍由宿主 Agent 重新理解目标、读取结果并决定下一步,它还是 Skill。
如果一个组件开始独立持有目标和状态,持续观察环境、调整计划,并对任务何时结束负责,它才进入 Agent 的职责。
如果它只根据预先写好的条件执行固定分支,则更接近普通工作流或状态机。
严格来说,Skill 自己也不是工具调用主体。Skill 描述调用方法,Agent 在当前任务中发起动作、接收结果并决定是否继续。
AGENTS.md、Script、Plugin 放在哪里
AGENTS.md 承载项目或目录范围内长期生效的规则,例如验证命令、代码规范和操作红线。Agent 进入对应范围就要遵守,不需要等待某类任务匹配。
Script 按预先写好的逻辑执行确定动作,例如检查格式、转换文件和计算数据。它可以由 Skill 携带,也可以在 MCP Server 内部实现某项工具。有没有 Script,不能决定上层职责属于 Skill 还是 MCP。
Plugin 是安装与分发容器。它可以包装 Skill、MCP,或者两者的组合。Plugin 解决整体能力怎样被发现、安装和共享,不改变内部组件原有的职责。
一项新能力的归属判断

判断时可以依次检查:
- 只说明当前任务的目标和上下文:Prompt。
- 沉淀一类任务的适用条件、步骤、边界和验收:Skill。
- 接入实时数据、鉴权和外部操作:MCP。
- 独立持有目标和状态,持续根据结果决定下一步:Agent。
- 在项目范围内长期生效:
AGENTS.md。 - 确定、可重复、可独立测试的动作:Script。
- 组合、安装和分发相关能力:Plugin。
这套判断不要求各层互不调用。Skill 本来就可以携带 Script,也可以规定 MCP 工具的使用方法;Plugin 也可以组合多种能力。需要保持清楚的是责任归属,而不是物理隔离。
最后可以把四个核心角色压缩成一句工程判断:Prompt 给出当前输入,Skill 提供任务方法,MCP 提供外部连接,Agent 对当前目标和下一步负责。