AI 圈最让人头秃的不是技术难懂,而是长得像的概念太多。「Skill 和 MCP 啥关系?」「Workflow 和 Agent 怎么区分?」这篇专门解决这些「脸盲」问题,一张表说清楚。
📑 目录
- [Skill vs MCP vs Plugin:能力封装的三种路](#Skill vs MCP vs Plugin:能力封装的三种路)
- [RAG vs Fine-tuning vs Prompt Engineering](#RAG vs Fine-tuning vs Prompt Engineering)
- [Agent vs Workflow vs Pipeline](#Agent vs Workflow vs Pipeline)
- [Context Window vs Memory vs Knowledge Base](#Context Window vs Memory vs Knowledge Base)
- [Embedding vs Vector vs Feature](#Embedding vs Vector vs Feature)
- [Token vs Word vs Character](#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 三者并用)
- ❌ 搞清楚这些只是为了考试 --- 选错架构会导致整个项目走弯路