Skip to content

Support strong/medium/weak model configuration for workflow agents #13

Description

@Michaelliv

Right now the workflow/subagent model selection is likely too coarse. For generated workflows, we probably want a way to configure tiers like:

  • BIG_MODEL / strong model for planning, architecture decisions, hard reasoning
  • MEDIUM_MODEL for normal edits and synthesis
  • SMALL_MODEL / weak model for cheap repetitive operations, classification, scanning, formatting, etc.

The main motivation is cost/control: users may not want an expensive frontier model updating thousands of files when a cheaper model can handle many workflow steps.

Open questions:

  • Should model tiers be global config, workflow-level config, or both?
  • Should the JS workflow DSL expose model selection per step/subagent?
  • Should defaults map to strong/medium/small aliases rather than concrete provider model names?
  • Do we want aider-compatible naming like strong_model / weak_model, or our existing BIG_MODEL / MEDIUM_MODEL / SMALL_MODEL style?

Potential API shape:

await agent.task("scan files", { model: "small" })
await agent.task("design migration", { model: "big" })
await agent.task("apply changes", { model: "medium" })

This should make dynamic workflows more practical for large repos and long-running subagent tasks.

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