Based on the discussion in the Discord chat, there seems to be confusion about how Aider's models and modes interact. Let me clarify the key points:
First, let's distinguish between two core concepts:
- Models: The AI engines that do the work (o3-mini, claude-3-5-sonnet, etc.)
- Modes: Different ways of interacting with Aider (/code, /architect, /ask, /help)
When you run: aider --architect --model o3-mini --reasoning-effort high --editor-model sonnet
Mode | What Happens | Models Used |
---|---|---|
/architect |
First thinks about solution, then edits files (after asking you) | Thinking: o3-mini Editing: sonnet |
/code |
Directly makes code edits | Thinking: o3-mini Editing: sonnet |
/ask |
Answers questions without editing files | Only o3-mini |
No - "architect" is just a mode, not a separate model. It uses your main model (o3-mini in this example) for planning, then your editor model (sonnet) for making changes.
This is a key issue many users face:
- In
/architect
mode, when the editor model is called, it only receives the architect's last solution, not your full conversation history - If you press "n" (reject the edits) and ask a follow-up question, the context might feel disconnected
- This is an intentional design choice to focus the editor model, but it can be frustrating
- For back-and-forth discussion before implementation: Use
/ask
mode - For direct implementation: Use
/code
mode with your full context - For complex planning followed by implementation: Use
/architect
mode but be prepared to provide comprehensive context in follow-ups
- Cost efficiency: Use a cheaper model for planning, more expensive model for precise edits
- Specialization: Some models are better at reasoning (o3-mini), others at code editing (sonnet)
- It's completely optional! Most users can start with a single model setup
Think of it this way:
- Your
--model
is your "thinking brain" - Your
--editor-model
is your "typing hands" - Different modes (
/architect
,/code
,/ask
) are just different ways of using these components
For beginners, using just one model for everything is perfectly fine and avoids these complexities entirely!