一句话回答
Agent 止损,就是给自动执行加上清晰出口。当重试太多、步骤太多、时间太久、成本超预算、没有新进展或风险变高时,系统要暂停、降级、询问用户或转人工。
01 Agent 为什么会卡住?
stuck patterns
同一个工具反复调用
API 一直失败还在重试
两个步骤之间来回循环
缺少关键信息还在猜
Token 和 API 费用继续增加
查询物流接口超时重新查询还是超时继续查询
Agent 系统不能只设计成功以后怎么办,还要提前设计一直失败怎么办。
02 第一种止损:限制重试次数
retry limit
第一次失败
重试
第二次失败
等待后重试
第三次仍失败
停止
03 第二种止损:限制最大步骤数
step cap
查客户
查订单
查聊天记录
搜索资料
继续搜索
再次分析
达到 15 步停止
最大执行步骤数,相当于给 Agent 设置一个最大行动次数。
04 第三种止损:限制总时间
timeout
任务开始
执行中
超过最大允许时间
保存当前状态
告诉用户未完成
05 第四种止损:限制成本
budget
最多消耗 X Token
超过预算后停止自动执行,或者切换到更便宜的降级方案。
最多调用模型 X 次
超过预算后停止自动执行,或者切换到更便宜的降级方案。
最多调用付费 API X 次
超过预算后停止自动执行,或者切换到更便宜的降级方案。
超过预算则停止或降级
超过预算后停止自动执行,或者切换到更便宜的降级方案。
06 第五种止损:检测重复行为
loop guard
查询订单
查询物流
查询订单
查询物流
重复打转
停止
相同工具 + 相同参数连续调用多次,就应该考虑停止。
07 判断有没有新信息更重要
no progress
执行一步
获得结果
有没有新信息?
没有则累计
连续无进展
停止
08 缺信息时,不要让 Agent 死磕
ask user
发现缺少订单号
停止自动执行
询问用户
请提供需要退款的订单号
向用户提问,本身也是一种止损方式。
09 高风险任务要更早停止
risk first
AI 发起退款
接口超时
状态不确定
查询交易状态
仍无法确认
转人工
10 转人工不是 Agent 失败
handoff
正常问题
Agent 自动处理。
连续失败
停止重试,转人工或稍后再试。
信息不足
向用户提问,补齐关键信息。
权限不足
停止执行,不绕过系统权限。
高风险操作
人工确认后再执行。
重大不确定
交给人工判断。
11 停止以后不要什么都丢掉
state report
任务处理订单异常
已完成查询订单、付款状态、物流,判断物流异常
未完成创建售后工单
失败原因工单系统暂时不可用
建议稍后重试创建工单
12 Agent 的保险丝
fuses
最大重试次数
最大执行步骤
最大运行时间
最大成本
重复行为检测
无进展检测
高风险人工确认
13 一个完整的止损逻辑
control loop
开始任务
执行下一步
检查是否成功
判断失败原因
能安全重试?
检查重试次数
重试或停止
步骤太多了吗?
运行太久了吗?
成本超预算了吗?
一直重复同样动作吗?
连续几步没有新进展吗?
涉及高风险操作吗?
14 成熟 Agent 应该有三种结局
valid endings
成功
任务已经完成。
部分完成
完成了一部分,但因为工具、权限或信息问题无法继续。
安全停止
继续执行风险或成本过高,停止并交给用户或人工处理。
15 为什么会停下来反而更智能?
reliable agent
什么事情我能处理
什么信息还缺
什么操作风险太高
什么情况应该请示负责人
真正成熟的表现不是永远不停,而是知道什么时候继续,什么时候停。
本节练习
给一个物流 Agent 加保险丝
为“查询订单物流,异常时创建工单”写止损规则:重试、步骤、时间、成本、缺信息、高风险和停止后的状态汇报。
重试最多重试几次?
步骤最多执行几步?
时间多久必须停止?
成本预算上限是多少?
进展怎么判断没有新信息?
出口问用户、降级还是转人工?
本节小结
- 任何可能失败的工具,都不要允许无限重试。
- 复杂任务要限制最大步骤、总时间和成本预算。
- 重复行为和连续无进展,比单纯报错更需要被监控。
- 安全停止、部分完成和转人工,都是成熟 Agent 的正常结局。