大模型原生支持 MCP——从模型指令到协议直通
一、当前MCP调用的实现方式在当前的MCP体系中Agent调用Skill的过程大致如下用户输入自然语言请求Agent将请求和Skill列表一起放入Prompt发送给大模型大模型理解请求决定需要调用哪个Skill并按照约定格式输出JSON调用指令Agent解析JSON构造MCP Action通过MCP客户端发送给网关网关执行策略、转发到SkillSkill返回结果Agent将结果再次发送给大模型让模型生成最终回复。这个过程可以工作但存在明显的效率问题。大模型输出JSON调用指令需要额外的token这些token不产生业务价值。JSON的格式冗余同样的信息用XML或原生函数调用格式可能更紧凑。Agent需要维护Skill列表和调用历史上下文可能快速增长。模型输出的JSON可能格式错误或不完整需要Agent做容错处理。更根本的问题是大模型对MCP协议本身没有感知。模型不知道什么是Action、Context、Permission。它只是被训练成输出特定格式的文本。这意味着模型无法利用MCP的语义信息来做出更好的决策。二、原生支持的含义大模型原生支持MCP意味着模型在训练和推理时将MCP协议作为一等公民。具体来说模型应该理解MCP的核心概念Action、Context、Permission、Skill、Result。模型能够直接生成结构化的Action而不是先输出JSON再被解析。模型能够理解Context中的信息如用户身份、会话状态、记忆。模型能够感知策略约束知道哪些操作是被允许的哪些是被禁止的。模型能够处理流式调用直接消费Skill返回的流式事件。原生支持可以带来巨大的收益。首先是效率提升减少token浪费降低延迟。其次是可靠性提升模型输出的Action直接是协议兼容的不需要额外的解析和验证。第三是能力增强模型可以利用MCP的语义信息做出更智能的决策。第四是简化Agent框架不需要复杂的Prompt工程来格式化输出。三、模型层的技术路径实现大模型原生支持MCP可以有几种技术路径。路径一微调在现有模型的基础上使用MCP相关的数据进行微调。训练数据包括自然语言请求和对应的MCP Action序列。模型通过微调学会将用户意图映射为MCP Action。这种方法不需要修改模型架构只需要准备高质量的训练数据。挑战是需要大量的标注数据且微调后的模型可能在其他任务上性能下降。路径二函数调用扩展OpenAI、Anthropic、Google等模型提供商已经支持函数调用功能。Agent可以声明一组可用的函数模型决定调用哪个函数以及传入什么参数。MCP Action可以自然地映射为函数调用格式。模型提供商可以将MCP协议作为内置的函数调用模式。这样Agent不需要在Prompt中描述Skill列表而是通过API参数传递。模型在响应中直接返回结构化的函数调用而不是文本。这种方法实现起来相对简单不需要修改模型只需要扩展API。模型提供商可以在服务端将MCP的Skill列表转换为函数调用定义。路径三协议层内置在模型的下一个版本中将MCP协议作为内置能力。模型原生理解Action、Context、Permission等概念。模型可以直接输出MCP协议的二进制表示而不是文本。这需要修改模型架构和训练目标。挑战是成本高、周期长但收益也最大。路径四适配器层在模型和Agent之间增加一个适配器层。适配器负责将模型的输出转换为MCP Action。适配器可以使用一个小模型或规则系统。这种方法的优点是模型不需要修改缺点是增加了复杂度和延迟。Peta正在探索多种路径并与模型提供商合作推动原生支持。四、原生支持对Agent框架的影响当大模型原生支持MCP后Agent框架的职责将发生变化。简化Prompt工程当前Agent框架需要在Prompt中包含大量关于Skill的描述、调用格式、示例。这些内容占用大量token且需要精心设计。原生支持后Agent只需要声明可用的Skill标识符模型内部已经知道这些Skill的语义和调用方式。Prompt大大简化。减少解析开销当前Agent需要解析模型输出的JSON处理各种格式错误。原生支持后模型直接输出结构化的ActionAgent不需要解析。容错逻辑大幅简化。更好的流式支持当前流式调用需要Agent同时处理模型输出的文本流和Skill返回的事件流。原生支持后模型可以直接消费Skill的事件流Agent只负责转发。这简化了Agent的实现。更强的上下文感知当前Agent需要手动维护Context并传递给模型。原生支持后模型可以直接从MCP Context中读取信息Agent不需要在Prompt中重复。五、对Skill生态的影响大模型原生支持MCP对Skill生态也是重大利好。模型感知的Skill发现模型可以根据当前任务动态推荐可用的Skill。用户不需要事先知道Skill的存在模型会主动提示。例如用户说“帮我分析这份数据”模型可以推荐“你可以使用数据分析Skill”。Skill的自描述能力Skill的规范可以直接作为模型的输入。模型能够理解Skill的输入输出格式、副作用、权限需求。这使得模型可以更智能地决定何时调用哪个Skill。模型辅助的Skill开发模型可以帮助开发者编写Skill。给定一个API规范模型可以生成Skill的代码框架和MCP接口定义。这可以显著降低Skill开发的入门门槛。六、Peta的角色Peta作为MCP控制平面的实现在大模型原生支持的演进中扮演着重要角色。标准化接口Peta推动MCP协议的标准化为大模型厂商提供稳定的接口定义。模型厂商可以根据Peta的实现来测试和验证原生支持。性能基准Peta提供了MCP调用的性能基准可以用于评估原生支持的效率提升。模型厂商可以根据这些基准优化实现。测试工具Peta提供了MCP协议合规性测试工具可以验证模型的原生支持是否正确实现了协议。这有助于确保不同厂商的实现之间互操作。开发者文档Peta为开发者提供了如何利用原生支持的文档和示例。当模型厂商推出原生支持后开发者可以快速上手。七、未来展望在未来的一到两年内我们可以期待以下进展。短期6-12个月模型提供商通过函数调用扩展支持MCP Action输出。Agent框架开始适配减少Prompt中的Skill描述。开发者可以体验更简洁的Agent开发体验。中期12-24个月模型开始原生理解Context能够自动利用用户身份、会话状态等信息。流式调用与模型输出流整合。Skill发现机制开始出现。长期24-36个月模型原生支持完整的MCP协议包括Action、Context、Permission、流式调用。Agent框架大幅简化接近于声明式配置。Skill生态爆发式增长模型成为Skill发现的入口。八、小结本章的核心结论可以总结为以下几点。第一当前MCP调用通过Prompt工程实现存在效率低、可靠性差、模型对协议无感知等问题。第二大模型原生支持MCP意味着模型理解Action、Context、Permission等核心概念能够直接生成结构化的调用。第三技术路径包括微调、函数调用扩展、协议层内置、适配器层。第四原生支持将简化Agent框架减少Prompt工程和解析开销增强上下文感知和流式处理。第五对Skill生态的影响包括模型感知的Skill发现、Skill的自描述能力、模型辅助的Skill开发。第六Peta在演进中扮演标准化接口、性能基准、测试工具、开发者文档等角色。第七未来一到三年内我们可以期待从函数调用扩展到完整协议原生支持的逐步演进。大模型原生支持MCP是Agent系统走向成熟的关键一步。它将使Agent开发从繁琐的Prompt工程中解放出来让开发者专注于业务逻辑。在下一章我们将讨论MCP与区块链的集成——不可否认的审计与智能合约Skill。

相关新闻