← AI 百科

Function Calling

AI编程 · AI编程基础
一句话:让模型按结构化参数请求调用某个函数,再由程序执行真实逻辑。

它是什么

Function Calling是工具调用的一种常见实现方式。开发者先声明函数名称、用途和参数结构,模型在需要时返回要调用的函数和参数,真正的函数执行由你的后端完成。它适合把自然语言变成结构化业务操作。

适合干什么

  • 做AI应用后端的开发者
  • 想把用户语言转成API参数的人
  • 需要AI创建订单、查库存、生成报告的系统
  • 需要结构化输出而不是散文答案的场景

不适合干什么

  • 没有后端执行逻辑的纯聊天页面
  • 函数权限没有隔离的生产系统
  • 参数边界很复杂但没有校验的任务
  • 让模型直接操作数据库的危险设计

普通人怎么用

  • 定义函数名和用途
  • 用JSON Schema描述参数
  • 把用户问题交给模型判断是否调用
  • 后端执行函数并返回结果
  • 模型根据结果生成最终回答

进阶用户怎么用

  • 为每个参数写清类型、枚举和必填项
  • 对模型返回参数做二次校验
  • 把函数调用结果写入日志
  • 对写操作加入确认和幂等设计

常见误区

  • 以为模型自己执行了函数
  • 没有验证模型生成的参数
  • 函数名和描述太抽象
  • 把真实密钥或数据库权限暴露给前端

和相似工具的区别

  • Function Calling vs JSON输出:JSON输出只是让模型生成结构,Function Calling通常还会由程序执行对应函数。
  • Function Calling vs MCP:Function Calling偏应用内部开发方式,MCP偏跨客户端连接外部工具的协议化方式。

入门步骤

  • 写函数定义
  • 写参数Schema
  • 接模型响应
  • 校验参数
  • 执行后端逻辑
  • 返回结果
  • 生成最终回复

推荐工具(第三方)

OpenAI API、Anthropic API、TypeScript、Zod、JSON Schema、Node.js