microsoft / microsoft/vscode

Auto model selection should offer quality, balanced, and economy routing profiles

Open
#329,626 0 comments 2 reactions 1 assignee Claimed by @lramos15 View on GitHub
Dominant language
TypeScript
Stars
193k
Forks
42.4k
PR merge metrics
PR metrics pending

Description

## Feature request: configurable Auto routing profiles

Please add user-selectable routing preferences for **Auto** in VS Code Copilot Chat and the Agents experience:

- **Quality** — favor the model expected to provide the strongest result for the task, accepting higher cost or latency when needed.
- **Balanced** — choose the best overall quality, cost, and responsiveness trade-off.
- **Economy** — favor lower cost and faster responses when the expected task quality remains sufficient.

The current Auto experience can appear to route repeated coding tasks through a narrow subset of models, while other models available to the user may offer a better quality/cost trade-off for that task. Users need a supported way to state which trade-off matters to them without manually choosing a model for every prompt.

## Expected behavior

For each profile, Auto should select from the current models eligible for the user's plan and organization policies, subject to real-time availability and reliability. Its decision should consider:

- the request type and complexity, such as coding, debugging, editing, research, or simple lookup;
- task fit and model capabilities, including tool and context compatibility;
- current model lifecycle and availability, as models are introduced, changed, or retired;
- the relevant quality, cost, latency, and reliability trade-off for the selected profile.

This is not a request for a fixed model ranking or a hardcoded vendor preference. Auto should keep using server-side routing and fallbacks, but it should use the current eligible catalog and honor the user's chosen routing objective.

## Subagents and transparency

Subagent requests should inherit the parent request's Auto profile by default, unless the user explicitly configures a different supported profile or model. After a response, show the effective model and profile. If a profile could not be honored because of plan, policy, capacity, or reliability constraints, provide a high-level indication of that reason.

No proprietary scoring details are needed; the goal is a predictable outcome and enough information to understand why a fallback occurred.

## Why this matters

The documentation describes Auto as selecting an optimal model based on task complexity, supported-model eligibility, system health, and availability. It does not currently give a user-facing way to choose whether Auto should optimize primarily for quality, a balanced trade-off, or economy:
https://docs.github.com/en/copilot/concepts/models/auto-model-selection

Model capabilities and prices change quickly. A routing profile would let Auto continue to evolve while giving users a stable, intentional control over the trade-off they want for coding workflows.

## Related work

- #320198 requests model inclusion/exclusion for Auto. That is complementary: an allowlist controls eligibility, while this request controls the routing objective among eligible models.
- #328630 concerns a routed-versus-executed model mismatch.
- #306717 / #306846 and #329463 cover explicit tiers or model controls for subagents/Auto.

If this is already covered by an existing issue or planned work, please consolidate it with the most appropriate item.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.