FunctionCall介绍
Agent智能体架构、模型推理机制的深度理解。
如何让大模型 真正的连接物理世界。
一、什么是FunctionCall
是大模型 与 工具 交互的 一个流程。
二、是怎么实现的?底层原理
LLM 负责意图识别 于决策生成, 输出结构化指令。
本地代码(手脚) 负责 工具调用与物理执行, 完成实际业务逻辑。
2.1 底层驱动原理(重要)
模型为什么会有这种能力?
「专门的指令微调(SFT)」
- 模型在训练阶段被 喂入了 海量的“函数调用数据集”, 这些特定格式的数据教会了模型:
- 何时应该触发工具? 以及如何严格遵循Schema描述的格式输出结果。
「推理约束解码」
- 底层推理引擎集成了FSM或正则表达式机制。 在逐个生成token时,强行拦截不符合语法的Token, 从物理层保证输出格式100%合法。
2.3 生产环境避坑指南(难度与解决)
幻觉调用
模型凭空捏造不存在的函数,或胡乱修改参数名。
- 解法:Self-corrention机制,将错误信息喂会给模型让其自省修正
JSON格式崩溃
输出包含多余符号 或缺失括号, 导致解析代码奔溃。
- 解法:json_repair鲁棒解析器 + 强制JSON Mode输出格式。
工具数量爆炸
API太多超出上下文, 且导致注意力分散,调用错误。
- 解法:Tool Retrieval, 利用RAG动态检索最相关的Top-5工具注入。
多步依赖调用
需要根据上一步的结构决定下一步的API调用
- 解法:Agent 编排框架(如ReAct范式),实现Thought-Action循环。