关键要点
- 从 OpenAI 的函数调用到模型上下文协议(MCP),技术发展似乎主要集中在标准化和扩展功能上。
- 研究表明,这包括从专有方法转向开放标准,促进 AI 模型与外部系统的互操作性。
- 证据倾向于表明,MCP 提供了更全面的功能,如工具、资源和提示,超越了函数调用的局限。
概述
从 OpenAI 的函数调用到模型上下文协议(MCP),技术发展反映了 AI 模型与外部系统交互方式的演进。以下是主要方面的详细解释,适合普通读者理解。
什么是 OpenAI 的函数调用?
OpenAI 的函数调用是其 API 的一部分,允许 AI 模型根据用户输入生成函数调用。这些调用由开发者处理,用于连接模型与外部工具或服务,例如天气 API 或数据库查询。它于 2023 年 6 月引入,基于 gpt-3.5-turbo-0613 模型。
什么是模型上下文协议(MCP)?
MCP 是 Anthropic 于 2024 年 11 月提出的开放标准,旨在连接 AI 助手与外部数据源,如内容库、业务工具和开发环境。其目标是帮助前沿模型提供更相关、更准确的响应。MCP 包括工具(模型可调用的函数)、资源(数据源)和提示(指导模型行为的预定义消息)。
技术发展的关键点
- 标准化:从 OpenAI 的专有函数调用,发展到 MCP 的开放标准,促进了不同 AI 提供商之间的协作和互操作性。
- 功能扩展:MCP 不仅支持函数调用,还包括数据访问和提示管理,使其更全面。例如,MCP 可用于 SQLite 数据库交互,而函数调用主要专注于生成函数调用。
- 架构改进:MCP 采用客户端-服务器架构,增强了模块化和可扩展性,相比之下,函数调用更集成在 OpenAI 的 API 生态系统中。
- 社区驱动:作为开放标准,MCP 鼓励社区贡献,推动创新和更广泛的采用。
一个意想不到的细节
MCP 的发展不仅限于技术进步,还涉及政策和社区协作的推动,例如欧盟 AI 法案等监管框架可能间接影响了标准化需求。
详细报告
以下是关于从 OpenAI 的函数调用到 MCP 技术发展的全面分析,旨在像专业文章一样详细记录所有相关信息。
背景与时间线
研究表明,OpenAI 的函数调用功能于 2023 年 6 月引入,基于 gpt-3.5-turbo-0613 模型。这允许 AI 模型生成函数调用,开发者可据此调用外部工具,如天气 API 或数据库查询。相比之下,Anthropic 于 2024 年 11 月 24 日推出了模型上下文协议(MCP),这是一个开放标准,旨在连接 AI 助手与外部数据源和工具。
时间范围为 2023 年 6 月至 2024 年 11 月,期间 AI 技术经历了显著发展,包括新模型发布和功能增强。
技术发展的具体内容
证据倾向于表明,从函数调用到 MCP 的发展包括以下几个方面:
-
标准化与开放性
- 最初,OpenAI 的函数调用是其 API 的专有功能,限制了与其他 AI 提供商的互操作性。MCP 的引入则是一个开放标准,旨在统一 AI 模型与外部系统的交互方式。例如,MCP 支持多种模型如 OpenAI、Google Gemini 和 Meta Llama 3.3 70B,通过客户端-服务器架构实现统一访问。
- 这促进了社区协作,鼓励开发者贡献工具和资源服务器,推动创新。例如,GitHub 上有多个 MCP 客户端项目,如 mcp-openai,支持本地推理引擎如 vLLM 和 Llama.cpp。
-
功能扩展与全面性
- 函数调用主要专注于模型生成函数调用,开发者需手动处理这些调用。而 MCP 提供了更全面的功能,包括:
- 工具:模型可调用的函数,如搜索天气或执行 SQL 查询。
- 资源:数据源如文件、数据库或 API,例如通过 MCP 服务器访问 SQLite 数据库。
- 提示:预定义消息,指导模型行为,如系统提示优化。
- 这使 MCP 更适合构建复杂工作流和安全代理。例如,MCP 可用于自然语言接口与 MySQL 数据库交互,而函数调用更多用于特定任务如电子邮件生成。
- 函数调用主要专注于模型生成函数调用,开发者需手动处理这些调用。而 MCP 提供了更全面的功能,包括:
-
架构与可扩展性
- MCP 采用客户端-服务器架构,AI 代理作为客户端,与提供工具和资源的服务器通信。这与函数调用的集成式 API 设计形成对比。例如,MCP 服务器可远程运行,支持动态扩展,而函数调用依赖 OpenAI 的 API 生态系统。
- 这种架构增强了模块化,例如,MCP 服务器可为不同模型提供统一接口,支持远程服务器和认证(仍在开发中)。
-
安全性和隐私
- MCP 的标准化协议允许定义更好的安全措施,如认证和授权。例如,MCP 服务器可实现企业级安全,保护数据隐私,这在函数调用中依赖开发者自行实现。
- 这对大规模部署尤为重要,例如在医疗或金融领域,需确保数据安全。
-
社区驱动与创新
- 作为开放标准,MCP 鼓励社区贡献,如 GitHub 上的 MCP 服务器项目,支持 Bitrefill API 或文档提取。这些项目扩展了 MCP 的应用场景,如生成图像或管理 Xano 数据库。
- 相比之下,函数调用的创新更多依赖 OpenAI 的更新,如 GPT-4 Turbo 或 Assistants API 的发布。
相关 AI 技术进展
从 2023 年 6 月到 2024 年 11 月,AI 领域还有其他相关进展,可能间接支持了 MCP 的发展:
- 新模型发布:如 GPT-4 Turbo(2023 年 8 月)、Gemini(2023 年 12 月)、Claude 3(2024 年 5 月),这些模型增强了工具使用和多模态能力。
- 多模态能力:如 GPT-4 Turbo with Vision(2024 年 1 月),支持图像输入,可能影响模型与外部系统的交互。
- 检索增强生成(RAG):MCP 的资源组件与 RAG 类似,允许模型访问外部知识库,提供更准确的响应。
- AI 代理发展:AI 代理的兴起需要标准化协议,MCP 正好填补这一需求,例如通过工具调用执行任务。
对比分析
以下表格详细对比函数调用和 MCP 的关键差异:
| 特征 | OpenAI 的函数调用 | 模型上下文协议(MCP) |
|---|---|---|
| 定义 | AI 模型生成函数调用,开发者处理执行 | 开放标准,连接 AI 模型与外部数据源和工具 |
| 架构 | 集成在 OpenAI API 中,基于 JSON Schema | 客户端-服务器架构,支持工具、资源和提示 |
| 组件 | 主要为工具调用,依赖开发者实现 | 包括工具、资源(如数据库)和提示 |
| 示例使用 | 用于天气查询或电子邮件生成 | 用于 SQLite 数据库交互或文档提取 |
| 安全与隐私 | 依赖开发者实现,安全性有限 | 支持企业级安全,如认证(开发中) |
| 社区支持 | 依赖 OpenAI 生态系统 | 开放标准,鼓励社区贡献,如 GitHub 项目 |
意想不到的细节
一个意想不到的细节是,MCP 的发展不仅受技术驱动,还受到政策和社区需求的推动。例如,欧盟 AI 法案等监管框架可能间接促进了标准化需求,而社区项目如 mcp-openai 的出现展示了开发者对开放标准的热情。
结论
从 OpenAI 的函数调用到 MCP,技术发展体现了从专有到开放、从单一功能到全面系统的演进。这不仅提升了 AI 模型的实用性,还为未来 AI 代理和复杂工作流的开发奠定了基础。