use-case
工具调用与 AI Agent 模型指南
直接答案Agent 的核心不是会调用工具,而是受控循环:结构化 schema、最小权限、状态、幂等、超时、人工确认、审计和可回放评测。
更新 · 审核信息
Agent 的最小结构
一个 Agent 循环包含目标与状态、模型决策、结构化工具调用、工具结果和终止条件。模型只提出调用,应用负责验证、授权、执行与记录;任何自然语言都不能直接变成高权限命令。
工具设计
工具 schema 要小而明确,枚举危险选项,限制字符串长度和资源范围。读写工具分离,高风险操作使用预览/确认两阶段;所有网络目标、文件路径、金额和收件人都在服务端重新校验。
状态与恢复
为每轮设置 token、时间、工具次数和费用上限,持久化可恢复状态和幂等键。处理超时、部分成功、重复回调、工具不可用和模型切换,并提供人工接管与取消。
如何评测
用可回放轨迹统计任务成功、错误工具、越权尝试、循环、人工介入、延迟与成本。测试提示注入、伪造工具结果、数据外传和删除操作;不要只评最终文字是否好看。
上线原则
默认最小权限和拒绝未知工具,敏感操作必须确认。记录模型版本、提示、工具参数、结果和决策原因,并对日志中的密钥与个人数据脱敏。
适用场景
- 多步骤执行
- 工具调用
- 长程研究和编码
API 协议
/v1/responses/v1/chat/completions/v1/messages
FAQ
模型返回 tool_call 是否表示工具已经执行?
通常不表示。模型只提出工具名和参数,应用必须校验 schema、权限与副作用后执行,再把结果回传;部分厂商服务端工具会返回已执行结果,应按响应 type 区分,避免重复执行。
怎样防止 Agent 无限循环并持续消耗 token 和费用?
为每次运行设置 token、时间、工具次数、并发和费用上限,定义成功与停止条件,持久化状态和幂等键。重复失败时应降级、人工接管或终止,而不是无界重试。
如何评测 Agent,最终答案正确就够了吗?
不够。要回放完整轨迹并统计任务成功、错误工具、越权尝试、循环、人工介入、延迟和总成本,同时测试提示注入、伪造工具结果、数据外传和取消恢复。
Agent 可以直接访问生产数据库、文件系统和任意网址吗?
不应该。采用最小权限,分离读写工具,限制路径、网络目标、金额和收件人;高风险写操作使用预览加确认。日志中的密钥和个人数据要脱敏,并支持审计和撤销。
关联指南
官方来源
- OpenAI Function Calling Official
- Anthropic Tool Use Official
兔子API