All posts

Why we chose 500+ models over one great model

The best model for planning is different from the best model for coding or testing. Provider-agnostic routing lets each agent role use what it's actually best at.

When we started building Mode Agent, the obvious design choice was to pick the best available AI model and use it for everything. This is what almost every AI coding tool does. It's simple, it's predictable, and it means you only have one API key to manage.

We chose not to. Here's why.

Models have different strengths

The AI model landscape in 2026 is not a linear ranking where one model is clearly best for all tasks. Different model families have meaningfully different capabilities that matter for different agent roles.

Planning requires long-context reasoning, meaning the ability to hold a large codebase in mind, understand component relationships, and produce a coherent task breakdown. Some models are exceptional at this. They're also typically expensive and slower, which doesn't matter much when you're running one planning step per task.

Coding requires breadth of language and framework knowledge combined with instruction-following precision. The model needs to produce code that matches a spec exactly, in the right style, with the right imports. Different models have different strengths here by language and framework.

Code review requires adversarial thinking, actively looking for problems rather than rationalizing why code is correct. Some models are measurably better at identifying security vulnerabilities and edge cases than others.

Design work requires strong spatial reasoning, an understanding of visual hierarchy, and the ability to produce clean, accessible UI code. Some models generate better component structures and more consistent design systems than others.

Copywriting requires tone control, persuasion, and the ability to match a brand voice across dozens of deliverables. A model that writes great documentation may produce flat marketing copy. The best copywriting models understand audience, emotion, and conversion.

Research requires synthesis across many sources, the ability to identify conflicting data, and strong citation habits. Some models are better at deep web research and evidence gathering than others.

Marketing strategy requires understanding of channels, audience segmentation, and campaign structure. The model needs to produce coherent multi-channel plans, not just individual assets.

Using one model for all of these is a compromise. You get something acceptable at everything and excellent at nothing.

How routing works

Mode Agent's model routing infrastructure sits between the orchestrator and the model API calls. When you describe your goal, the Agent intelligently determines which agents to deploy and auto-routes each one to the best model for that specific type of work. You don't need to know which model is best at what. The Agent makes the call for you.

When the orchestrator dispatches a task to an agent, it includes the agent role in the task metadata. The routing layer maps roles to models based on your configuration, or the Agent's own heuristics if you prefer automatic routing.

# .mode/routing.yaml
roles:
  planner: anthropic/claude-opus-4
  coder: anthropic/claude-sonnet-4
  reviewer: openai/o3
  tester: anthropic/claude-sonnet-4
  doc-writer: openai/gpt-4o-mini

# Cost optimization: use cheaper models for simple tasks
cost_tier:
  low:
    coder: anthropic/claude-haiku-4
    tester: anthropic/claude-haiku-4

Users can configure routing exactly as they want it, using models from multiple providers simultaneously, or using a single provider for simplicity. The routing layer normalizes the API surface so agents don't need to know which model they're talking to.

Provider abstraction

Supporting 500+ models across every major provider is not just an integration exercise. We're building custom harnesses for each provider, testing models across task types, and continuously evaluating which models perform best for which agent roles. The routing heuristics that decide "this model is best for code review, that one is best for planning" are informed by real benchmarks we run ourselves.

The integration layer normalizes API surfaces so agents don't need to know which provider they're talking to. But the deeper work is the evaluation layer that makes routing decisions meaningful rather than arbitrary.

Automatic cost optimization

One of the most useful routing features is cost-tier optimization. Not every task needs the most capable model. Generating boilerplate, updating inline documentation, and writing simple unit tests don't require GPT-4o or Claude Opus.

Mode Agent analyzes task complexity (based on file count, change scope, and task description) and routes to cheaper models when it's confident the task doesn't require full capacity. The savings depend on the workload, but the principle is straightforward. Use the right-sized model for each task instead of always reaching for the most expensive one.

You can set hard rules ("always use this model for security reviews") or let the Agent make the call automatically based on its heuristics.

Data sovereignty

The other reason to support multiple providers is data sovereignty. Different organizations have different constraints about where their code can go. An enterprise running Mode Agent might need all API calls to go through Azure OpenAI or AWS Bedrock for compliance. A solo developer might prefer a specific provider for cost or performance reasons.

By not coupling the Agent to any specific provider, we give users control over where their data flows. The specifics of how the Agent handles logging, data retention, and provider routing are still being finalized as we build toward launch. But the architectural decision to support multiple providers means users will always have options for where their data goes.

The bet on model diversity

There's a longer bet embedded in this design. We think the AI model landscape will remain diverse and competitive for the foreseeable future. New models will continue to appear that outperform incumbents on specific tasks. New providers will emerge with better latency, pricing, or specialization for particular domains.

Building Mode Agent around a single provider would mean being dependent on that provider's roadmap, pricing decisions, and API stability. Building around a routing layer means the Agent gets better as the model ecosystem improves, and users can swap in better models as they become available without changing anything about how they use the Agent.

We think that's the right long-term bet. The best model for any given task in January 2026 won't be the best model in January 2027. The Agent should always be able to use the best available option.

More from Mode