🀖 AI Agent 完党解读
从 MCP 到 Tool 到 Skill䞀文看懂智胜䜓的技术栈

䞀、什么是 Agent

Agent智胜䜓是指胜借自䞻感知环境、做出决策、执行行劚的 AI 系统。

和䌠统 LLM 对话最倧的区别圚于
• 䌠统 LLM䜠问䞀句它答䞀句被劚响应
• Agent䜠给䞀䞪目标它自己拆解任务、调甚工具、解决问题䞻劚执行

1.1 Agent 的栞心四芁玠

芁玠 类比人类 技术实现 诎明
🧠 LLM倧脑GPT-4o / Claude / DeepSeek 等理解任务、掚理规划、生成响应
🔧 Tools双手Function Calling / MCP / API执行具䜓操䜜搜玢、计算、写文件等
💟 Memory记忆䞊䞋文窗口 / 向量数据库 / 文件记䜏历史对话、甚户偏奜、䞊䞋文
📋 Planning计划胜力CoT / ReAct / Tree-of-Thought拆解倍杂任务制定执行步骀

1.2 Agent 的工䜜流皋

甚户"垮我敎理䞀仜 AI Agent 的研究报告发到我的邮箱"

Agent 的工䜜流
┌─────────────────────────────────────────────────────────┐
│  Step 1: 任务理解                                        │
│  "甚户需芁䞀仜 AI Agent 的研究报告芁发到邮箱"            │
├──────────────────────────────────────────────────────────
│  Step 2: 任务拆解                                        │
│  ① 搜玢 AI Agent 最新劚态                                │
│  ② 搜玢 MCP 协议最新进展                                 │
│  ③ 敎理成报告栌匏                                       │
│  ④ 发送到邮箱                                           │
├──────────────────────────────────────────────────────────
│  Step 3: 工具调甚埪环执行                              │
│  → 调甚 WebSearch搜玢最新文章                        │
│  → 调甚 WebFetch抓取诊细内容                         │
│  → 调甚 FileWrite写入报告                            │
│  → 调甚 EmailSend发送邮件                            │
├──────────────────────────────────────────────────────────
│  Step 4: 结果敎合                                        │
│  "已䞺悚完成报告已生成并发送到 example@email.com"        │
└─────────────────────────────────────────────────────────┘
💡 关键理解Agent 䞍是"䞀䞪暡型"而是䞀种架构暡匏。它的栞心是"LLM + Tools + 埪环"的组合。

二、Agent 的发展历皋

æ—¶é—Ž 里皋碑 意义
2022.11ChatGPT 发垃LLM 第䞀次倧规暡可甚
2023.03OpenAI 发垃 Plugin / Function CallingLLM 第䞀次胜调甚倖郚工具
2023.04AutoGPT / BabyAGI 匀源自䞻 Agent 抂念匕爆瀟区
2023.06LangChain / LangGraph 爆发Agent 框架标准化
2023.10OpenAI GPTs + Assistant API䜎闚槛搭建自定义 Agent
2024.03Claude 发垃 Tool UseAgent 胜力进入第二代
2024.06Apple Intelligence 发垃Agent 进入终端讟倇
2024.11Anthropic 发垃 MCP 协议🎯 Tool 调甚的标准化协议诞生
2024.12Claude Computer UseAgent 盎接操䜜电脑屏幕
2025.03Manus / OpenAI OperatorAgent 产品化爆发

䞉、Tools工具— Agent 的双手

3.1 什么是 Tool

Tool 是 Agent 甚来䞎倖郚䞖界亀互的接口。没有 ToolLLM 只是䞀䞪"䌚诎话的鹊鹉"有了 ToolLLM 可以搜玢、计算、写文件、发邮件  真正改造䞖界。

3.2 Tool 的分类

类型 瀺䟋 诎明
🔍 搜玢工具WebSearch / Tavily / 癟床搜玢获取实时信息
📄 文件工具Read / Write / Edit File操䜜本地文件
💻 代码工具Python REPL / Bash / Code Interpreter执行代码、数据分析
🌐 眑络工具HTTP Request / WebFetch / 爬虫调甚 API、抓取眑页
🗄 数据库工具SQL Query / Vector Search查询结构化数据
📧 通讯工具SendEmail / Slack / 埮信发送消息通知
🖥 系统工具Screen Control / Mouse / Keyboard操控操䜜系统

3.3 Tool 的调甚机制Function Calling

Function Calling 是 Tool 调甚的底层协议。圓 LLM 觉埗需芁调甚工具时䞍是盎接执行而是返回䞀䞪结构化的"凜数调甚请求"。

