AI Agent 生态核心概念详解:Agent、MCP、Skill 与 JSON-RPC

AI Agent 生态核心概念详解:Agent、MCP、Skill 与 JSON-RPC

一、Agent(智能体)

1.1 什么是 Agent?

Agent(智能体) 是一个能够感知环境、自主决策并执行行动以实现目标的智能实体。

通俗理解

  • 传统 AI(如 ChatGPT):只会"说"的博学顾问
  • Agent:有"手和脚"的顾问,能订票、发邮件、查数据库

1.2 Agent 的核心特征

特征 说明
自主性 无需人类持续干预
感知能力 能接收文本、图像、传感器等环境信息
推理决策 能制定计划、分解任务、选择行动
行动执行 能调用工具、API、代码完成操作
目标导向 所有行动服务于特定目标

1.3 Agent 的核心组成架构┌─────────────────────────────────────────────────┐

│ Agent 系统 │

├─────────────────────────────────────────────────┤

│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌──────┐ │

│ │ 大脑 │ │ 感知 │ │ 规划 │ │ 行动 │ │

│ │ (LLM) │──│ 模块 │──│ 模块 │──│ 模块 │ │

│ └─────────┘ └─────────┘ └─────────┘ └──────┘ │

│ ↑ ↑ ↑ ↑ │

│ └────────────┴────────────┴───────────┘ │

│ 协同工作 │

└─────────────────────────────────────────────────┘

各模块职责

  • 大脑(LLM):核心推理引擎,负责理解、规划、决策
  • 感知模块:接收用户输入、环境反馈、工具返回结果
  • 规划模块:将复杂任务分解为步骤,形成执行计划
  • 行动模块:调用工具(API、代码、数据库、浏览器等)

1.4 Agent 的典型工作流程

用户目标 → 感知 → 规划(任务分解)→ 调用工具行动 → 观察结果 → 重新规划(循环)→ 最终输出

示例:求职 Agent 完成"找到匹配的AI岗位并申请"

  1. 读取用户简历(感知)
  2. 规划:搜索→筛选→排序→生成申请信→发送
  3. 调用 LinkedIn 搜索 API
  4. 分析职位描述匹配度
  5. 调用 LLM 生成定制申请信
  6. 调用邮件 API 发送
  7. 汇报结果

1.5 Agent 的类型

类型 特点 示例
单任务 Agent 完成一个明确任务 "总结这份PDF"
多步推理 Agent 分解复杂任务逐步执行 "分析销售数据并生成报告"
ReAct 模式 Agent 推理(Reasoning)+行动(Acting)交替循环 边做边想的自动客服
多 Agent 系统 多个专门 Agent 协作 规划Agent+执行Agent+检查Agent
自主 Agent 长期运行,持续监控环境 自动交易机器人

二、MCP(模型上下文协议)

2.1 什么是 MCP?

MCP(Model Context Protocol) 是 Anthropic 推出的开源标准协议,目的是统一 AI 与外部工具的连接方式

一句话类比 :MCP 之于 AI,就像 USB-C 之于电脑

2.2 MCP 解决的核心问题

痛点 具体表现 MCP 解决方案
碎片化 每个模型的工具调用格式不同 统一协议标准
高耦合 工具逻辑与模型代码深度绑定 解耦,独立维护
上下文丢失 多轮调用时状态管理复杂 标准化上下文传递

价值:将 M×N 的集成问题(M个模型 × N个工具 = M×N个连接器)简化为 M+N 个适配器。

2.3 MCP 的核心架构

┌─────────────────────────────────────────────────────────────┐

│ 应用主机 (Host) │

│ ┌─────────────────────────────────────────────────────┐ │

│ │ 客户端 (Client) │ │

│ └─────────────────────────────────────────────────────┘ │

└─────────────────────────────┬───────────────────────────────┘

┌───────────────────┼───────────────────┐

↓ ↓ ↓

┌──────────┐ ┌──────────┐ ┌──────────┐

│ Server │ │ Server │ │ Server │

│ (本地) │ │ (数据库) │ │ (云端API)│

└──────────┘ └──────────┘ └──────────┘

三个核心角色

角色 职责 类比
主机 Host 承载AI应用的容器 电脑本身
客户端 Client 建立连接、标准化请求、安全认证 USB接口
服务器 Server 暴露具体工具能力 鼠标/U盘等外设

2.4 MCP 的工作流程

用户:"查一下北京今天的天气"

【主机 Host】接收用户请求

【客户端 Client】分析意图,生成标准化工具调用请求

{

"tool_name": "get_weather",

"parameters": {"city": "北京", "unit": "celsius"}

}

【服务器 Server】路由到对应工具,执行天气API调用

服务器返回结果

主机将结果呈现给用户:"北京今天25°C,晴天"

2.5 MCP vs Agent 的关系

