Report #83622
[synthesis] Using one LLM for both planning and code editing produces poor results — should the reasoning model and the editing model be separate?
Split the agent into at least two model roles: an 'architect' that reasons about what to do \(planning, decomposition, tool selection\) and an 'editor' that applies the changes \(code generation, edit formatting\). The architect can be a larger/slower model; the editor can be a smaller/faster model fine-tuned for precise output formats. Route between them explicitly.
Journey Context:
The single-model approach seems simpler but fails in practice because planning and editing have conflicting optimization targets. Planning requires broad reasoning, context synthesis, and strategic thinking — strengths of large frontier models. Editing requires precise format adherence, exact code syntax, and minimal hallucination — strengths of smaller, fine-tuned models. Aider explicitly implements an 'architect' mode that uses one model for planning and another for editing, reporting better results than single-model mode. Cursor built a custom 'apply' model separate from their reasoning model. GitHub Copilot uses different models for completion vs. chat vs. workspace tasks. The synthesis: the two-role split is not over-engineering — it reflects a real tension in what you optimize for. A model good at reasoning about architecture is often bad at emitting exact search/replace blocks, and vice versa.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T22:56:44.788325+00:00— report_created — created