AI专项完整解析Tool-call validation and failure handling

Agent 工具调用失败时,如何用严格 schema、工具护栏与人工审批设计校验和异常处理?

工具调用要把模型建议视为不可信输入,通过严格 schema、授权、幂等、超时和人工审批形成安全执行边界。

AI专项Agent工具调用ai核心题完整解析编辑精选

直接结论

Agent 调工具时,模型输出不是已经授权且正确的命令。工具定义应使用尽可能严格的 JSON Schema,服务端再次验证类型、枚举、范围和业务规则;每次调用还要做身份与资源级授权。只读查询和有副作用操作分开,支付、删除、发送或发布等高影响动作在执行前展示规范化参数并要求人工批准。运行时设置超时、重试上限、幂等键和审计记录,失败返回结构化可恢复信息,而不是把内部堆栈直接喂给模型。

原理与步骤

schema 解决语法与部分语义约束,不能证明调用意图正确。工具层应采取最小权限,按会话绑定用户身份,拒绝模型自行提供的权限声明。可重试错误与永久错误使用稳定错误码区分;重试采用退避和预算,并为写操作提供幂等键或两阶段确认,防止超时后重复执行。护栏可在输入、工具调用和输出阶段检查,但确定性的授权与数据完整性必须在服务端完成,不能只依赖另一个模型判断。

工程场景

邮件 Agent 可先调用只读草稿工具生成收件人、主题和正文预览,用户确认后才调用发送工具;发送接口以草稿版本和幂等键防止双发。数据库助手只开放参数化的受限查询,不接受任意 SQL;导出敏感数据要求额外审批并记录审计主体。若第三方 API 超时,系统先查询幂等状态再决定重试,超过预算则返回“状态待确认”并转人工,而不是让模型无限循环调用。

验证与边界

严格 schema 不会阻止合法格式中的恶意或错误值,人工审批也可能因信息展示不完整而失效,所以审批界面要呈现真实目标、影响范围和差异。工具结果仍可能包含提示注入内容,必须作为数据隔离,不能自动变成系统指令。验证应覆盖畸形参数、越权资源、重复请求、超时后成功、部分失败、审批过期和用户撤销,并证明所有写操作可追踪到用户与最终参数。

答题练习

  1. 1模型参数必须服务端复验
  2. 2高影响动作执行前审批
  3. 3写操作使用幂等与审计

常见错误

  • 把 strict schema 当成授权
  • 超时后直接重试造成重复副作用

可能追问

  • 如何设计可恢复错误协议
  • 审批界面应展示哪些影响信息

来源记录

原始来源
OpenAI Developers
来源页面
Agent guardrails and approvals
最近收录
2026-07-14
官方复核
OpenAI Developers