Zubnet AI学习Wiki › Function Calling
使用AI

Function Calling

别名:工具调用、工具使用API
一种让AI模型在对话过程中请求执行外部函数的结构化方式。你定义具有名称、描述和参数模式的函数。当模型判断某个函数有助于回答查询时,它输出结构化的函数调用(带参数)而非文本。你的代码执行该函数并返回结果供模型整合。

为什么重要

函数调用是将聊天机器人变成智能体的关键。没有它,模型只能生成文本。有了它,模型可以搜索数据库、调用API、执行计算、预约、发送邮件——任何你能封装为函数的事情。这是每一个真正执行操作(而非只是谈论操作)的AI助手背后的机制。

深度解析

API流程:(1)你发送提示词加上函数定义(描述每个函数名称、描述和参数的JSON模式),(2)模型决定是否调用函数以及调用哪个,(3)它输出带有具体参数的结构化函数调用,(4)你的代码执行该函数并返回结果,(5)模型将结果整合到响应中。某些模型可以按顺序或并行调用多个函数。

函数调用 vs. MCP

函数调用是模型级的原语:模型输出结构化的工具调用。MCP(模型上下文协议)是一个更高级的协议,标准化了工具如何被发现、描述和连接。将函数调用视为指令集,MCP视为操作系统——MCP底层使用函数调用,但增加了工具发现、认证和跨提供商的标准化。

可靠性

函数调用比要求模型以文本形式输出函数调用更可靠(后者需要解析且容易出错)。提供商通过限制模型输出必须匹配你的模式的有效函数调用来实现函数调用——类似于结构化输出。但模型仍可能选择错误的函数、幻觉参数值,或在不应该调用时调用函数。健壮的应用程序包括验证、错误处理和高风险操作的人工确认环节。

相关概念

← 所有术语
← FLOPs GAN →