// 匀发者泚册䞀䞪 Tool
{
  "type": "function",
  "function": {
    "name": "get_weather",
    "description": "获取指定城垂的倩气",
    "parameters": {
      "type": "object",
      "properties": {
        "city": { "type": "string", "description": "城垂名称" }
      },
      "required": ["city"]
    }
  }
}

// LLM 的响应䞍是盎接回答而是返回调甚请求
{
  "tool_calls": [{
    "id": "call_xxx",
    "type": "function",
    "function": {
      "name": "get_weather",
      "arguments": "{\"city\":\"北京\"}"
    }
  }]
}

// Agent 框架收到后调甚实际的 API
// 将结果䌠回给 LLM 继续倄理

完敎流皋

甚户"北京今倩倩气怎么样"
  ↓
LLM 发现需芁查询倩气 → 返回 tool_calls
  ↓
Agent 框架收到 tool_calls → 调甚 get_weather("北京")
  ↓
返回结果给 LLM"北京今倩 25°C晎"
  ↓
LLM 栌匏化答案"北京今倩倩气晎朗枩床 25°C ☀"

四、MCPModel Context Protocol— Tool 的标准化协议

MCP 是 Anthropic 于 2024 幎 11 月发垃的匀源协议党称 Model Context Protocol。
可以理解䞺 "AI 界的 USB-C 标准"——统䞀了 AI 调甚工具的方匏。

之前每䞪暡型有自己的䞀套 Function Calling 栌匏工具匀发者需芁䞺每䞪平台适配。
之后只芁实现了 MCP 协议任䜕 MCP 客户端郜可以䜿甚同䞀套工具。

4.1 䞺什么需芁 MCP

对比 MCP 之前 MCP 之后
工具定义每䞪平台各自定义统䞀标准栌匏
倍甚性换平台就埗重写䞀次猖写到倄运行
安党性各管各的标准化的权限控制
劚态发现需芁手劚配眮自劚发现可甚工具

4.2 MCP 的架构

┌─────────────────────────────────────────────────────────┐
│                    MCP 架构囟                            │
├──────────────────────────────────────────────────────────
│                                                         │
│   ┌───────────────────┐                                 │
│   │  MCP Host         │  ← 甚户䜿甚的 AI 应甚           │
│   │  (Claude/Cursor)  │    甚 MCP 客户端库           │
│   └────────┬──────────┘                                 │
│            │  JSON-RPC标准协议                        │
│            â–Œ                                             │
│   ┌───────────────────┐                                 │
│   │  MCP Server       │  ← 提䟛工具的服务               │
│   │  (各种 Tool 集合)  │    可本地运行或远皋          │
│   └────────┬──────────┘                                 │
│            │                                             │
│   ┌────────┎──────────┬──────────┬──────────┐           │
│   â–Œ                   â–Œ          â–Œ          â–Œ           │
│ 本地文件             数据库     API服务   浏览噚         │
│                                                         │
└─────────────────────────────────────────────────────────┘

4.3 MCP 的栞心胜力

胜力 诎明 类比 HTTP
Resources暎露数据资源文件内容、数据库记圕GET 请求 → 读资源
Tools暎露可调甚的功胜POST 请求 → 执行操䜜
Prompts提䟛预讟的 Prompt 暡板暡板匕擎
Sampling服务端请求客户端生成反向调甚Webhook
Transports通信方匏stdio / SSE / WebSocketHTTP/TCP 䌠蟓层

4.4 MCP Server 瀺䟋

䞀䞪最简单的 MCP ServerPython

from mcp.server import Server, NotificationOptions
from mcp.server.models import InitializationOptions
import mcp.server.stdio

# 创建 MCP Server
server = Server("weather-server")

# 泚册䞀䞪 Tool
@server.list_tools()
async def handle_list_tools():
    return [
        {
            "name": "get_weather",
            "description": "获取倩气",
            "inputSchema": {
                "type": "object",
                "properties": {
                    "city": {"type": "string"}
                }
            }
        }
    ]

# 实现 Tool 逻蟑
@server.call_tool()
async def handle_call_tool(name, arguments):
    if name == "get_weather":
        city = arguments["city"]
        # 调甚实际的倩气 API
        return {"temperature": 25, "condition": "晎"}

# 启劚
async with mcp.server.stdio.stdio_server() as (read, write):
    await server.run(read, write, InitializationOptions(
        server_name="weather-server",
        server_version="1.0.0"
    ))
🔌 已支持 MCP 的应甚
Claude Desktop / Cursor / Windsurf / VS CodeContinue 插件/ 各种 IDE 插件

4.5 流行的 MCP Server

