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 可以直接访问生产数据库、文件系统和任意网址吗?

不应该。采用最小权限,分离读写工具,限制路径、网络目标、金额和收件人;高风险写操作使用预览加确认。日志中的密钥和个人数据要脱敏,并支持审计和撤销。

官方来源

  1. OpenAI Function Calling Official
  2. Anthropic Tool Use Official