content
01、Function Calling 的原理是什么
老王开门见山:“很多人觉得大模型能‘调用工具’很神奇,你给我讲讲 Function Calling 到底是怎么回事。”
Function Calling 是一个协议约定。
客户端在请求里声明有哪些工具可以用,包括工具名、功能描述、参数的 JSON Schema。LLM 在生成响应的时候,如果判断当前任务需要工具辅助,它会在响应里输出一段 JSON,告诉客户端“我想调用这个工具,参数是这些”。然后客户端拿到这段 JSON,自己去执行对应的逻辑,把执行结果包装成 tool message 塞回对话历史,再请求一次 LLM,LLM 看到结果继续推理。

所以本质上 LLM 是一个“决策者”,它决定用什么工具、传什么参数,但真正的“执行权”在客户端。
PaiCLI 的 ToolRegistry 维护了工具名到执行函数的映射表,LLM 说“我要调 read_file”,Agent 就从注册表里找到 read_file 的处理逻辑去执行。
老王追问:“那 LLM 怎么知道该调用哪个工具?它是怎么学会的?”
我说:“靠训练。模型在 fine-tuning 阶段见过海量的‘工具定义 + 正确调用’配对样本,学会了根据工具描述和用户意图生成合理的 tool_calls。所以工具描述写得好不好,直接影响调用准确率。”
为什么这样回答:面试官考这道题,核心是想看你有没有理解 Function Calling 的本质——LLM 不执行,只决策。很多候选人会答成“LLM 调用了工具”,这在语义上就不对。强调“写一段 JSON”和“...
企业级Agent工作流编排项目PaiFlow
Vibe Coding版本的PaiAgent
派聪明RAG AI知识库Java版本+Go版本
微服务 PmHub、技术派、MYDB
求职派JobClaw(OpenClaw/Hermes架构
PaiCLI(类似Claude Code的Agent
派简历(代码已完成)
等实战项目。
1. 微信扫右侧的优惠券加入知识星球
2. 解锁星球的实战项目教程和源码: 项目源码+教程获取
回复