标准答案
- 为任务设置最大模型轮次、工具调用次数、总 Token 或金额预算、单步和总 deadline,并在每次执行前检查剩余预算。
- 按任务和租户配置工具白名单、并发上限、数据范围和写操作权限;低风险查询与高风险副作用使用不同上限。
- 达到任一限制时保存当前状态,向用户返回可理解的中断原因,必要时转异步或人工处理,不能继续重试直到预算耗尽。
题目解析
预算要跨组件传递。网关、Agent 编排器、模型 SDK 和工具服务各自设置独立重试时,实际调用次数会超过预期;应使用任务级预算和幂等上下文。
时间限制要支持取消传播,避免前端超时后 Agent 仍在后台执行写操作。对于不可取消的下游动作,应转成可查询的任务状态。
工具范围要根据当前会话动态计算,但不能由模型自行扩大。权限变化和用户退出后,正在执行的任务也要重新检查。
常见误区
- 只设置 maxIterations,没有 Token、金额和外部副作用预算。
- 限制只在前端做,客户端关闭页面后任务仍无限执行。
- 达到上限后返回普通成功响应,导致用户误以为任务已完成。