Tool Use/Function Calling
一句话总结
Tool Use/Function Calling让LLM能够识别何时需要调用外部工具并生成结构化的调用参数,是构建Agent和复杂应用的关键能力。
核心概念
Function Calling的工作流程:1)定义可用工具及其参数schema;2)用户提问,LLM判断是否需要调用工具;3)LLM生成工具名称和参数(JSON格式);4)应用层执行工具调用获取结果;5)将结果返回LLM生成最终回答。支持单工具调用、并行多工具调用和顺序多工具调用。主流API(OpenAI、Anthropic、Google)都原生支持。
为什么重要
LLM本身无法执行计算、访问实时数据或操作外部系统。Tool Use赋予LLM与外部世界交互的能力,使其从知识问答扩展到任务执行。它是Agent、自动化工作流和复杂应用的基础构建块。
实践要点
工具描述要清晰准确,参数schema要严格定义。限制可用工具数量避免选择困难(通常不超过20个)。实现工具调用的错误处理和重试机制。对敏感操作加入人工确认环节。测试边界情况如缺少必要参数、参数类型错误等。使用工具调用而非让LLM自己尝试完成不擅长的任务。
常见误区
工具描述模糊导致LLM错误选择工具。缺乏参数验证直接执行工具调用。给模型过多工具选择导致准确率下降。忽视工具调用失败的异常处理。不测试模型决定不调用工具的情况。