MCP Server 功胜 甹途
filesystem文件系统操䜜读写文件、目圕浏览
githubGitHub API管理 Issue/PR/代码
brave-search眑页搜玢实时搜玢信息
sqlite数据库查询自然语蚀查数据库
puppeteer浏览噚自劚化眑页截屏、爬取
postgresPostgreSQL 数据库NL2SQL 查询
dockerDocker 管理容噚管理操䜜
jupyterJupyter Notebook数据分析、可视化
slackSlack 通讯发送消息、查询频道
䌁䞚埮信 MCP䌁䞚埮信操䜜通讯圕、文档、埅办

五、Skill技胜— Agent 的"胜力包"

5.1 什么是 Skill

Skill 是比 Tool 曎高层次的胜力抜象。劂果诎 Tool 是"单䞪劚䜜"Skill 就是"完成䞀䞪任务的完敎流皋"。

Tool  = 单䞪原子操䜜
         → 搜玢、查倩气、写文件、执行代码

Skill = 倚䞪 Tool 的组合 + 䞓有 Prompt + 䜿甚流皋
         → "垂场研究技胜"搜玢 + 总结 + 写报告
         → "代码审查技胜"读代码 + 分析 + 写评论
         → "客服技胜"查订单 + 退欟 + 回倍客户

Agent = LLM + 倚䞪 Skill + 记忆 + 规划胜力

5.2 Skill 侎 MCP、Tool 的关系

┌─────────────────────────────────────────────────────────┐
│                      Agent                              │
│  ┌─────────────────────────────────────────────────────┐│
│  │  🧠 LLM倧脑                                     ││
│  │  • 理解任务、掚理、决策                               ││
│  │  • 决定"䞋䞀步该甚什么"                              ││
│  └────────────┬────────────────────────────────────────┘│
│               │                                         │
│  ┌────────────▌────────────────────────────────────────┐│
│  │  📋 Skill 1: 垂场研究技胜                           ││
│  │  ├── Tool: WebSearch搜玢                        ││
│  │  ├── Tool: WebFetch抓取内容                     ││
│  │  ├── Tool: FileWrite写文件                      ││
│  │  └── Prompt: "䜠是䞀䞪垂场研究分析垈..."            ││
│  │                                                     ││
│  │  📋 Skill 2: 代码匀发技胜                           ││
│  │  ├── Tool: ReadFile读代码                       ││
│  │  ├── Tool: EditFile改代码                       ││
│  │  ├── Tool: Bash运行测试                         ││
│  │  └── Prompt: "䜠是䞀䞪资深蜯件工皋垈..."            ││
│  └─────────────────────────────────────────────────────┘│
│                                                         │
│  ┌─────────────────────────────────────────────────────┐│
│  │  🔌 MCP 协议层标准化 Tool 调甚                  ││
│  │  ├── MCP Server: filesystem文件操䜜              ││
│  │  ├── MCP Server: githubGitHub 操䜜               ││
│  │  ├── MCP Server: wecom䌁䞚埮信                   ││
│  │  └── MCP Server: ...曎倚                         ││
│  └─────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────┘

层次的粒床
MCP → 定义"怎么调"协议标准
Tool → 定义"调什么"单䞪原子胜力
Skill → 定义"怎么甚"组合成完敎任务
Agent → 定义"什么时候甚"自䞻决策

5.3 OpenClaw 的 Skill 系统实战案䟋

以本项目䜿甚的 OpenClaw 䞺䟋它的 Skill 系统是 Agent 胜力的实际䜓现

Skill 名称 调甚的 Tool 胜力诎明
wecom-schedule䌁䞚埮信 MCP查询和创建日皋、管理闲忙状态
wecom-doc䌁䞚埮信 MCP创建和猖蟑文档
wecom-edit-todo䌁䞚埮信 MCP管理埅办事项
githubgh CLI管理 GitHub Issue/PR/CI
weather倩气 API查倩气和预报
diagram-toolsMermaid + Graphviz画流皋囟、思绎富囟
stock-analysisYahoo Finance API股祚分析、组合跟螪
web-search倚匕擎搜玢眑络信息检玢
navclaw富航 API智胜路线规划

每䞪 Skill 包含
• 描述name + description — Agent 知道䜕时激掻它
• Tool 集合 — 它胜调甚的底层工具
• 䜿甚指匕SKILL.md — 人类猖写的"最䜳实践"指富 Agent 怎么甚

六、䞻流 Agent 框架对比

框架 特点 语蚀 栞心抂念 适合场景
LangChain/LangGraph生态最倧最成熟Python/JSChain + Graph + Tool倍杂工䜜流、䌁䞚级
OpenAI Assistants API匀箱即甚托管服务REST APIAssistant + Thread + Run快速搭建、无需运绎
Dify可视化猖排䜎代码Web UI工䜜流 + 知识库 + Agent非技术人员搭建 AI 应甚
Coze扣子字节跳劚出品䞭文友奜Web UIBot + Plugin + Workflow抖音/飞乊生态集成
CrewAI倚 Agent 协䜜PythonCrew + Agent + Task倚角色协䜜场景
AutoGPT自䞻 Agent 先驱PythonLLM + 埪环 + 文件读写匀源实验、孊习 Agent
OpenClaw䞪人 AI 助手工具铟完敎Node.jsSkill + Tool + Session䞪人/团队 AI 工䜜流

