Skip to content

[REQUEST] Per-phase model selection (plan model vs action model) #61

Description

@itayinbarr

Split out from #54 (sub-ask 2), confirmed by @cndjonno.

Goal: let little-coder use a different model per phase — e.g. a big model for planning, a small one for implementation — instead of inheriting one active model across everything. @cndjonno's framing:

Plan is one model (or hook) and implementation is another, both could point to the same model if the user desires, or auto-default the Plan model as the Action model if only one is defined.

Where it stands today

Plan Mode's explorer sub-coders inherit the parent's active model (currentModelId(ctx) in subagent/index.ts). You can already do this manually — set the parent to your big model with ctrl+P, run Plan Mode, switch the parent to your small model, then "Approve & implement". The ask here is to make that split automatic/declarative.

Design questions to settle

  • Phases that could each take a model: Plan Mode's research sub-coders, the synthesis (plan-writing) turn, the implementation turn, and (later) individual dispatch sub-coders. Which deserve their own knob vs. collapsing into just "plan model" + "action model"?
  • Configuration surface: env vars (LITTLE_CODER_PLAN_MODEL / LITTLE_CODER_ACTION_MODEL) vs. an annotation in models.json vs. a /-command picker with autocompletion over the configured models.
  • Default: if only one model is defined, the plan model auto-defaults to the action model (good for new-user setup).
  • Out of scope (for now): per-subagent model assignment (OCR task → tiny model, web review → vision model, etc.) — noted as a future consideration, not part of the first cut.

Stretch (from the thread, explicitly future)

Action model → multiple sub-agent models, e.g. a tiny model for OCR, a vision model for "review this website", a general model for most skills.

Not committing to a shape yet — opening this to collect interest and converge on the config surface before building. Thoughts welcome.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions