Handbook · 第 7 章
工具调用与 MCP:Agent 的手脚
从 Function Calling 到 MCP,让 Agent 与真实世界连接
章节大纲
7.1 为什么 Agent 需要工具
- LLM 是纯文本生成器,无法操作外部世界
- 工具 = Agent 的“手脚”
- 有工具的 Agent 才叫 Agent
7.2 Function Calling
- OpenAI 首创,各家跟进
- JSON Schema 描述工具
- 模型输出结构化调用意图
- 应用层执行并返回结果
7.3 Function Calling 的最佳实践
- 工具描述要精准(Agent 靠这个选工具)
- 参数用 enum 而非自由字符串
- 返回结果控制大小
- 错误信息给 Agent 看得懂的
7.4 MCP:Model Context Protocol
- Anthropic 2024 年底提出
- 统一“工具”和“资源”的协议
- 类比:USB-C 之于电子设备
- 一次开发,多端复用
7.5 MCP 的架构
- MCP Server:提供工具/资源
- MCP Client:Agent 一侧
- Transport:stdio / SSE / HTTP
- 官方 SDK:Python / TypeScript
7.6 主流 Agent 平台的 MCP 支持
- Claude Desktop:官方
- Cursor:一线支持
- OpenClaw:Skills 生态
- Codex CLI
7.7 实操:写一个自己的 MCP Server
- 场景:查询个人 Notion 笔记
- 从 stdio 到 HTTP 的选择
- 权限设计
- 调试技巧
7.8 MCP vs Function Calling vs 传统 API
- 三者的边界
- 什么时候用哪个
- 未来演进方向
本章为大纲版本,正文待补充。