是什么让 OpenAI 和 Anthropic 这两个 AI 助手市场的竞争对手走到一起?尽管由于在发展方向上的根本分歧,Anthropic 的创始人在 2020 年离开 OpenAI 并后来创建了 Claude AI 助手,但一个共同的技术难题现在却让他们携手合作:如何让他们的 AI 模型轻松连接外部数据源。
解决方案来自 Anthropic,该公司在 2024 年 11 月开发并发布了一个名为模型上下文协议 (MCP) 的开放规范。MCP 建立了一个免版税协议,允许 AI 模型与外部数据源和服务连接,无需为每个服务开发独特的集成方案。
Anthropic 在 MCP 文档中写道:"可以把 MCP 想象成 AI 应用的 USB-C 接口。"这个类比虽然不完美,但它表达了这样一个理念:就像 USB-C 统一了各种线缆和接口 (尽管其成功程度仍有争议),MCP 旨在标准化 AI 模型与周围信息环境的连接方式。
到目前为止,MCP 也获得了多家科技公司的关注,这在跨平台合作中实属罕见。例如,Microsoft 已将 MCP 集成到其 Azure OpenAI 服务中,而如上所述,Anthropic 的竞争对手 OpenAI 也加入其中。上周,OpenAI 在其 Agents API 文档中承认了 MCP,并获得了高层的大力支持。
OpenAI 首席执行官 Sam Altman 上周三在 X 平台上写道:"人们喜欢 MCP,我们很高兴能在我们的产品中添加支持。"
近几个月来,MCP 也开始迅速获得社区支持。例如,仅浏览 GitHub 上分享的超过 300 个开源服务器列表,就能发现人们对标准化 AI 工具连接的兴趣日益增长。这些实现涵盖了各个领域,包括 PostgreSQL、MySQL 和向量数据库等数据库连接器;与 Git 仓库和代码编辑器集成的开发工具;用于各种存储平台的文件系统访问;用于文档和网站的知识检索系统;以及针对金融、医疗保健和创意应用的专业工具。
其他值得注意的例子包括将 AI 模型连接到家庭自动化系统、实时天气数据、电子商务平台和音乐流媒体服务的服务器。一些实现允许 AI 助手与游戏引擎、3D 建模软件和物联网设备交互。
什么是"上下文"?
要充分理解为什么需要一个用于外部数据源的通用 AI 标准,你需要了解在 AI 领域中"上下文"的含义。
在当前的 AI 模型架构中,AI 模型对世界的"认知"是以基本不可更改的形式烙印在其神经网络中的,这些认知是通过一个称为"预训练"的初始程序放置的,该程序计算大量输入数据 (训练数据——如书籍、文章和图像) 之间的统计关系,并将其作为称为"权重"的数值输入到网络中。随后,一个称为"微调"的过程可能会调整这些权重以改变行为 (例如通过 RLHF 等强化学习) 或提供新概念的示例。
通常,训练阶段在计算上非常昂贵,对于基础模型来说可能只进行一次,或者在定期模型更新和微调时不频繁地进行。这意味着 AI 模型只具有在训练数据集最终确定时的"截止日期"之前事件的内部神经网络表示。
之后,AI 模型以一种称为"推理"的只读模式运行,用户将输入输入神经网络以产生输出,这些输出被称为"预测"。之所以称为预测,是因为系统被调整为预测用户提供序列中最可能出现的下一个 token (数据块,如单词的部分)。
在 AI 领域,上下文是用户提供的序列——输入到 AI 模型中的所有数据,这些数据引导模型产生响应输出。这个上下文包括用户的输入 ("提示")、运行中的对话历史 (在聊天机器人的情况下),以及任何引入对话的外部信息源,包括定义模型行为的"系统提示"和记忆过去对话部分的"记忆"系统。模型一次可以摄入的上下文数量限制通常被称为"上下文窗口"、"上下文长度"或"上下文限制",具体取决于个人偏好。
虽然提示为模型提供了重要的操作信息,但访问外部信息源传统上一直很麻烦。在 MCP 之前,像 ChatGPT 和 Claude 这样的 AI 助手可以访问外部数据 (这个过程通常被称为检索增强生成,或 RAG),但这需要为每个服务进行自定义集成——插件、API 和专有连接器,这些在不同的 AI 模型之间无法通用。每个新的数据源都需要独特的代码,这造成了维护挑战和兼容性问题。
MCP 通过提供一种标准化方法或规则集 ("协议"),解决了这些问题,使任何支持的 AI 模型框架都能与外部工具和信息源连接。
MCP 如何工作?
为了在 AI 模型和数据源之间建立幕后连接,MCP 使用客户端-服务器模型。AI 模型 (或其主机应用程序) 作为 MCP 客户端,连接到一个或多个 MCP 服务器。每个服务器提供对特定资源或功能的访问,如数据库、搜索引擎或文件系统。当 AI 需要超出其训练数据的信息时,它会向适当的服务器发送请求,服务器执行操作并返回结果。
为了说明客户端-服务器模型在实践中如何工作,考虑一个使用 MCP 的客户支持聊天机器人,它可以从公司数据库实时检查发货详情。"订单 #12345 的状态如何?"会触发 AI 查询订单数据库 MCP 服务器,服务器会查找信息并将其传回模型。然后模型可以将该数据整合到其响应中:"您的订单于 3 月 30 日发货,预计 4 月 2 日送达。"
除了客户支持这样的具体用例外,潜在范围非常广泛。早期开发者已经为 Google Drive、Slack、GitHub 和 Postgres 数据库等服务构建了 MCP 服务器。这意味着 AI 助手可以通过标准接口搜索公司 Drive 中的文档、查看最近的 Slack 消息、检查仓库中的代码或分析数据库中的数据。
从技术实现角度来看,Anthropic 通过两种主要模式运行来设计标准以实现灵活性:一些 MCP 服务器在与客户端相同的机器上本地运行 (通过标准输入输出流进行通信),而其他服务器则远程运行并通过 HTTP 流式传输响应。在这两种情况下,模型都使用可用工具列表并根据需要调用它们。
进行中的工作
尽管 MCP 周围的生态系统不断发展,但该协议仍处于早期阶段。主要公司有限的支持声明是很有希望的第一步,但 MCP 作为行业标准的未来可能取决于更广泛的接受度,尽管 MCP 服务器的数量似乎在快速增长。
无论其最终采用率如何,MCP 可能会产生一些有趣的二阶效应。例如,MCP 也有可能减少供应商锁定。由于该协议与模型无关,公司可以从一个 AI 提供商切换到另一个提供商,同时保持相同的工具和数据连接完整。
MCP 还可能允许向更小、更高效的 AI 系统转变,这些系统可以更流畅地与外部资源交互,而无需自定义微调。此外,公司可能能够使用具有大上下文窗口的较小模型,而不是构建包含所有知识的越来越庞大的模型。
目前,MCP 的未来充满可能。Anthropic 在 GitHub 上将 MCP 作为开源计划维护,感兴趣的开发者可以为代码做出贡献或找到关于其工作原理的规范。Anthropic 还提供了关于如何将 Claude 连接到各种服务的详细文档。OpenAI 在其网站上维护着自己的 MCP API 文档。
本文链接:http://www.xihao.site/showinfo-1-72191.htmlMCP:让竞争对手携手合作的 AI 界"USB-C"标准