- 文档
- 教程
- AI Agent
- 人工智能
【免费下载链接】Agentic-Design-Patterns
Agentic Design Patterns
如果你想知道MCP协议(Model Context Protocol)到底是什么,不妨先把它想象成一个"万能转接头":它让 AI Agent 不再需要为每个工具、每套数据库单独写集成代码,就能即插即用地接入外部系统。开源项目Agentic Design Patterns(Agentic 设计模式全书)在第 10 章专门讲透了这一协议,是理解 Agent 如何接入工具生态的权威指南。本文用通俗的语言带你 5 分钟读懂 MCP 的核心概念、与 Function Calling 的区别,以及它真实的落地场景。
🔌 一图看懂 MCP 协议架构
MCP 采用客户端-服务器架构:MCP 客户端(通常是你的 Agent 宿主应用)负责发现并连接 MCP 服务器;而每个 MCP 服务器就像一个"能力网关",把工具(Tools)、API、遗留服务、数据库等外部能力打包暴露给 Agent 使用。
图:MCP 协议中 Agent 通过 MCP Server 访问工具、API 与数据服务的标准路径(源自 Chapter 10: Model Context Protocol (MCP)-1e6XimYczKmhX9zpqEyxLFWPQgGuG0brp7Hic2sFl_qw.md#L297-L301))
⚡ 三大积木:Tools、Resources 与 Prompts
MCP 服务器向外暴露的内容分为三类,理解它们是掌握 MCP 协议的关键:
| 组件 | 本质 | 例子 |
|---|---|---|
| 📦Resources(资源) | 静态数据 | PDF 文件、数据库记录 |
| 🔧Tools(工具) | 可执行函数 | 发送邮件、调用 API、查询数据库 |
| 💬Prompts(提示模板) | 交互模板 | 指导 LLM 如何结构化地使用某个工具 |
一个直观的协作流程是:发现 → 请求 → 执行 → 回填上下文。MCP 客户端先向服务器询问"你有哪些能力",LLM 决定调用哪个工具后,请求被标准化地转发给服务器执行,结果再回填给 LLM 继续下一步任务。
Agent 通过 MCP 可以调用的工具类型非常丰富,包括记忆、数据库、网页搜索、地图、聊天,甚至"把其他 Agent 当作工具":
图:Agent 通过多步工具调用接入记忆、数据库、网页搜索、地图等多种工具(可参考 Chapter 5: Tool Use (Function Calling)-1bE4iMljhppqGY1p48gQWtZvk6MfRuJRCiba1yRykGNE.md))
🥊 MCP 协议 vs Function Calling:一张表讲清区别
很多新手会混淆MCP和工具函数调用(Function Calling),它们都扩展 LLM 能力,但抽象层次完全不同:
| 维度 | Function Calling | MCP 协议 |
|---|---|---|
| 标准化 | 各厂商私有、格式不一 | 开放标准、跨模型通用 |
| 交互模式 | 一对一直接请求 | 客户端-服务器,可连接多个工具服务器 |
| 工具发现 | 需在对话中预先告知 | 动态发现,随时查询新能力 |
| 复用性 | 与具体应用强绑定 | MCP 服务器独立可复用 |
书里有个绝妙的比喻:Function Calling 像是给 AI 一套定制扳手和螺丝刀,适合固定任务的车间;MCP 则像标准化电源插座系统,任何厂商的合规模具都能插上去用,让"车间"不断扩张。
图:A2A(Agent 间通信)与 MCP 协议的分工对比——MCP 连接工具,A2A 连接 Agent(源自 Chapter 15: Inter-Agent Communication (A2A)-1H6HmUYcy5kugt5gt7Kh2Zzb8C62d5pu36RsgMNDCX24.md#L179-L185))
📈 MCP 在 AI 系统演进中的位置
从纯 LLM 到 RAG,再到 Agentic AI,MCP 是让 Agent"长出手脚"的关键一环。下图展示了四代系统形态的演进——只有到 Agentic AI 阶段,记忆、推理、工具调用、人机协作才被完整串联起来:
图:LLM → RAG → Agentic RAG → Agentic AI 的能力演进路径
🎯 MCP 协议的 9 大实战场景
书中列举了 MCP 打开能力边界的典型用途,覆盖从个人效率到企业级自动化:
- 数据库集成:用自然语言查询 BigQuery 等数据集,实时生成报表
- 外部 API 调用:获取天气、股价、发邮件、操作 CRM 系统
- 生成式媒体编排:调用图像(Imagen)、视频(Veo)、语音、音乐生成服务
- 复杂工作流编排:查客户数据 → 生成营销图 → 起草并发送邮件,一站式完成
- IoT 设备控制:用自然语言指挥智能家电与工业传感器
- 金融服务自动化:分析行情、执行交易、自动化合规报告
- 定制化内部工具:把企业私有的遗留系统"包一层 MCP"即可接入 Agent 生态
- 推理式信息抽取:让 LLM 从长文档中精准抽取答案,而非返回整篇文档
- 标准化通信层:不同 LLM 提供商与应用之间即插即用地互通
实际产品中,这种"一键连接"的体验已经很常见——日历、邮件、Jira、Outlook 等第三方服务通过标准协议接入 Agent,正是 MCP 理念的落地:
🚀 快速上手:ADK + FastMCP 两步接入 MCP
如果你准备动手,Agentic Design Patterns 第 10 章给出了完整可运行的示例,核心只需两步:
- 创建 MCP 服务器:用 FastMCP(一个高层 Python 框架)几行代码就能把一个普通函数注册为 MCP 工具,它会自动解析函数的类型提示和文档字符串,生成 LLM 能理解的接口描述。
- 让 Agent 作为 MCP 客户端连接:在 Google ADK 中用
MCPToolset组件一行配置即可接入——本地服务器走 STDIO 传输(基于 JSON-RPC),远程服务器走 Streamable HTTP + SSE 传输。
Agent 的问题解决过程也因此变得标准化:接收任务 → 扫描环境 → 推理规划 → 调用 MCP 工具执行 → 学习改进,整个闭环清晰可控:
图:Agent 的五步问题解决流程,其中"Take Action"阶段依赖 MCP 等工具接入能力
⚠️ 书中特别提醒了一个容易被忽视的坑:MCP 只是"插座",不是"电器"。如果把一个笨重的遗留 API 原封不动地包上 MCP(比如只能逐条拉取工单详情),Agent 用起来依然又慢又不准。正确做法是让底层 API 先具备过滤、排序等确定性能力,并返回 Agent 能直接阅读的格式(如 Markdown 而非 PDF)。
✅ 决策指南:什么时候该上 MCP?
书中的经验法则(Rule of Thumb):
- ✅用 MCP:构建复杂、可扩展、企业级的 Agentic 系统,需要对接多样且持续演化的外部工具,且希望 Agent 能动态发现新能力、无需重新部署
- ✅用 Function Calling:简单应用,工具数量固定且有限
- 🔐无论哪种:都要考虑认证鉴权、错误处理、本地 vs 远程部署等安全与工程细节
📌 关键要点回顾
- MCP 是让 LLM 与外部系统通信的开放标准,采用客户端-服务器架构
- 三大核心概念:Tools(工具)、Resources(资源)、Prompts(提示模板)
- Function Calling 是"一对一"直连,MCP 是"生态级"互通,两者互补而非替代
- ADK 的
MCPToolset与 FastMCP 是两条最顺手的上手路径 - MCP 的价值上限取决于底层 API 的设计质量——连接只是起点,数据格式同样关键
想深入系统学习 Agent 设计模式?这份 424 页的开源全书覆盖 21 个核心模式,从提示链、路由到多智能体协作一应俱全,第 10 章的 MCP 完整原文见 Chapter_10-Model_Context_Protocol_(MCP)-1e6XimYczKmhX9zpqEyxLFWPQgGuG0brp7Hic2sFl_qw.md#L81-L287)。
- 文档
- 教程
- AI Agent
- 人工智能
【免费下载链接】Agentic-Design-Patterns
Agentic Design Patterns
相关推荐
DLSS Swapper 上手指南:三步切换游戏 DLSS 版本,随时一键回退
DLSS Swapper 上手指南:三步切换游戏 DLSS 版本,随时一键回退 游戏更新之后,帧率莫名下跌,画面还冒出没见过的伪影。你不想干等官方补丁,也不敢手
桌面应用什么是 AI Agent?为什么它们重要:从单次问答到自主工作系统的范式转变
什么是 AI Agent?为什么它们重要:从单次问答到自主工作系统的范式转变 作者:Addy Osmani (本文为 Datawhale vibe vibe 教
文档教程Vibe Coding示例工程OpenManus 中的 MCP(Model Context Protocol):为 Agent 动态接入外部工具的即插即用协议
OpenManus 中的 MCP(Model Context Protocol):为 Agent 动态接入外部工具的即插即用协议 本篇技术指南聚焦 OpenMa
人工智能AI 应用AI Agent
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考