本文深入解析了Function Call的底层本质,即模型输出结构化调用意图而非直接调用函数。文章详细阐述了Function Call的完整流程,包括工具注册、用户任务提出、模型选择工具、应用执行工具以及结果回填。强调了JSON Schema在工具定义中的重要性,以及模型输出tool call的格式和执行器的作用。此外,还探讨了多轮工具调用循环的运行机制和安全边界的设置。最终总结为模型生成结构化tool call,应用程序执行真实工具,并将结果回填给模型继续生成。对于想要了解大模型如何与工具交互的读者来说,本文提供了宝贵的指导和实践建议。

图片

图 1:Agent 工程化系列路线图

▌ 目录

01 Function Call 的底层本质是什么?

02 一次 Function Call 请求发生了什么?

03 工具定义:为什么需要 JSON Schema?

04 模型输出:tool call 长什么样?

05 执行器:真正执行函数的是谁?

06 多轮工具调用循环怎么跑?

07 工程里如何做安全边界?

08 最后总结

▌ 01 Function Call 的底层本质是什么?

一句话先讲清楚 Function Call 的底层,本质上是模型输出一份“结构化调用意图”。模型负责判断要调用什么工具、传什么参数;真正执行函数的是模型外面的应用程序。

普通聊天模式下,模型输出的是自然语言。比如它会直接回答:“今天北京可能有雨,建议你带伞。”

但在 Function Call 模式下,模型可以输出更适合程序处理的结构化结果:

{ “name”: “get_weather”, “arguments”: { “city”: “北京” } }

这段内容不是最终回答,而是一份调用请求。它的意思是:我判断现在需要调用 get_weather 这个工具,参数是 city=北京。

图片

图 2:Function Call 的底层链路

一个关键误区

很多人第一次理解 Function Call 时,会以为模型真的跑了一段函数代码。但更准确的说法是:模型只生成调用意图,执行发生在应用侧。

▌ 02 一次 Function Call 请求发生了什么?

从工程视角看,一次 Function Call 通常会经历 5 个步骤:注册工具、用户提出任务、模型选择工具、应用执行工具、模型整合结果。

图片

图 3:一次 Function Call 请求发生了什么

重点不是“调用”,而是“回填” 完整流程一定包括:模型输出 tool_call,应用执行工具,工具结果回填给模型,模型再基于真实结果生成最终回答。没有结果回填,模型并不知道工具执行结果。

这也是为什么 Function Call 不是一个孤立 API,而是一套围绕“模型 - 应用 - 工具 - 结果”的交互闭环。

▌ 03 工具定义:为什么需要 JSON Schema?

Function Call 之所以比普通 Prompt 稳定,关键原因之一是:工具不是只靠一句自然语言描述,而是靠结构化 schema 描述。

信息 作用
工具名称 模型知道要调用哪个工具
工具描述 模型判断什么时候该用它
参数结构 模型知道需要传哪些字段
参数类型 避免把数字、字符串、数组传错
必填字段 避免漏传关键参数

JSON Schema 不是给人看的说明文档,而是模型和程序共同使用的接口契约。它让工具调用更像“接口调用”,而不是“猜一段文本”。

图片

图 4:Function Call 底层传递的数据

为什么不能只写 Prompt?

模型可能漏参数

模型可能把参数写成自然语言

模型可能输出格式不稳定

应用程序解析困难

多工具场景下容易混乱

▌ 04 模型输出:tool call 长什么样?

在底层交互里,模型通常不会直接返回一句完整回答,而是返回一个工具调用对象。一个 tool call 至少要表达三件事:id、name 和 arguments。

{ “id”: “call_01”, “name”: “get_weather”, “arguments”: { “city”: “北京” } }
字段 含义
id 本次工具调用的唯一标识
name 要调用的工具名称
arguments 传给工具的结构化参数

其中 id 很重要。真实系统里可能一次返回多个 tool call,应用程序执行完每个工具后,需要把结果和对应的 tool_call_id 对上。

tool call 不是最终答案 tool call 更像一张“任务单”。模型写任务单,执行器按任务单执行,执行完之后再把结果贴回到对话上下文里。

▌ 05 执行器:真正执行函数的是谁?

Function Call 系统里通常有一个角色,叫工具执行器。它可以是你自己的业务代码,也可以是 Agent 框架里的 Tool Executor。

