个人随笔
目录
Agent学习(14): Skill和MCP区别
2026-02-28 21:38:50

核心定位(一句话区分)

  • MCP(Model Context Protocol):解决「连接」问题,让 AI 能访问外部世界

  • Skill(Agent Skill):解决「方法论」问题,教 AI 怎么做某类任务

类比:MCP 是 AI 的「手」(触碰外部),Skill 是 AI 的「技能书」(知道怎么做),二者需配合使用。

Anthropic 官方定义:”MCP connects Claude to external services and data sources. Skills provide procedural knowledge—instructions for how to complete specific tasks or workflows.”

一、MCP:AI 应用的 USB-C 接口

1. 什么是 MCP

MCP 是 Anthropic 2024 年 11 月发布的「开源协议」,用于标准化 AI 应用与外部系统的交互方式,类比为「AI 应用的 USB-C 接口」,提供通用连接方式。

关键:非 Claude 专属,是开放协议,多个平台已采用:

  • Anthropic:Claude Desktop、Claude Code

  • OpenAI:ChatGPT、Agents SDK、Responses API

  • Google:Gemini SDK;Microsoft:Azure AI Services

  • 开发工具:Zed、Replit、Codeium、Sourcegraph

截至 2025 年 2 月,已有超过 1000 个开源 MCP 连接器。

2. MCP 的架构

基于「JSON-RPC 2.0」协议,采用「客户端-主机-服务器」(Client-Host-Server)架构:

  • Host:用户直接交互的应用(如 Claude Desktop、Cursor)

  • Client:Host 中管理与特定 Server 通信的组件

  • Server:连接外部系统的桥梁(数据库、API、本地文件等)

3. MCP 的三个核心原语

  1. Tools(工具)—— 模型控制:可执行函数,AI 决定何时调用(如查询数据库的 query_database 函数)。

  2. Resources(资源)—— 应用控制:数据源,应用控制加载时机,用户可通过 @ 引用(如本地文件)。

  3. Prompts(提示)—— 用户控制:预定义提示模板,用户显式触发(类似 Slash Command)。

4. MCP 与 Function Calling 的关系

  • Function Calling:LLM 的能力,将自然语言转为结构化函数调用请求(只决定「调用什么」,不执行)。

  • MCP:Function Calling 之上的「协议层」,标准化「函数在哪里、怎么调用、怎么发现」(解决「怎么做到」)。

流程:用户输入 → LLM(Function Calling)→ 确定需调用的工具 → MCP 协议 → MCP Server 执行 → 返回结果给 LLM。

5. MCP 的传输方式

传输方式 适用场景 说明
Stdio 本地进程 Server 在本地运行,适合系统级访问工具
HTTP/SSE 远程服务 Server 在远程运行,适合云服务(GitHub、Sentry 等)

6. MCP 的代价与价值

代价

  • Token 消耗大:工具定义占用大量上下文窗口,可能导致幻觉。

  • 需维护连接:Server 故障、网络中断、认证过期会影响 AI 能力。

  • 安全风险:第三方 MCP Server 可能存在安全隐患,有 prompt injection 风险。

价值

标准化和可复用性:一次实现、到处使用;动态发现工具;不依赖特定 LLM 提供商。

二、Skill:上下文工程的渐进式公开

1. 什么是 Skill

Skill(Agent Skill)是 Anthropic 2025 年 10 月发布的特性,官方定义:”Skills are organized folders of instructions, scripts, and resources that agents can discover and load dynamically to perform better at specific tasks.”

核心区别:Skill 属于「提示/知识层」,MCP 属于「集成层」,解决不同层面问题。

2. 核心设计:渐进式信息公开

类比为「组织良好的手册」,分三层加载(目录 → 章节 → 附录),仅加载当前任务需要的信息,大幅提升上下文效率,理论上可包含无限知识(无需一次性加载)。

核心背景:基于 Anthropic 的「上下文工程」(Context Engineering)理念——管理上下文窗口信息,让每个 Token 发挥最大价值(区别于 Prompt Engineering:仅关注提示词写法)。

3. Skill 的触发机制

自动触发(区别于 Slash Command),流程:

  1. 扫描阶段:Claude 读取所有 Skill 的元数据(名称 + 描述)。

  2. 匹配阶段:将用户请求与 Skill 描述进行语义匹配。

  3. 加载阶段:匹配成功则加载完整 SKILL.md。

  4. 执行阶段:按指令执行任务,按需加载支持文件。

本质:元工具(Meta-tool),不直接执行动作,而是注入指令到对话历史,修改 Claude 执行环境。

4. Skill 的文件结构(标准格式)

plain text my-skill/ ├── SKILL.md # 必需:元数据 + 主要指令(核心) ├── reference.md # 可选:详细参考文档 ├── examples.md # 可选:使用示例 ├── scripts/ │ └── helper.py # 可选:可执行脚本 └── templates/ └── template.txt # 可选:模板文件

SKILL.md 必需包含 YAML 元数据(name:唯一标识;description:描述能力、触发场景,决定触发准确性)。

5. Skill 的安全考虑与平台支持

安全风险

存在 Prompt Injection 风险:恶意 Skill 可能隐藏恶意指令,窃取敏感数据。

应对措施:使用可信来源 Skill、审查脚本、用 allowed-tools 限制能力范围。

平台支持

目前为 Anthropic 生态专属,支持:Claude.ai(全版本)、Claude Code、Claude Agent SDK、Claude Developer Platform。

三、MCP vs Skill 详细对比

维度 MCP Skill
核心作用 连接外部系统 编码专业知识和方法论
架构层级 集成层 提示/知识层
协议基础 JSON-RPC 2.0 文件系统 + Markdown
跨平台 是(开放协议,多平台支持) 否(Anthropic 生态专属)
触发方式 持久连接,随时可用 基于描述的语义匹配,自动触发
Token 消耗 高(工具定义持久占用上下文) 低(渐进式加载)
外部访问 可以直接访问外部系统 不能直接访问,需配合 MCP 或内置工具
复杂度 高(需理解协议、运行 Server) 低(写 Markdown 即可)
可复用性 高(标准化协议,跨应用复用) 中(文件夹,可 Git 共享)
动态发现 是(运行时发现可用工具) 是(运行时发现可用 Skill)
安全考虑 外部内容带来 prompt injection 风险 Skill 文件本身可能包含恶意指令

四、使用场景区分

用 MCP 的场景

  • 需要访问外部数据(数据库、API、文件系统)

  • 需要操作外部系统(创建 GitHub Issue、发送 Slack 消息)

  • 需要实时信息(监控系统、查看日志、搜索引擎结果)

  • 需要跨平台复用工具

用 Skill 的场景

  • 重复性工作流程(代码审查、文档生成、数据分析)

  • 公司内部规范(代码风格、提交规范、文档格式)

  • 多步骤复杂任务(需详细指导的专业任务)

  • 团队共享最佳实践(标准化操作流程)

  • Token 敏感场景(需大量知识但不想占用上下文)

结合使用示例

用户:”Review PR #456 并按照团队规范给出建议”

  1. MCP(GitHub)获取 PR 信息

  2. Skill(团队代码审查规范)提供审查方法论

  3. Claude 按 Skill 指令分析代码

  4. MCP(GitHub)提交评论

五、写好 Skill 的关键

核心:description 写法

  • 差的描述:宽泛(如 “Helps with data”)

  • 好的描述:包含「做什么」「什么时候用」「触发词」

官方最佳实践

  • 保持专注:一个 Skill 做一件事

  • SKILL.md 控制在 500 行以内,过长拆分到支持文件

  • 测试触发行为,避免误触发

  • 版本控制,记录变更历史

六、补充:Slash Command 与 Skill 区别

维度 Slash Command Skill
触发方式 用户显式输入 /命令 Claude 自动匹配
用户控制 完全控制何时触发 无法控制,Claude 决定

判断标准:用户是否需要显式控制触发时机 → 需要则用 Slash Command,否则用 Skill。

七、总结

MCP 和 Skill 是 AI Agent 扩展的两种不同哲学,非替代关系,而是互补关系

维度 MCP Skill
哲学 连接主义 知识打包
核心问题 “AI 能访问什么?” “AI 知道怎么做什么?”
层级 集成层 知识层
Token 策略 预加载所有能力 按需加载知识

核心口诀:「MCP connects AI to data; Skills teach AI what to do with that data.」(MCP 让 AI 碰到数据,Skill 教 AI 处理数据)。

 1

啊!这个可能是世界上最丑的留言输入框功能~


当然,也是最丑的留言列表

有疑问发邮件到 : suibibk@qq.com 侵权立删
Copyright : 个人随笔   备案号 : 粤ICP备18099399号-2