AI智能体应用开发 鲍亮崔江涛李倩范涛 清华大学出版社【行情 报价 价格 评测】-京东
《AI智能体应用开发》1~6章试读-CSDN博客
除了OpenAI /v1/chat/completions接口外,还有一些其他的工具生态,它们实际上也可以以某种形式转换为7.4节描述的工具协议。在本节将介绍两种生态,分别是MCP[13]和Claude Skills[14]。
7.5.1 MCP
MCP(Model Context Protocol)是由Anthropic于2024年末推出的一项开放标准,旨在成为AI应用领域的“USB接口”。在传统的集成方式中,开发者需要为每个数据源(如Google Drive、Slack、本地数据库)编写特有的连接代码;而MCP提供了一个通用的通信协议,使得AI模型可以无缝地切换和访问各种外部上下文。
[wy1] [wy2]
图7-4 MCP架构
1. 核心架构
MCP采用了典型的客户端-服务器(Client-Server)架构,包含以下三个关键角色。
- MCP Host:运行AI模型的宿主环境(如Claude Desktop、IDE或自定义的智能体应用)。
- MCP Client:宿主内部的组件,负责与各种服务器建立连接。
- MCP Server:轻量级程序,负责暴露特定工具(Tools)或数据(Resources)。
2. 三大原语(Primitives)
MCP将外部能力抽象为以下三种核心形式。
- Resources(资源):类似于“读取”操作。它允许模型访问静态数据,如本地文件、数据库记录或API文档。
- Tools(工具):类似于“执行”操作。这是对7.4节函数调用的升级,支持更复杂的双向交互和状态变更。
- Prompts(提示模板):服务器可以提供预设的指令模板,帮助模型更好地理解如何使用该服务器提供的数据。
3. 与OpenAI协议的关系
虽然MCP的底层使用JSON-RPC 2.0进行通信,但它的设计初衷是高度兼容的。开发者可以通过中间层轻松地将MCP Server工具转换为OpenAI/v1/chat/completions接口所需的tools列表格式,从而让仅支持OpenAI协议的模型也能享受到MCP社区丰富的插件。
7.5.2 Claude Skills
在AI助手不断演进的技术版图中,Claude Agent Skills(代理技能)代表了一项基础性的架构创新。它将一个通用型大语言模型转化为一个能够高效、模块化地执行复杂上下文任务的专业化系统。
与传统的提示工程(Prompt Engineering)不同,后者需要在每一次交互中反复嵌入指令,而Claude的Skills机制引入了结构化、可复用、基于文件系统的能力模块,使系统能够按需加载与执行。
每个Skill由三部分构成:SKILL.md(主要指令文件,必需)、scripts/(可执行代码,可选)、reference/(参考资源,可选)。
Claude Agent Skills的架构本质上是一种基于文件系统的能力模块化设计。每一个Skill都以独立目录的形式存在于Claude的虚拟文件系统中,通过SKILL.md文件向模型声明其名称、用途和适用场景。这种设计将“模型本身的语言能力”与“具体任务能力”解耦,使Claude能够像加载插件一样扩展自身功能,而无须在每次交互中重复注入大量指令性提示。
在此基础上,Claude引入了分层加载机制来控制上下文成本。Skill的内容并非一次性进入模型上下文,而是按照“元数据-指令-资源”的层级逐步暴露:元数据在系统启动时即被读取,用于能力发现;当某个Skill被实际需要时,其核心指令才会被加载进上下文;而更大体量的参考资料或可执行脚本,则仅在被明确引用时才从文件系统中读取或执行。这种渐进式加载方式使模型在保持能力丰富度的同时,避免上下文窗口被无关信息占用。
动态加载与触发逻辑是Skills架构的关键运行机制。Claude在处理用户请求时,会基于已加载的Skill元数据对任务意图进行匹配,一旦识别出合适的Skill,便从文件系统中按需加载对应的指令内容,并在必要时调用相关资源或脚本执行。整个过程遵循“先识别、再加载、再执行”的顺序,使Claude能够在不牺牲推理空间的前提下,完成结构化、可复用且可组合的复杂任务流程。