MCP-Agent-Skill 核心三角
AI 开发工具的基石
MCP、Agent 和 Skill 是当代 AI 开发工具的核心概念。它们相互协作,共同构成了 AI 与开发者之间的桥梁。理解它们之间的关系,是掌握现代 AI 开发工具的关键。
┌─────────────────────────────────────────────────────────┐
│ Claude Code (你的 AI 伙伴) │
└─────────────────────────────────────────────────────────┘
│
┌─────────────────┼─────────────────┐
▼ ▼ ▼
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ Skill │ │ Agent │ │ Tool │
│ (扩展能力) │ │ (执行任务) │ │ (工具调用) │
└───────────────┘ └───────────────┘ └───────────────┘
│ │ │
└─────────────────┴─────────────────┘
│
▼
┌───────────────────┐
│ MCP │
│ (连接协议标准) │
└───────────────────┘
│
▼
┌───────────────────┐
│ 外部工具/数据源 │
│ (文件系统/Git/DB) │
└───────────────────┘MCP - Model Context Protocol
连接层协议MCP 是 Anthropic 推出的开放标准协议,定义了 AI 模型与外部世界交互的统一方式。它解决的问题是:每种工具都有不同的 API,AI 很难统一调用。MCP 就像是 AI 领域的"USB-C 接口",无论什么类型的设备,都能通过同一个标准连接。
MCP 是什么?
MCP 是一个通信协议,规定了 AI 如何: • 请求执行某个操作 • 获取外部数据 • 与本地应用程序交互
工作原理
1. MCP 客户端(Claude Code)发起请求 2. MCP 服务器接收请求 3. 服务器调用外部工具或 API 4. 结果返回给 AI 模型
配置示例
# MCP 服务器配置文件示例
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@anthropic-ai/mcp-filesystem"]
},
"git": {
"command": "npx",
"args": ["-y", "@anthropic-ai/mcp-git"]
}
}
}Agent - AI 代理
任务执行层Agent 是能够自主规划和执行复杂任务的 AI 系统。与简单的问答不同,Agent 可以:理解目标 → 制定计划 → 执行行动 → 评估结果 → 调整策略
核心能力
- • 理解复杂指令
- • 分解大任务为小步骤
- • 自主决策下一步做什么
- • 使用工具完成具体操作
- • 从执行结果中学习
使用示例
# 与 Claude Agent 对话示例 用户:帮我重构这个项目的错误处理 Claude Agent: 我会帮你重构错误处理。让我先分析现有的代码结构... 1. 扫描项目中的错误处理代码 2. 识别重复模式 3. 设计统一的错误处理方案 4. 逐个模块实施重构 5. 运行测试确保没有破坏现有功能 [Agent 自主执行上述所有步骤]
对比 GitHub Copilot
| 特性 | GitHub Copilot | Claude Agent | |------|---------------| | 交互方式 | 实时建议 | 对话式执行 | | 任务范围 | 单行/函数 | 复杂项目任务 | | 自主性 | 被动响应 | 主动规划执行 | | 上下文 | 当前文件 | 整个代码库 |
Skill - 技能扩展
能力增强层Skill 是扩展 Claude Code 能力的自定义模块。通过 Skill,你可以:定义常用命令、封装复杂工作流、添加领域知识
Skill 类型
• **Slash 命令**:如 /test, /refactor, /review • **自动化工作流**:如自动生成文档、批量重命名 • **专业知识**:如特定框架的最佳实践 • **模板生成**:如组件模板、测试模板
定义示例
# Skill 定义示例 (~/.claude/skills/custom-skill.md) --- name: my-custom-skill description: 自动生成组件文档 --- # 自定义 Skill 这个 Skill 会为 Vue 组件生成详细的文档。 ## 使用方式 在对话中输入 /docgen 即可调用。
使用方法
# 使用 Skill 1. 内置 Skill(如 /test, /lint) 2. 自定义 Skill(用户创建) 3. 项目特定 Skill(放在项目 .claude/skills/)
内置 Skill
Claude Code 内置的常用 Skill: • /test - 生成测试代码 • /explain - 解释代码 • /refactor - 重构代码 • /review - 代码审查 • /fix - 修复 Bug
三者的关系
MCP + Agent
MCP + Agent:Agent 通过 MCP 协议调用外部工具。例如:当 Agent 需要读写文件时,通过 MCP 文件系统服务器完成。
Agent + Skill
Agent + Skill:Skill 是 Agent 的"技能包"。当用户调用特定 Skill 时,Agent 会使用相应的提示模板和工作流。
Skill + MCP
Skill + MCP:Skill 可以封装复杂的 MCP 调用。例如:一个 "部署 Skill" 可能调用 MCP 的 Git + Docker + CLI 工具。
**MCP** 是底层协议,让 Agent 能与外部世界通信 **Agent** 是执行主体,根据用户需求规划并执行任务 **Skill** 是能力扩展,让特定任务更高效专业 三者层层递进,共同构成了现代 AI 开发工具的基础架构。