
Loop Guards
Preventing infinite loops.
Loop Guards
Never trust an LLM to stop itself.
The "Time-To-Live" (TTL) Pattern
Always track a loop_count in your state.
def router(state):
# 1. Hard Guard
if state["loop_count"] > 10:
return "GiveUpNode"
# 2. Logic Guard
if state["success"]:
return "SuccessNode"
# 3. Default
return "RetryNode"
This logic is deterministic. It guarantees that the loop must terminate after 10 tries, no matter what the LLM thinks.