[控场AI]
概念Function Calling

Function Call

Function Call(函数调用)是大型语言模型与外部工具或系统进行结构化交互的一种机制。模型在推理过程中,能够识别用户意图并生成标准化的函数调用请求(包含函数名称与参数),由外部系统执行后将结果返回给模型,进而生成最终响应。该机制使语言模型具备访问实时数据、执行计算、调用API等能力,是构建智能代理(Agent)和工具增强型应用的核心技术之一。

核心事实

时间轴 (近 90 天)

10月11日

callSkill本质上沿用Function Call,应用程序中有一个名为callSkill的Tool方法,它根据Skill的name决定读取哪个Markdown文件

待验证50%
9月30日

LangChain提供名为Function Call的机制,让开发者可以调用工具去获取模型本身拿不到的数据

待验证50%
9月27日

大模型在推理时将工具元数据作为上下文读入,通过语义理解判断是否需要调用工具及传入哪些参数,这一过程被称为Function Calling或Tool Use

已验证65%

全部知识事实 (13)

已验证

Function Call是OpenAI在2023年6月随GPT-3.5/GPT-4 API更新引入的一项能力,允许开发者在API请求中定义函数的JSON Schema描述

80%
已验证

Function Calling机制中,开发者将工具的名称、功能描述、参数Schema(通常为JSON Schema格式)注入到模型的请求中,模型输出结构化的JSON而非自然语言来调用工具

80%
已验证

Agent的核心公式为:Agent = 大模型 + 工具调用 + 自主决策能力

80%
已验证

大模型在推理时将工具元数据作为上下文读入,通过语义理解判断是否需要调用工具及传入哪些参数,这一过程被称为Function Calling或Tool Use

65%
已验证

Skill功能必须依赖支持Function Call的大模型才能使用

65%
已验证

MCP与OpenAI的Function Calling定位不同:Function Calling是模型层面的临时约定,MCP是应用层的持久化通信协议

65%
待验证

每个Function Call必须有对应的Function Call Output,且两者的call_id必须完全一致,否则OpenAI API会拒绝请求并返回错误

95%
待验证

Claude Code和Aider等成熟AI Agent都使用了Function Call机制而非纯提示词方案

85%
待验证

Function Call通过JSON Schema定义工具,能让大模型以接近100%的准确率生成合法的工具调用请求

70%
待验证

Function Call将工具定义从自然语言层面提升到API结构化层面,从根本上解决了大模型幻觉导致的格式不遵循问题

70%
待验证

Spring AI Agent Utils的Skill模块基于Function Call实现,不依赖特定大模型,可在GPT-4、Claude、通义千问等不同模型上运行

60%
待验证

callSkill本质上沿用Function Call,应用程序中有一个名为callSkill的Tool方法,它根据Skill的name决定读取哪个Markdown文件

50%
待验证

LangChain提供名为Function Call的机制,让开发者可以调用工具去获取模型本身拿不到的数据

50%

来源文章