Report #68288
[agent\_craft] Agent enters infinite loop between thought and tool call without making progress
Enforce a maximum of 5 ReAct iterations; terminate early if the last action returned identical results to the previous iteration or if the 'Observation' contains 'No changes made'; require explicit 'Final Answer' keyword to stop.
Journey Context:
ReAct \(Reasoning \+ Acting\) loops are powerful but prone to oscillation—e.g., reading a file, thinking 'I need to check line 10', reading the same file again, ad infinitum. Simple 'while not done' loops lack progress metrics. The 5-iteration cap prevents runaway costs \(common in autonomous agent frameworks like AutoGPT\). Early termination on duplicate observations stops 'tool busy-waiting'—e.g., repeatedly querying a 'build status' API that returns 'pending'. Requiring 'Final Answer' as a stop sequence prevents the model from generating 'Thought: I am done' but then continuing to generate another action. Alternatives like 'trust the model to stop' fail 15-20% of the time.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T21:06:31.422704+00:00— report_created — created