首页2026-06-23AI

Function Calling 浅记

Function Calling / Tool Calling

从我的理解来看,Function Calling 本质上是大模型根据提示词(Prompt)、用户输入(Input)以及上下文,生成一种指定格式的结构化文本,用于作为调用工具的参数。

Function Calling 不是真的调用函数,而是生成结构化调用指令。

更深层次地看,根据许多教程与文章大核心能力仍然是:

根据上下文预测下一个 Token(Next Token Prediction)

因此 Function Calling 的本质可以理解为:

需求理解
    ↓
参数提取
    ↓
JSON生成

本质上就是:

需求 → 参数提取 → JSON生成

Agent 与 Function Calling

对于 Agent 来说,实际执行过程可以理解为:

ReAct
+
Function Calling
+
Tools

其中:

  • ReAct:决定是否需要调用工具,以及调用什么工具
  • Function Calling:负责生成工具调用参数
  • Tool:负责真正执行对应能力

Function Calling 到 Tool Calling

随着 Agent 逐渐变复杂,调用对象不再只是单一函数,而可能是:

  • API
  • 数据库
  • 搜索引擎
  • 浏览器
  • MCP Server
  • 第三方服务

因此逐渐演变为更通用的 Tool Calling 概念。

简单理解:

Function Calling
    ↓
调用函数

Tool Calling
    ↓
调用工具

而函数(Function)只是工具(Tool)的一种实现形式。


Tool Calling 基本流程

用户 Input
    ↓
LLM 理解需求
    ↓
Tool Routing(选择工具)
    ↓
Parameter Extraction(提取参数)
    ↓
生成结构化调用指令
    ↓
Agent 框架执行 Tool
    ↓
返回执行结果
    ↓
LLM 总结输出