Function Call
Function Call(函数调用)是大型语言模型与外部工具或系统进行结构化交互的一种机制。模型在推理过程中,能够识别用户意图并生成标准化的函数调用请求(包含函数名称与参数),由外部系统执行后将结果返回给模型,进而生成最终响应。该机制使语言模型具备访问实时数据、执行计算、调用API等能力,是构建智能代理(Agent)和工具增强型应用的核心技术之一。
核心事实
时间轴 (近 90 天)
callSkill本质上沿用Function Call,应用程序中有一个名为callSkill的Tool方法,它根据Skill的name决定读取哪个Markdown文件
LangChain提供名为Function Call的机制,让开发者可以调用工具去获取模型本身拿不到的数据
大模型在推理时将工具元数据作为上下文读入,通过语义理解判断是否需要调用工具及传入哪些参数,这一过程被称为Function Calling或Tool Use
全部知识事实 (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%