文章 文章 posts

提示词(Prompt)、MCP 与 Skills 区别详解

这是一个非常好的问题,这三个概念现在确实经常被混着用。我将用统一视角 + 对照表 + 真实例子给你讲清楚。

一句话先区分

  • 提示词(Prompt):你对模型说的“话”
  • Skill:模型“会做的一件事”(带规则/工具/代码)
  • MCP:模型“如何接入外部世界”的通信与能力协议

可以理解为:

Prompt 是指令语言
Skill 是能力封装
MCP 是能力接入标准

一、提示词(Prompt)是什么?

定义

提示词 = 给大模型的输入指令
告诉模型:你是谁、要做什么、怎么做、有什么约束

特点

  • ✅ 纯文本(系统 / 用户 / 示例)
  • ❌ 不具备持久能力
  • ❌ 不直接访问外部系统
  • ❌ 不复用逻辑(只能复制粘贴)

例子

text
你是一个支付网关架构师,请根据以下设计文档,
生成一个 Java Maven 多模块项目结构……

`

📌 问题:

  • 每次都要重新说
  • 容易跑偏
  • 不具备“工具化”

二、Skill(技能)是什么?

你最近用到的 payment-gateway-docs / skill_payment_gateway.py 就是典型 Skill

定义

Skill = 针对某一类任务的“能力封装”

通常包含:

  • 触发条件(什么时候用)
  • 角色设定
  • 行为约束
  • 工具 / 文件 / API
  • 稳定输出格式

特点

  • ✅ 可复用
  • ✅ 稳定、可控
  • ✅ 可带代码、模板、文件生成
  • ✅ 自动触发(不需要每次重复提示)

Skill 本质结构(示例)

yaml
name: payment-gateway-docs
description: 提供支付网关系统的架构、设计和代码生成能力
invoke_when:
  - 用户询问支付网关设计
python
def run(context):
    # 解析设计文档
    # 生成项目结构
    # 输出代码

Skill 能解决的问题

问题 Prompt Skill
复杂逻辑 ❌ ✅
生成项目骨架 ❌ ✅
固定输出结构 ❌ ✅
工程化 ❌ ✅

📌 可以理解为:Skill = Prompt + 规则 + 代码 + 工具

三、MCP(Model Context Protocol)是什么?

定义

MCP = 大模型与外部能力(工具 / 服务 / 运行环境)通信的协议标准

它不是“一个技能”,而是:

技能、工具、Agent 的“USB-C 接口”

MCP 解决的问题

  • 统一外部接口标准

  • 模型可以调用:

    • 数据库
    • Git 仓库
    • 本地文件
    • Web API
    • 企业系统

MCP 能做的事情

能力 说明
资源(Resources) 文件、文档、数据库
工具(Tools) 执行命令、生成代码
记忆(Memory) 长期上下文
Agent 协作 多智能体
本地 / 远程 都支持

MCP ≠ Skill,但 Skill 可以跑在 MCP 上

代码
Prompt
   ↓
Skill(能力封装)
   ↓
MCP(标准协议)
   ↓
真实世界(文件 / 服务 / 系统)

四、三者对照表

维度 Prompt Skill MCP
本质 指令 能力 协议
是否可复用 ❌ ✅ ✅
是否工程化 ❌ ✅ ✅
是否可执行 ❌ ✅ ✅
是否可接工具 ❌ ✅ ✅
是否跨平台 ❌ ❌ ✅
面向对象 模型 任务 生态

五、真实例子

1️⃣ Prompt

text
帮我生成一个支付网关系统的 Maven 项目

→ 一次性

2️⃣ Skill

text
@payment-gateway-docs
根据设计文档生成完整支付网关项目

→ 稳定、专业、可复用

3️⃣ MCP

代码
模型 → MCP → 本地文件系统
                 ↓
              生成项目

可直接:

  • git init
  • 写入代码
  • 执行 mvn clean package
  • 接入 CI / Jenkins

六、使用建议

用 Prompt

  • 临时问题
  • 一次性问答
  • 快速 brainstorm

用 Skill

  • 固定任务
  • 生成代码 / 文档
  • 架构设计
  • 企业内知识

用 MCP

  • 本地/服务器操作
  • 工具化 AI
  • Agent 系统
  • 私有部署

七、一句话总结

Prompt 是“怎么问” Skill 是“会做什么” MCP 是“怎么连到现实世界”