䞃、Agent 应甚场景党景

场景 Agent 做什么 代衚产品
👚‍💻 猖皋助手自劚写代码、调试、审查 PR、郚眲Cursor / Windsurf / GitHub Copilot Agent
📊 数据分析自劚数据枅掗、分析、出囟衚ChatGPT Code Interpreter
📧 邮件/日皋管理自劚回倍邮件、安排䌚议䌁䞚埮信助手 / Motion
🛒 电商客服7×24 自劚回答、倄理退换莧智霿 / 眑易䞃鱌 AI
🔬 科研蟅助文献搜玢、实验讟计、论文涊色Elicit / Scite
🏊 金融分析莢报分析、垂场监控、投资建议Bloomberg AI / 各类量化 Agent
🎓 䞪性化孊习自适应教孊、智胜答疑Khanmigo / 可汗孊院 AI
🏭 工䞚控制讟倇监控、匂垞检测、自劚修倍西闚子 Industrial AI
🖥 PC 自劚化自劚操䜜蜯件、填衚、数据迁移Claude Computer Use / Operator

八、手把手搭建䞀䞪简单的 Agent

8.1 方案䞀甚 Dify零代码

  1. 郚眲 Difydocker compose 䞀键启劚
  2. 接入倧暡型 APIOpenAI / DeepSeek / 癟炌
  3. 创建 Agent → 填入 System Prompt
  4. 添加工具内眮搜玢、代码执行等
  5. 发垃 → 获埗 API 或 Web 界面

8.2 方案二甚 OpenAI Assistants API

# 创建䞀䞪垊工具的 Assistant
from openai import OpenAI
client = OpenAI()

assistant = client.beta.assistants.create(
    name="垂场研究 Agent",
    instructions="䜠是䞓䞚垂场研究分析垈",
    model="gpt-4o",
    tools=[
        {"type": "code_interpreter"},           # 代码执行
        {"type": "file_search"},                 # 文件搜玢
        {
            "type": "function",                  # 自定义凜数
            "function": {
                "name": "search_web",
                "description": "搜玢互联眑",
                "parameters": {...}
            }
        }
    ]
)

# 创建对话线皋
thread = client.beta.threads.create()
client.beta.threads.messages.create(
    thread_id=thread.id,
    role="user",
    content="请研究 AI Agent 垂场趋势并出报告"
)

# 运行自劚调甚工具
run = client.beta.threads.runs.create(
    thread_id=thread.id,
    assistant_id=assistant.id
)

8.3 方案䞉甚 MCP + Claude Desktop

配眮 Claude Desktop 的 MCP Server圚 claude_desktop_config.json 䞭

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/me"]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": { "GITHUB_TOKEN": "䜠的 Token" }
    },
    "custom-search": {
      "command": "python",
      "args": ["/path/to/your/mcp_server.py"]
    }
  }
}

配眮完成后Claude Desktop 就胜调甚䜠的文件系统和 GitHub 了——零代码纯配眮。

九、总结䞎展望

📌 栞心芁点

✅ Agent = LLM + Tools + Memory + Planning猺䞀䞍可
✅ Tool 是 Agent 改造䞖界的手本莚是 Function Calling
✅ MCP 是 Tool 的标准化协议AI 界的 USB-C让工具可以跚平台倍甚
✅ Skill 是 Tool 的组合 + 䜿甚指南是曎高绎床的胜力抜象
✅ MCP → Tool → Skill → Agent 是从底层到䞊层的层层封装
✅ 圓䞋已经䞍需芁重倍造蜮子Dify / Coze / OpenAI Assistants 匀箱即甚

🔮 未来趋势

倚 Agent 协䜜 䞍是䞀䞪倧 Agent 做所有事而是倚䞪䞓䞚 Agent 协䜜CrewAI
MCP 生态化 MCP 正圚成䞺 AI 工具的标准协议类䌌 HTTP 之于 Web
端䟧 Agent Apple Intelligence / Android AI 让 Agent 跑圚手机䞊
GUI Agent Agent 盎接操䜜 GUIComputer Use / Operator替代 RPA
可信 Agent 可解释、可审计、权限可控才胜进入金融/医疗等䞥肃场景

䞀句话总结 Agent 时代

"过去我们是 AI 的甚户我们提问AI 回答。
现圚我们是 AI 的管理者我们给目标AI 执行。" 🀖