工具调用是什么?AI 怎样通过外部程序查询或执行动作
用天气查询和文件读取解释工具调用,区分模型请求、执行环境与结果证据,说明参数权限、错误回传和工具输出中的不可信内容。
先理解这个概念
工具调用让AI应用通过外部程序取得信息或执行动作,例如查询数据库和读取文件。模型通常先选择工具并提供参数,执行系统处理请求,再把结果送回模型。部分工具由服务托管,部分由应用自行运行。模型声称查过不等于真实调用成功,工具结果也需要检查状态和来源,不能自动当成可靠事实或新授权。
模型提出请求与工具执行是不同阶段
假设用户询问某地天气,模型需要知道可用查询工具及地点参数,外部服务再返回数据。工具未执行时,直接生成一段天气文字不能算已查询。本文仅举机制例子,没有访问实时天气,也不把示例数字伪装成当前观测。
Anthropic区分客户端执行工具与服务端工具,OpenAI也描述应用执行函数及内置工具。接入时应明确每种工具的执行方和结果返回格式。否则可能误以为模型会自动执行本地函数,实际上只得到了一份调用请求。
工具能力必须受任务范围和身份约束
读取文件的工具应校验允许路径,不能让模型传入任意用户目录。只需查询的任务也不必开放删除能力。工具描述能帮助选择,却不能替代程序权限控制;模型生成的参数与普通外部输入一样,需要验证类型和业务含义。
有副作用的动作还需考虑超时和重试。一次写入没有及时返回,不能直接断定失败再重复提交。应通过执行标识或目标查询确认状态。可回传明确错误,让模型调整;不要以看似成功的默认结果掩盖工具故障。
结果回传以后仍要检查内容与来源
网页或文件中的文字可能包含误导指令,工具只负责把它们取回,不会自动提高其可信级别。总结时应保留来源,把执行结果与文本里的主张区分。一个页面写着操作成功,不等于应用自己的写入已经完成。
验收时可以先用只读工具核对已知资料,再检查错误路径和返回标识是否匹配。本文没有运行外部工具实测。真实交付应以目标系统状态或可复查结果为依据,模型的自然语言总结用于沟通,不能替代必要证据。
核对来源
以下资料用于核对概念和方法。文中的示例与测试范围分别注明,实际使用时请核对所用工具的版本。