AI 架构进阶
什么是 LLM 的函数调用/工具使用?
函数调用让 LLM 通过输出你的应用程序执行的结构化 JSON 来触发外部动作——搜索网络、运行代码、查询数据库。
TL;DR: 函数调用让 LLM 通过输出你的应用程序执行的结构化 JSON 来触发外部动作——搜索网络、运行代码、查询数据库。
核心概念
没有函数调用,LLM 只输出文本。有了函数调用,模型可以暂停响应,输出结构化的 JSON 调用,如 {"function": "search", "args": {"query": "latest AI news"}},你的代码执行该函数并返回结果,模型继续使用那些真实数据。
function callingtool usestructured outputJSON
工作原理(逐步)
1. 你用 JSON 模式定义可用工具(名称、描述、参数)。2. 你发送用户消息。3. 模型决定调用哪个工具并生成 JSON 调用。4. 你的应用程序运行该函数。5. 你将结果发送回模型。6. 模型用真实数据继续响应。
tool definitiontool calltool resultJSON schema
真实世界应用
ChatGPT 插件使用函数调用。Claude 的计算机使用功能使用工具调用来点击、输入和读取屏幕。GitHub Copilot 使用函数调用来读取文件和运行测试。任何"查找信息"的聊天机器人都在幕后使用函数调用。
函数调用 vs 提示词
标准提示词:LLM 只生成文本。函数调用:LLM 生成触发真实代码的结构化动作。函数调用是聊天机器人(文本)和 AI Agent(可以对世界采取行动)之间的区别。