ReAct 循环与退出条件

Agent 开发进阶6讲解 4

最小 ReAct 循环四十行就能写,真正的考点是退出条件:模型给出最终答案、步数上限、成本预算熔断、无进展检测、外部中断 —— 五类一个都不能少。死循环有三种形态,对策是检测重复动作、降级到 workflow 或交人。

也叫:ReAct · 循环控制 · 退出条件 · 死循环 · 预算熔断 · Agent 循环

五类退出条件,一个都不能少出自 T3-3

# 退出条件 触发方 不写会怎样
1 模型给出最终答案(无 tool_calls) 模型 —(正常出口)
2 步数上限 max_steps 代码 无限循环
3 成本/token 预算上限 代码 步数没超但账单爆炸(单步可吃掉巨量上下文)
4 无进展检测(重复动作/无新信息) 代码 开篇那种 16 轮空转
5 致命错误(依赖不可用、权限拒绝) 代码 明知无望还继续烧钱

面试白板题里,第 2 条几乎人人会写,第 3、4 条是分水岭。 第 5 条要能区分"可恢复错误"和"致命错误":参数格式错了应该把错误信息还给模型让它自己修(这是 ReAct 的自愈能力),下游服务 503 应该直接终止或退避重试,而不是让模型反复撞墙。

以上节选自T3-3 手写最小 ReAct 循环——退出条件才是真正的考点,读全文能看到前后语境。

延伸阅读

考这个知识点的题1

会连带问到5