这是“一口气讲清楚”系列的第五篇文章。
前面几篇文章中,我介绍了AI大模型领域常见的几种专业术语,分别是:AGI、RAG、AIGC、LLM、MCP、EMB、向量库、训练集、多模态。了解基础概念和专业术语之后,有助于我们在工作和生活中深入学习和应用AI。
这个时候,可能有同学会产生疑问,这么多大模型、ChatBot、智能体等AI工具,我该如何将它们融入到自己的生活和工作场景中呢?别急,这篇文章,解答你的疑惑。
过去在IT互联网技术领域,一个APP背后的技术架构,有web层、server层、中间件、数据库和底层的操作系统,看起来很复杂。后来大家逐渐形成了较为统一的标准,即通过API接口将不同层级之间串联起来,最终才能形成一个能提供完善服务的APP应用。
在AI领域,现在以及未来也会有类似的统一标准或者机制出现,来实现大模型、智能体等AI工具之间的协作通信。截至目前来看,AI交互协议共出现了三种代表性的范式,如下图所示,分别是FC、MCP、A2A。
FC(Function Calling)是一种函数调用技术,由OpenAI推动,旨在通过调用外部函数或API,使大型语言模型(LLM)能够与外部系统交互,从而扩展其能力。其核心原理包括以下几点:
1、工作原理
允许开发者定义一组函数,并通过自然语言指令触。这些函数通常以JSON格式描述,包含函数名称、参数和返回值等信息。
当用户提出需要执行特定任务的问题时,模型会解析问题并判断是否需要调用预定义的函数。如果需要,模型会生成调用函数所需的参数,并通过API执行该函数,最后将结果返回给用户。
2、技术实现
Function Calling依赖于模型对自然语言的理解能力,通过解析用户输入生成函数调用参数。例如,当用户询问天气时,模型会调用一个获取天气信息的函数,并将结果以自然语言形式呈现。
在OpenAI的实现中,Function Calling通过API调用外部服务,如数据库查询或实时数据获取。开发者可以定义函数并将其与模型绑定,使模型能够根据输入选择合适的函数执行。
3、优势与不足
主要优势:简化复杂操作、提高开发效率,并增强模型的生成能力和应用范围。
不足之处:不同开发者可能采用不同的函数定义方式,导致通用性不足;此外,处理多任务时可能会遇到上下文限制问题。
MCP(Model Context Protocol)是一种标准化的开放通信协议,由Anthropic公司于2024年11月推出,旨在为大型语言模型(LLM)提供标准化的接口,实现与外部数据源和工具的无缝集成。
它通过统一接口连接AI模型与外部工具和资源,类似于USB接口在电子设备中的作用。它允许AI模型动态发现并调用外部服务,而无需预先定义固定代码。其核心目标是简化AI应用开发,提高效率并减少重复开发工作。
1、技术原理
2、工作流程
3、核心功能
4、核心优势
5、面临的挑战
A2A(Agent-to-Agent)是一种开放的智能体通信协议,由Google最近推出,旨在标准化不同AI智能体之间的通信与协作。
A2A协议通过统一的通信方式,允许智能体以结构化和一致的方式进行交互,包括任务管理、状态更新、多模态数据交换等。其核心目标是打破系统孤岛,实现跨平台、跨框架的智能体无缝协作,从而支持复杂任务的自动化处理。
1、技术原理
2、核心优势
1、Function Calling
2、MCP
3、A2A
从OpenAI提出Function Calling,到Anthropic提出MCP,再到Google提出A2A,你会发现他们的核心功能和特性,基本是按照技术发展的趋势在不断演进,即从单点功能到群体协作。
其中,Function Calling面向单点功能,你可以把Function Calling是“工具调用”的基础设施;MCP更看重系统间的交互,是多系统之间的“连接协议”,解决模型与外部系统的标准化交互;而A2A更擅长群体(Agent)协作,可以推动上述二者的基础上推动多智能体生态的形成。
三者分别面向单点功能、系统连接、群体协同三个层级,结合起来,则可以构成一个自顶向下、从内部任务处理到外部多智能体工具协同的技术生态。共同构建AI从“理解”到“实干”的能力。
三者未来的发展趋势可能会趋向于:MCP可能成为底层协议,A2A在其上实现多Agent协作,Function Calling作为轻量级补充。
在此基础上进行扩展,未来MCP可能会形成类似于功能插件的角色,或者说工具库。而A2A的Agent生态可能会形成类似“应用商店”的体系。
当然,目前来看这三者依然处在初级阶段,一定会有后来者推出全新的协议来参与竞争,直至出现类似IT互联网时代的HTTP与TCP/IP协议,甚至可能出现更通用的AI交互协议。