Tools、Function Calling、MCP 都在说什么?

最近总有人问,function calling、MCP、tools 这几个东西到底啥区别,

感觉名字很像,又都跟大模型调用外部工具有关,一聊就容易晕

今天咱们把它捋清楚,详见配图说明

Tools

你可以把 Tools 理解成"工具箱里的各种家伙",

比如:查天气的 API发邮件的服务操作数据库的函数,在 LLM 应用里统统叫 Tools。

它本身只是个抽象概念,不限定你怎么实现,也不规定怎么跟模型交互。

你就是告诉模型:"二狗子,这儿有把螺丝刀,这儿有个扳手,你看着用,"

至于模型怎么挑工具、什么时候用,那是另一回事。

Function Calling

这是 OpenAI 等模型厂商提供的一项具体能力,属于 Tools 概念的一种落地方式

它的过程很直白 :你在请求里把工具定义成一堆 JSON 函数声明 (名字、参数、描述),模型如果觉得需要调用工具,不会直接执行,而是返回一个"function_call"对象,里面写着想调哪个函数、传什么参数。

你拿到后自己在代码里执行,把结果再喂给模型。

这就好比:模型是老板,你在旁边当秘书,

老板说"查一下北京的天气 ",但老板本人不会开电脑,他只能说"你帮我去调用 get_weather,参数 city=北京"。

老板能张嘴提要求,就是 Function Calling 在工作。

MCP(Model Context Protocol)

这玩意跟上面两个完全不在一个维度上。

它不是你调用模型时加个参数就能用的东西,而是一套工具连接的"标准协议",

在 MCP 之前,你想给一个 AI 助手接上** Gmail、接上数据库、接上文件系统**,基本是各家写各家的胶水代码。

换一个大模型客户端,又得重写一遍,

MCP 干的事就是规定一种 C/S 架构:有 MCP Server 专门暴露工具(比如查天气、读文件),有 MCP Client(比如 Claude Desktop、你的聊天应用)去连接这些 Server。

模型不用关心工具怎么实现的,只要能通过 Client 发标准请求就行。

打个比方:

  • Tools 是"家用电器"------微波炉、空调、电灯。
  • Function Calling 是"语音遥控"------你喊一声"开空调 26 度",音箱识别出意图,返回一个操作指令,但还是得有人去按开关。
  • MCP 是"统一的智能家居插座协议"------有了它,无论哪家造的空调、谁开发的语音助手,只要都遵守 MCP 这个插头标准,插上就能用,不用每次都重新布线。

那日常开发里怎么区分它们,避免说混?

  • 你跟同事说"咱们给助手加几个 tools ",指的是定义可调用的能力
  • 你翻 OpenAI 文档时说的"我用了 function calling ",指的是模型吐出调用请求这个动作
  • 你在搭建 AI 应用基座时讨论"这个组件接 MCP 吧 ",指的是想让工具对接标准化,未来换模型或换客户端不费力。

完整调用流程

请求 (带 tools 定义)

Bash 复制代码
POST /v1/chat/completions
{
  "model": "gpt-4",
  "messages": [...],
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "get_weather",
        "parameters": {...}
      }
    }
  ]
}

响应 (Function Calling)

JSON 复制代码
{
  "choices": [{
    "message": {
      "content": null,
      "tool_calls": [{
        "id": "call_xxx",
        "type": "function",
        "function": {
          "name": "get_weather",
          "arguments": '{"city":"北京"}'
        }
      }]
    }
  }]
}

简单总结一句话:Tools 是你要用的能力,Function Calling 是模型说要怎么用,MCP 是让这些能力按统一方式接进来的管网。

相关推荐
hfywmsj2 小时前
广州餐饮铺位招租决策模型:多因子选址系统设计
开发语言·人工智能·python·广州餐饮铺位招租
沧沧凉凉4 小时前
同一个 Blender 建模,Claude 两个模型都翻车,GPT-6 一次过
人工智能·游戏·ai编程
X54先生(人文科技)4 小时前
ELR-SELLM Edge 神经元网络架构评估报告
人工智能·深度学习·架构·开源
今年下半年4 小时前
从零开始搭建一套大语言模型 + LangGraph 多智能体编排 + RAG 知识库检索** 的智能问答平台
人工智能·语言模型·自然语言处理
Lifangyun_WD5 小时前
RTX 5090 与 RTX PRO 6000 怎么选?32GB 和 96GB 显存分别适合哪些 AI 任务
人工智能·aigc·gpu算力·芯片·gpu租赁
hqyjzsb5 小时前
零 AI 项目经验,学 Python 转型 AI 的正确顺序是什么?
开发语言·人工智能·python·算法·职场和发展·数据挖掘·数据分析
微功夫信息技术5 小时前
分层多智能体强化学习驱动的非急救转运公平 - 效率统一调度系统研究与实践
人工智能·学习·算法·动态规划
TechEdu2026065 小时前
[人工智能]AI芯片家族与产品目录指南
人工智能·ai
不会写代码的女程序猿5 小时前
中小康养门店选型参考|明理 AI 四诊仪场景适配与投入回报分析
大数据·人工智能·科技·ai·健康医疗