外观
Function Calling 的工作原理是什么?和普通 API 调用有何本质区别?
标准回答
Function Calling 是模型按约定格式提出“调用哪个函数、传什么参数”,应用收到后才真正执行。
- 给模型提供工具名称、用途和参数 Schema。
- 模型返回工具名与参数,应用解析、鉴权并执行。
- 将结果关联原调用交回模型,继续调用或生成最终回答。
通俗例子
模型输出“查订单,订单号 123”,你的 Java 或服务端代码校验权限后查询,再把状态交回模型。输出调用请求不等于订单已经查过。
深入解释
**调用格式解决什么:**工具说明定义名称、用途和参数结构;模型按该约定输出调用请求,例如查询设备时给出 deviceId。这个结构只是请求,真正的接口调用由应用完成。
**完整往返是什么:**应用校验并执行请求,将成功结果或可识别错误返回给模型;模型再解释结果或继续调用。即便参数符合格式,仍需验证设备归属与业务权限。
易混淆点
模型输出一个函数调用,不等于函数已执行;格式正确也不等于业务允许执行。
参考资料
内容来源
- Android · AI Agent 知识手册 · 原条目
ai-Q9