维度 MCP Agent
角色定位 标准化连接器 智能决策中枢
核心职能 "如何安全调用工具" "做什么、用什么工具、怎么做"
类比 USB接口标准 操作系统
解决什么 工具集成的碎片化问题 复杂任务的规划、执行、反思

黄金组合

用户目标 → AI Agent(决策中枢)→ MCP网关(标准化调用)→ 工具池

↑ ↑

做什么、为什么 如何安全地做


三、Skill(技能)

3.1 什么是 Skill?

Skill(技能) 是 Claude 的一种可复用能力包 ------它是一个包含指令、脚本和资源的文件夹,Claude 在需要相关任务时动态加载,从而在特定领域表现得像专家一样。

一句话类比 :Skill 之于 Claude,就像 "岗位操作手册"之于新员工

3.2 Skill 解决的核心问题

痛点 具体表现 Skill 解决方案
重复解释 每次都要重新说明格式规范 把规范打包成Skill,永久生效
质量不稳定 同任务不同时间效果差异大 用标准化指令固化流程
知识流失 最佳实践无法跨对话复用 Skill 是跨对话持久化资产
复杂任务难执行 纯文字指令无法精确操作 Skill 可附带脚本执行精确操作

3.3 Skill 的目录结构

my-skill/ ← 技能根目录

├── SKILL.md ← 【必需】技能的核心指令文件

├── reference.md ← 【可选】参考文档

├── examples.md ← 【可选】使用示例

├── scripts/ ← 【可选】可执行脚本

│ └── helper.py

└── templates/ ← 【可选】模板文件

└── template.docx

3.4 SKILL.md 的结构

c 复制代码
name: 品牌指南                    # 技能名称(≤64字符)
description: 应用公司品牌规范到所有演示文稿和文档
version: 1.0.0                  # 可选,版本号
dependencies:                   # 可选,依赖包
  - python>=3.8

3.5 渐进披露架构(省上下文的关键)

第一层:元数据扫描

↓ (仅加载 ~100 tokens)

Claude 读取所有 Skill 的 name + description,快速判断哪些相关

↓ (发现相关Skill)

第二层:核心指令加载

↓ (加载完整SKILL.md,约5k tokens)

Claude 读取详细的执行步骤和规范

↓ (需要执行精确操作)

第三层:脚本/资源按需加载

Claude 调用 scripts/ 中的代码执行具体任务

3.6 Skill vs MCP vs Prompt vs Project

维度 Skill MCP Prompt Project
本质 流程+经验的说明书 外部系统的连接器 临时的对话指令 持续的知识环境
回答的问题 "怎么做好这件事?" "怎么连接外部系统?" "现在要做什么?" "需要知道什么背景?"
生命周期 跨对话持久化 会话级连接 单次对话即丢失 项目级持续
是否自动 自动按需加载 显式调用 手动输入 始终加载

协作示例:基于CRM数据生成销售报告

  • MCP:连接到 Salesforce/CRM,拉取原始数据

  • Skill:教 Claude 如何分析数据------"先做同比环比、再做品类排名"

  • Prompt:你临时说的"把数字保留两位小数"

  • Project:存放公司产品信息和历史销售数据的知识库

四、JSON-RPC 2.0 协议

4.1 什么是 JSON-RPC?

JSON-RPC 2.0 是一个轻量级的远程过程调用协议 ,使用 JSON 作为数据格式。核心思想:让你像调用本地函数一样调用远程服务

4.2 核心概念对比

方式 本质 代码示例
传统 HTTP API 发送请求,告诉服务器"做什么" POST /getUser + {"id": 123}
JSON-RPC 调用函数,告诉服务器"执行哪个方法" {"method": "getUser", "params": [123]}

4.3 请求格式

一个 JSON-RPC 请求包含以下字段:

json

{

"jsonrpc": "2.0", // 固定,协议版本

"method": "subtract", // 要调用的方法名

"params": 42, 23, // 参数(可以是数组或对象)

"id": 1 // 请求ID,用于匹配响应

}

参数两种形式

  • 按位置"params": [42, 23](数组)

  • 按名称"params": {"minuend": 42, "subtrahend": 23}(对象)

4.4 响应格式

成功响应

json

{

"jsonrpc": "2.0",

"result": 19, // 执行结果

"id": 1 // 对应请求的ID

}

错误响应

json

{

"jsonrpc": "2.0",

"error": {

"code": -32601, // 错误码

"message": "Method not found",

"data": null

},

"id": 1

}

4.5 通知(Notification)

通知是一种不需要响应 的请求,没有 id 字段:

json

{

"jsonrpc": "2.0",

"method": "log_message",

"params": "User logged in"

}

// 服务器不会返回任何响应

4.6 标准错误码

错误码 含义 说明
-32700 Parse error JSON 格式无效
-32600 Invalid Request 请求对象无效
-32601 Method not found 方法不存在
-32602 Invalid params 参数无效
-32603 Internal error 内部错误
-32000 ~ -32099 Server error 服务器自定义错误

