Agent Stop Conditions в 2026: когда агент должен остановиться, а не пробовать ещё раз
Agent stop conditions в 2026: как задавать terminal states для planning, tool use и retries, чтобы агент не входил в бесконечные loops и не ухудшал ситуацию новой активностью.
Agent stop conditions в 2026 важны потому, что многие production-agent failures выглядят не как единичная ошибка, а как слишком долгое продолжение активности после того, как полезный путь уже закончился. Агент ещё раз перепроверяет, ещё раз вызывает tool, ещё раз пытается переписать план, хотя evidence уже не улучшается, budget исчерпан или risk profile вырос.
Stop condition — это правило, по которому агент должен закончить текущий run: вернуть результат, запросить человека, уйти в manual mode, сделать abstain или зафиксировать failure. Без таких правил агент склонен продолжать работу дольше, чем полезно.
Самый вредный anti-pattern - описывать stop condition только как max_steps. Лимит шагов нужен, но сам по себе он не понимает, улучшает ли агент ситуацию, повторяется ли ошибка и стал ли следующий шаг уже operationally unsafe.
def should_stop(run):
if run.goal_achieved:
return "success"
if run.repeated_tool_errors >= 2:
return "failed_safe"
if run.no_progress_steps >= 2:
return "needs_human_review"
if run.retry_budget_exhausted:
return "budget_exhausted"
return None
Практический совет: зрелый агент останавливается не тогда, когда "больше не может", а тогда, когда дальнейшая активность уже не даёт хорошего operational tradeoff.