Skip to content

Agent Tool Calling 生产实践:权限、校验、重试与死循环防护

Tool Calling 让模型能够调用搜索、数据库和业务 API,但模型输出不是授权凭证,也不是可靠的执行计划。生产系统需要把工具调用当作不可信输入,经过服务端策略校验后再执行。

工具白名单与参数 Schema

每个 Agent 只应看到完成当前任务所需的工具白名单。工具定义需要声明参数类型、必填字段、枚举范围和长度限制,服务端还要再次校验,不能只相信模型返回的 JSON。

高风险操作应拆分为“预览”和“执行”两步,并要求用户或人工审核确认。数据库、文件系统和网络访问都应使用最小权限和明确的资源范围。

超时、重试与幂等性

工具调用必须设置连接、读取和总执行超时。只有可判断为暂时性失败的操作才允许有限重试;参数错误、权限拒绝和业务冲突不应盲目重试。

会产生副作用的工具需要幂等键或状态检查,避免模型重试导致重复订单、重复发信或重复写入。重试次数、等待时间和最终错误都要记录。

最大迭代次数与人工确认

Agent 循环应有最大迭代次数、总耗时和 Token 预算。模型反复调用同一工具、工具返回空结果或计划没有进展时,应停止循环并返回可解释的降级结果。

删除、付款、发布和权限变更等操作不应由模型直接决定最终执行。系统应展示参数、影响范围和待确认动作,再由具备权限的用户完成确认。

审计、降级与继续学习

每次调用至少记录 Agent、用户、工具名、参数摘要、授权结果、耗时、结果摘要和错误类型;敏感正文按最小化原则保存。审计日志不能成为绕过权限读取业务数据的另一条通道。

工具不可用时,可以降级为只读查询、人工处理或明确告知暂时不可用。完整的检索权限边界可参考 企业级 RAG 项目,组合架构可参考 GraphRAG、Text2SQL 与向量 RAG 选型

继续学习

AI 应用开发训练营 · 现在开始

别只收藏 AI 文章,今天就做出第一个能上线的项目

文章解决认知,项目才证明能力。把 Agent、RAG、MCP 变成可运行、可展示、可面试表达的成果,现在就从一次岗位准备度自测开始。

立即开始 AI 岗位准备度自测 查看训练营路线
真实学员成果先看成果,再决定是否开始 →
  1. 01选方向
  2. 02做项目
  3. 03出成果
  4. 04拿面试