Agent、MCP、FunctionCall的区别

[!AI] AI
AI相关学习备忘录

一、Agent是自主决策的AI应用

Agent是一种AI应用,能感知环境,能规划任务并调用外部工具完成任务。

  • 具备自主决策
  • 能够完成复杂任务
  • 可以调用外部工具
  • 可以调用MCP、Function Call等

二、MCP相当于大模型的”HTTP协议“

由于各家AGENT的集成、API调用千差万别,这就产生了MCP

  • 全称:Model Context ProtoProtocol
  • 能够使大模型与外部服务的交互标准化

三、Function Call是模型的原生能力扩展

Function Call即函数调用,是大模型调用外部函数和API以获取信息、执行计算或与系统交互

  • 是大模型调用外部函数或API的机制
  • 增强大模型能力的直接方式
  • 通常与大模型绑定,作为模型的一部分

四、三者的对比

MCP Server: 被动的工具

  • 被动的服务,仅响应调用请求
  • 为大模型提供外部数据和能力支持
  • 不参与决策和推理过程
  • 像工具箱一样等待别人调用
  • 专注数据提供
  • 模块化设计,便于独立开发
  • 只能被动响应,无法主动解决问题

Function Call:像瑞士军刀

  • 直接扩展大模型能力
  • 允许生成请求参数并整合结果
  • 与模型绑定部署,紧密集成
  • 像瑞士军队小巧多功能,随身携带
  • 轻量级任务处理,模型内触发
  • 高效便捷,无需 额外通信开销
  • 受模型运行时资源限制,无法执行耗时任务

Agent:智能工人

  • 具备自主决策的AI实体
  • 能感知环境和规划任务
  • 可调用各种工具(包括MCP/Function Call)
  • 像熟练工人,选择合适工具完成复杂任务
  • 高度自主,支持复杂流程
  • 开发复杂度高,需要集成推理模型和状态管理

五、适用场景

Function Call

  • 适合简单、同步任务

MCP Server:

  • 适合复杂任务、异步任务

Agent:

  • 适合端到端的复杂任务

六、如何选型

从以下几个方面进行选型:

考量点 Function Call MCP Server Agent
任务复杂度 简单,低延迟的任务 复杂的数据整合任务 自主决策、多任务
协议标准化 无强制协议,实现方式因平台而异 严格遵守标准,跨团队跨平台 依赖底层工具的协议规范
部署灵活性 与模型服务绑定,适合小型项目 可独立扩张,适合企业级项目 需要集成多模块,适合大型复杂系统
安全隔离 安全边界较低,与模型共享环境 严格的隔离边界,可实时访问控制 需要综合安全策略

总结

  • Agent 是一种AI应用,能感知环境,能规划任务,能通过调用外部工具、服务,包括MCP Server/Function Call等来完成任务。
  • Function Call是大模型本身的一种能力,可以通过调用外部函数和API以增强大模型自身的能力
  • MCP则是给AI应用提供了一套标准化协议,方便AI应用更好的访问外部工具,以提升大模型的响应能力
也有人这么形容MCP,认为MCP是大模型的SOA或SAAS

滚动至顶部