应用背景

你是否向大模型提问过:“现在几点了?”“我这里的天气怎么样?”的问题?那么它能够正确回答吗?

目前来看——一般会回答错误。

当下,LLM的能力早已不局限于“文本生成”,而是能够通过外部工具的调用变得“手眼通天”:脱离原有的封闭环境,获得了与外部环境交互的能力。

相当于给大模型加上了手脚🧐

与外部环境交互通过MCP进行工具调用的规范化,通过A2A实现Agent与Agent之间交互的规范化。

Function Calling->MCP

工具调用基于function calling实现并被广泛用于商业API交互,目前国产的主流LLM大多已支持。
而Ahthropic推出的MCP(Model Context Protocol)正是针对“工具调用接口的规范化”应运而生的协议。

调用的过程其实是让大模型理解我们需求的过程。

这里按个人理解写一下MCP应用流程:

用户通过配置MCP服务->提供工具调用的相关函数及其对应的传参要求,

模型在
  - 理解用户需求
  - 学会函数对应参数的攥写格式
的基础上,
判断函数是否调用、如何调用、拿到返回的结果后如何分析。

Function Calling和MCP是当前技术落地的核心方式。前者侧重模型原生能力,后者强调协议标准化。

那么AI Agent(人工智能代理/智能体)则为更高阶的形态,其融合了自主决策+工具调用,能够更加适用于复杂场景。

MCP->A2A

若再视野拓展至MAS(Multi-Agent Systems)的多智能体系统协作领域,我们就不能不提起A2A(Agent-to-Agent Protocol,代理间通信协议)。

到这里可以将上文提到的三个概念搭建为三层级的技术栈模型:

       【A2A】         // Agent与Agent~协作网络
          ↑
       【MCP】         // Agent与工具~资源与会话管理
          ↑
 【Function Calling】  //模型原生能力

👉Google将A2A比作互联网早期的HTTP协议。

参考链接

  1. (7 封私信) 深度研究报告:大模型工具调用(Tool-use)的技术演进与协议生态分析 - 知乎
  2. 【AI学习】大模型调用外部工具的主流方式对比_大模型工具调用-CSDN博客