Phase 5 / Ep 23: Plugin vs Skill —— 何时用 Plugin?
🎯 学习目标:清晰区分 Plugin 和 Skill 的使用场景。
1. 核心区别
graph LR
subgraph Skill["🧩 Skill"]
direction TB
S1["📄 Markdown 声明式"]
S2["💰 消耗 Token"]
S3["🔄 每次对话加载"]
S4["📦 注入上下文"]
end
subgraph Plugin["🔌 Plugin"]
direction TB
P1["⚙️ 独立可执行进程"]
P2["🆓 不消耗 Token"]
P3["🏃 常驻运行"]
P4["🔗 消息管道中间件"]
end2. 对比表
| 维度 | 🧩 Skill | 🔌 Plugin |
|---|---|---|
| 运行方式 | 注入 LLM 上下文 | 独立进程 |
| Token 消耗 | ✅ 每次加载 | ❌ 零消耗 |
| 语言 | Markdown + Shell | 任何语言(Node/Python/Go/Rust) |
| 适用场景 | 能力声明、知识注入 | 消息过滤、数据处理、中间件 |
| 性能 | 受上下文窗口限制 | 无限制 |
| 开发难度 | ⭐ 低 | ⭐⭐⭐ 中高 |
3. 选择决策树
graph TD
A["我需要扩展 Agent 能力"] --> B{"需要 LLM 理解指令?"}
B -->|"是"| C{"代码量大/计算重?"}
C -->|"否"| D["✅ 用 Skill"]
C -->|"是"| E["🔌 用 Plugin\n+\n🧩 用 Skill 做声明"]
B -->|"否"| F{"需要拦截/过滤消息?"}
F -->|"是"| G["🔌 用 Plugin"]
F -->|"否"| H["🔌 用 Plugin"]4. 典型场景
| 场景 | 推荐方案 | 理由 |
|---|---|---|
| 教 Agent 查天气 | Skill | 轻量指令 + API 调用 |
| 所有消息记日志 | Plugin | 不需要 AI 参与,纯管道 |
| 敏感词过滤 | Plugin | 消息拦截,零 Token |
| 代码审查 | Skill | 需要 AI 理解代码 |
| 消息翻译(前处理) | Plugin | 在 AI 处理前翻译 |
下节预告: Ep 24,Plugin 管道架构——理解消息在 Plugin 管道中的"洋葱模型"流转。