AI 圈最让人头秃的不是技术难懂,而是长得像的概念太多。「Skill 和 MCP 啥关系?」「Workflow 和 Agent 怎么区分?」这篇专门解决这些「脸盲」问题,一张表说清楚。
📑 目录
- Skill vs MCP vs Plugin:能力封装的三种路
- RAG vs Fine-tuning vs Prompt Engineering
- Agent vs Workflow vs Pipeline
- Context Window vs Memory vs Knowledge Base
- Embedding vs Vector vs Feature
- Token vs Word vs Character
Skill vs MCP vs Plugin:能力封装的三种路
| 维度 | Skill | MCP (Server) | Plugin |
|---|
| 定位 | 能力模块 | 连接协议 | 扩展单元 |
| 谁出的 | 各家自有体系 | Anthropic 主推 | ChatGPT/Cursor 等 |
| 包含什么 | Prompt+Tool+Schema | Resources+Tools+Prompts | Manifest+Backend |
| 通信方式 | 内部调用 | JSON-RPC 标准 | 各自实现 |
| 侧重点 | 「干什么」 | 「怎么连」 | 「怎么扩展产品」 |
| 类比 | 手机 App | USB-C 标准 | 浏览器扩展 |
一句话关系: MCP = 底层连接协议(管道) Plugin = 产品级扩展机制(容器) Skill = 业务能力封装(内容) 理想状态: Skill 通过 MCP 协议对外提供能力 → 以 Plugin 形式嵌入产品 三层协作,各司其职
RAG vs Fine-tuning vs Prompt Engineering
| 维度 | RAG | Fine-tuning | Prompt Eng |
|---|
| 原理 | 外挂知识库检索 | 继续训练调整参数 | 优化输入指令 |
| 解决什么 | 知识不足/私有数据 | 风格/格式/领域适配 | 输出质量控制 |
| 时效性 | 实时更新 | 训练时固定 | 每次实时 |
| 成本 | 低 | 高 | 最低 |
| 幻觉 | 大幅降低 | 有所改善 | 无直接改善 |
| 数据安全 | 数据不出域 | 需要训练数据 | 安全(只改指令) |
| 适合场景 | 知识问答/文档检索 | 特定风格/领域任务 | 通用任务引导 |
选型口诀: 缺知识 → 用 RAG 缺风格 → 用 Fine-tune 缺规矩 → 写好 Prompt 三者可以叠加使用,不是互斥关系!
Agent vs Workflow vs Pipeline
| 维度 | Agent | Workflow | Pipeline |
|---|
| 决策者 | LLM 动态决策 | 预定义流程 | 固定步骤 |
| 灵活性 | 最高(每步都可能不同) | 中等(有条件分支) | 最低(线性) |
| 确定性 | 低(每次可能不同) | 中高 | 高(每次一样) |
| 调试难度 | 高(随机性大) | 中等 | 低(可复现) |
| 适用场景 | 开放式复杂任务 | 半结构化业务流 | 固定数据处理 |
什么时候用什么: 任务完全确定?→ Pipeline(最快最稳) 任务有固定流程但有分支?→ Workflow 任务开放、需要灵活应对?→ Agent 实际项目中往往是混合的: Pipeline 做数据处理(稳定部分)+ Workflow 编排业务流程(半结构化部分)+ Agent 处理不确定环节(灵活部分)
Context Window vs Memory vs Knowledge Base
| Context Window | Memory | Knowledge Base |
|---|
| 是什么 | 模型的单次输入上限 | 对话历史管理 | 企业/领域知识库 |
| 作用范围 | 当前这一次请求 | 当前/跨会话 | 全局共享 |
| 生命周期 | 请求结束就清空 | 可持久化 | 长期积累 |
| 类比 | 人的工作记忆(7±2) | 人的短期 + 长期记忆 | 人读过的所有书 |
| 容量限制 | 固定(如 128K tokens) | 弹性(取决于存储) | 取决于向量数据库规模 |
| 谁管理 | 用户/Prompt 工程 | 应用系统 | 运维/数据团队 |
Embedding vs Vector vs Feature
这三个词经常混用,其实含义不同: Embedding(嵌入): → 强调「从原始数据到低维表示的映射过程」 → 通常指神经网络输出的语义表示 → 如:「文本 Embedding」「图像 Embedding」 Vector(向量): → 强调「数学结构——一组有序数字」 → Embedding 的输出就是一个 Vector → 如:「1536维向量」「向量数据库」 Feature(特征): → 强调「数据的属性或表征」 → 更广义,可以是手工设计或自动学习的 → 如:「图像特征」「统计特征" 关系: Embedding 过程产出 Vector 作为 Feature 使用 Feature 可以来自 Embedding 也可以是其他方式提取
Token vs Word vs Character
| Token | Word | Character |
|---|
| 中文例子 | “你好” = 1~2 Token | “你好” = 1 个词 | “你好” = 2 字符 |
| 英文例子 | “hello” = 1 Token | “hello” = 1 词 | “hello” = 5 字符 |
| 代码例子 | “def” = 1 Token | “def” 不是一个完整词 | d/e/f = 3 字符 |
| 决定因素 | 分词器(BPE 等) | 语言规则 | 编码(UTF-8) |
| 用途 | LLM 的基本单位 | NLP 分析 | 字符串操作 |
❌ 常见误区
- ❌ 这些概念是完全独立的 — 它们在不同层面互相影响(如 Token 数量直接影响 Context Window 管理)
- ❌ 必须选一个 — 大多数系统会同时用到多个概念(如 RAG 系统:Context + Memory + Knowledge Base 三者并用)
- ❌ 搞清楚这些只是为了考试 — 选错架构会导致整个项目走弯路