
书名:《Agent Runtime 工程化:从工具调用循环到可恢复执行系统》
作者:陈堂会
章节:第三章 最小 Agent Loop / 3.4 max steps 与 stop condition
电子版系列:查看完整目录
第三章 最小 Agent Loop:3.4 max steps 与 stop condition
没有最大步数的 Agent Loop 是一个事故邀请函。模型可能重复读同一个文件,也可能在工具失败后不断尝试相同参数。最小 runtime 必须有 maxSteps。
但 maxSteps 只是硬刹车,还需要软停止条件:
- 模型返回 final answer;
- 模型没有工具调用;
- 连续 N 次工具调用无新信息;
- 连续 N 次相同错误;
- 预算耗尽;
- 用户取消;
- 权限被拒绝且没有替代路径。
示例:
function shouldStop(state: RunState): StopDecision {
if (state.finalAnswer) return { stop: true, reason: "final" };
if (state.steps.length >= state.maxSteps) {
return { stop: true, reason: "max_steps" };
}
if (state.sameErrorCount >= 3) {
return { : , : };
}
(state.. <= ) {
{ : , : };
}
{ : };
}

