
Agent 的终止条件一、终止条件是什么终止条件Termination Condition是决定 Agent 何时停止执行循环、结束任务的判断标准。Agent 本质是一个感知-决策-行动-反馈的循环终止条件就是这个循环的出口告诉 Agent 什么时候该停下来。常见的终止条件类型类型说明示例任务完成目标已达成代码生成并通过测试达到上限达到最大步数/调用次数/时间最多执行 20 步用户中断用户主动叫停用户说停止错误/异常遇到不可恢复的错误工具连续失败 N 次资源耗尽上下文/算力/预算用尽上下文窗口已满结果确认输出满足验收标准审查通过、用户确认二、为什么必须定义终止条件1. 防止死循环最关键没有终止条件Agent 可能无限循环执行永远不结束。例如工具调用失败后不断重试或反复自我修正却始终不收敛。2. 控制成本与资源Agent 每次循环都消耗算力、API 调用和上下文空间。没有上限可能产生巨额费用或耗尽资源。3. 保证任务可交付明确何时算完成避免 Agent 无限打磨、迟迟不交付结果。4. 提升可靠性在出错时能优雅退出而不是卡死或崩溃便于错误处理和恢复。5. 可预测性与可调试有明确的结束点行为可预期便于测试、日志记录和问题排查。三、不定义终止条件的后果无限循环Agent 卡在重复执行中永不返回资源/成本失控调用次数、算力、费用无限增长任务悬而未决没有明确的完成信号结果不可交付系统卡死占用资源导致整个系统不可用四、设计终止条件的要点多条件组合通常同时设置任务完成和最大步数上限等多个条件形成兜底。兜底机制即使任务未完成达到步数/时间上限也要强制退出。明确验收标准定义什么算完成避免模糊。优雅退出终止时返回当前状态、部分结果和原因便于后续处理。总结终止条件是 Agent 循环的出口决定何时停止执行。它必须被定义因为没有终止条件Agent 会陷入无限循环、资源失控、任务无法交付。好的设计通常组合任务完成 步数/时间上限 错误处理等多重条件确保 Agent 既能完成任务又能在异常时优雅退出。