它的职责不是理解用户意图,而是读取工具名、校验参数、检查权限、调用真实 API 或数据库、处理超时失败、记录日志,并把结果包装成 tool result。

# Demo 里可以这样写,但生产环境远远不够 result = toolsname

一旦工具接入数据库、订单系统、文件系统、支付系统,就已经不只是“问答”问题,而是“执行动作”问题。因此工具执行器必须承担治理职责。

▌ 06 多轮工具调用循环怎么跑?

真实 Agent 场景里,Function Call 往往不是一次完成。一个复杂任务可能需要连续查天气、查日程、查交通、查数据库,再综合生成结果。

图片

图 5:多轮工具调用循环

工程上必须设置退出条件

最大调用步数

单次工具超时时间

总任务超时时间

工具失败重试次数

是否允许并行调用

是否需要人工确认

为什么需要边界? 普通 API 流程是程序员写死的;Agent 工具调用流程是模型在运行时动态决定的。所以你必须给它边界。

▌ 07 工程里如何做安全边界?

Function Call 真正危险的地方,不是模型答错,而是模型生成了一个看起来合理、但实际有风险的工具调用。

图片

图 6:工具执行器的安全边界

安全点 具体作用
参数校验 防止模型生成错误参数
权限控制 判断当前用户是否有权执行
风险分级 区分查询、修改、删除、支付等动作
人工确认 高风险动作必须由人确认
超时重试 防止工具长时间卡住
幂等设计 防止重复下单、重复扣费
日志审计 出问题时能追踪全过程
工程原则 不要把模型当成可信执行者,要把它当成会生成调用建议的智能决策模块。能不能执行、怎么执行、执行到什么权限边界,必须由系统控制。

▌ 08 最后总结

一句话总结 模型生成结构化 tool call,应用程序执行真实工具,再把工具结果回填给模型继续生成。

Function Call 本质是结构化调用意图

JSON Schema 是模型和程序之间的接口契约

真正执行函数的是应用层或工具执行器

多轮调用必须有边界、安全、日志和退出条件

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线科技企业深耕十二载,见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事,早已在效率与薪资上形成代际优势,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我们整理出这套 AI 大模型突围资料包

  • ✅ 从零到一的 AI 学习路径图
  • ✅ 大模型调优实战手册(附医疗/金融等大厂真实案例)
  • ✅ 百度/阿里专家闭门录播课
  • ✅ 大模型当下最新行业报告
  • ✅ 真实大厂面试真题
  • ✅ 2026 最新岗位需求图谱

所有资料 ⚡️ ,朋友们如果有需要 《AI大模型入门+进阶学习资源包》下方扫码获取~
在这里插入图片描述

① 全套AI大模型应用开发视频教程

(包含提示工程、RAG、LangChain、Agent、模型微调与部署、DeepSeek等技术点)
在这里插入图片描述

② 大模型系统化学习路线

作为学习AI大模型技术的新手,方向至关重要。 正确的学习路线可以为你节省时间,少走弯路;方向不对,努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划,带你从零基础入门到精通!
在这里插入图片描述

③ 大模型学习书籍&文档

学习AI大模型离不开书籍文档,我精选了一系列大模型技术的书籍和学习文档(电子版),它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。
在这里插入图片描述

④ AI大模型最新行业报告

2025最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。
在这里插入图片描述

⑤ 大模型项目实战&配套源码

学以致用,在项目实战中检验和巩固你所学到的知识,同时为你找工作就业和职业发展打下坚实的基础。
在这里插入图片描述

⑥ 大模型大厂面试真题

面试不仅是技术的较量,更需要充分的准备。在你已经掌握了大模型技术之后,就需要开始准备面试,我精心整理了一份大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余

图片

以上资料如何领取?

在这里插入图片描述

为什么大家都在学大模型?

最近科技巨头英特尔宣布裁员2万人,传统岗位不断缩减,但AI相关技术岗疯狂扩招,有3-5年经验,大厂薪资就能给到50K*20薪!

图片

不出1年,“有AI项目经验”将成为投递简历的门槛。

风口之下,与其像“温水煮青蛙”一样坐等被行业淘汰,不如先人一步,掌握AI大模型原理+应用技术+项目实操经验,“顺风”翻盘!
在这里插入图片描述
在这里插入图片描述

这些资料真的有用吗?

这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。
在这里插入图片描述
在这里插入图片描述

以上全套大模型资料如何领取?

在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