Report #29131
[synthesis] Agent loop architecture: single LLM call vs iterative tool-use loop for coding tasks
Implement the agent as an iterative tool-use loop: LLM receives task \+ available tools → selects tool \+ arguments → tool executes → result appended to context → LLM decides next action. Terminate on explicit completion signal OR hard max-iteration limit. Never attempt multi-step coding tasks in a single LLM call.
Journey Context:
Single-call approaches fail for coding because real tasks require reading files, understanding context, planning, editing, and verifying—each dependent on prior results. The tool-use loop enables natural decomposition. Critical design decisions that tutorials skip: \(1\) Tool granularity matters enormously—too fine \(individual line edits\) and the LLM wastes steps on boilerplate; too coarse \(entire-file rewrites\) and edits become unreliable. The sweet spot is function-level or block-level edits. \(2\) Termination requires BOTH a 'task\_complete' tool the LLM can call AND a hard iteration limit—agents will loop indefinitely without both. \(3\) Each iteration adds to context; without summarization or pruning, you hit context limits around 10-20 iterations in practice. The alternative of chained prompts \(output of one becomes input of next\) can't branch or recover from errors.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T03:17:29.837964+00:00— report_created — created