4.7 JSON-RPC 的优势

特点 说明
极简 只需 6 个字段,没有任何冗余
语言无关 JSON 通用,任何语言都可实现
传输无关 可跑在 HTTP、WebSocket、stdio 等任何通道上
批量调用 一次发送多个请求,减少网络往返
异步通知 无需等待响应的场景更高效

4.8 在 MCP 中的应用

MCP 协议基于 JSON-RPC 2.0 构建,以下是 MCP 中的典型消息:

客户端列出工具

json

{

"jsonrpc": "2.0",

"method": "tools/list",

"id": 1

}

服务器返回工具列表

json

{

"jsonrpc": "2.0",

"result": {

"tools": [{

"name": "get_weather",

"description": "查询天气",

"inputSchema": {...}

}]

},

"id": 1

}

调用工具

json

{

"jsonrpc": "2.0",

"method": "tools/call",

"params": {

"name": "get_weather",

"arguments": {"city": "Beijing"}

},

"id": 2

}

4.9 MCP 对 JSON-RPC 的扩展

MCP 在 JSON-RPC 2.0 基础上增加了:

  • 标准化方法名initializetools/listtools/call

  • 能力协商:客户端/服务器在初始化时声明支持哪些功能

  • 流式响应:通过 JSON-RPC 的通知机制实现 Server-Sent Events


五、四者关系全景图

text

┌─────────────────────────────────────────────────────────────────┐

│ 应用层 │

│ ┌───────────────────────────────────────────────────────────┐ │

│ │ Agent (智能体) │ │

│ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────────┐ │ │

│ │ │ 大脑 │ │ 感知 │ │ 规划 │ │ Skill 执行 │ │ │

│ │ │ (LLM) │ │ 模块 │ │ 模块 │ │ │ │ │

│ │ └────┬────┘ └────┬────┘ └────┬────┘ └──────┬──────┘ │ │

│ │ └────────────┴────────────┴──────────────┘ │ │

│ └───────────────────────────┬───────────────────────────────┘ │

│ │ │

│ ┌───────────────────────────┴───────────────────────────────┐ │

│ │ MCP 协议层 │ │

│ │ (基于 JSON-RPC 2.0 的标准化通信) │ │

│ └───────────────────────────┬───────────────────────────────┘ │

│ │ │

│ ┌───────────────────────────┴───────────────────────────────┐ │

│ │ 工具层 │ │

│ │ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │ │

│ │ │GitHub │ │ 数据库 │ │ Slack │ │ 文件 │ │ 其他 │ │ │

│ │ │Server │ │ Server │ │ Server │ │ Server │ │ Server │ │ │

│ │ └────────┘ └────────┘ └────────┘ └────────┘ └────────┘ │ │

│ └────────────────────────────────────────────────────────────┘ │

└─────────────────────────────────────────────────────────────────┘


六、总结对比表

概念 核心职责 关键特征 典型应用
Agent 智能决策与执行 自主性、规划能力、工具调用 自动客服、代码生成、数据分析
MCP 标准化工具连接 统一协议、解耦、安全 AI 连接数据库、API、本地文件
Skill 可复用能力包 按需加载、跨对话持久、带脚本 品牌规范、报告生成、文档处理
JSON-RPC 轻量级 RPC 协议 极简、语言无关、传输无关 MCP 底层协议、微服务通信

一句话总结

  • Agent 是大脑,负责思考与决策

  • MCP 是神经系统,负责连接身体各部位

  • Skill 是肌肉记忆,让特定动作做得又快又好

  • JSON-RPC 是神经信号格式,让通信标准化

相关推荐
想你依然心痛1 小时前
HarmonyOS 6(API 23)实战:基于悬浮导航、沉浸光感与HMAF的“航界智脑“——PC端AI智能体沉浸式无人机集群任务规划与空域协同管理工作台
人工智能·ar·无人机·harmonyos·智能体
是小崔啊1 小时前
AI-常见的AI概念
人工智能
Debroon1 小时前
偶像1:自我定义 + 价值创造 + 承担代价 + 目标坚定
人工智能
DS随心转小程序1 小时前
ChatGPT和Gemini输出乱码怎么解决?借助AI导出鸭高效处理
人工智能·ai·chatgpt·豆包·deepseek·ai导出鸭
Super Scraper1 小时前
如何将赋予千问(Qwen Code)网络检索功能:集成MCP服务器
人工智能·爬虫·ai·自动化·千问·mcp·qwen code
花伤情犹在1 小时前
2026 AI Agent 工具全景:执行层、编排层与 IDE 层的分工与选型
ide·人工智能
道友可好1 小时前
Superpowers:给 AI 编程助手装上超能力
前端·人工智能·后端
庞白OS1 小时前
一次ds对话
大数据·人工智能
一抹烟霞1 小时前
# 视频隐空间基础
人工智能·音视频