Quirq, the team behind XO, asked a practical question: could its coding-agent workflow deliver the same quality of results without sending every request to the most expensive model? In a 90-task evaluation, using Sage to select models and retrying incomplete work once on a stronger model cut the reported total cost by 51%: $34.04 instead of $69.57. Reviewers judged 84 tasks complete, compared with 83 for the Opus-only control.

quirq-ai is built entirely by agents. They plan, open the pull requests and run the pipelines; I approve. Their first week produced a dozen repos. At that scale, which model takes which task matters, and that is where Sage comes in. A cheap model that can’t finish saves nothing, so Sage picks the starting model and we escalate once if it falls short. Half the spend, same completed work.
Co-Founder, Quirq
One expensive default for very different requests
XO runs coding agents on behalf of individuals and companies. This study examined its workflow running Claude Code. Before the study, every request used Claude Opus 5.5 at high effort, and the agent found its own way around the codebase.
The workload ranged from drafting a short LinkedIn post to making XO installable as a Codex plugin. In the study, the first took one agent step on a light model; the second took 51 steps on Opus. Both were judged complete. A single default paid for the strongest layer even when the work needed much less.
The team wanted a policy that could distinguish those requests before the session started, preserve explicit model choices, and fall back safely when the decision was unclear.

Explore XO or follow the team at @quirq_ai.
How Sage chooses the starting model
Start with the first message
“Add a dark-mode toggle to the settings page.”
Which setup fits the work?
Describe each option in plain English.
Already chose a model or effort? Honor that choice and skip routing.
No clear answer or Sage unavailable? Use Opus 5.5 at high effort.
Illustrative application pseudocode adapted from the report.
if request.has_explicit_model_or_effort:
config = request.explicit_configuration
else:
decision = classify_with_sage(
content=request.first_message,
options=["light", "standard", "deep", "research"],
)
profile = decision.accepted_choice # None if unclear
config = profiles.get(profile, profiles["deep"])
result = run_session(request, config)
# Round 2: review first, then allow one stronger attempt.
if judged_incomplete(result) and has_stronger_layer(config):
result = run_from_original_start(
request, next_stronger_layer(config)
)
How to escalate unfinished work
One retry on a stronger model recovered 11 of 14 unfinished tasks. That second chance let the team start with less expensive models without leaving those requests incomplete.
The first round showed why a recovery step mattered. Routing with Sonnet 5 in the middle layer reduced spend, but completed only 29 of 60 tasks, compared with 53 of 60 for Opus alone. A cheaper starting model was little use when it could not finish the work.
In the second round, the team upgraded the standard and research layers to Sonnet 5.5. When reviewers judged a result incomplete, the application also reran that task once, from its original starting point, on the next layer up: light → standard, or standard / research → deep. A task already on Opus had no higher layer to try.

The 14 retries cost $12.65, included in the $34.04 total. Both attempts count toward the reported cost.
Half the reported cost across 90 tasks
The team’s report, dated September 30, 2026, describes a second round covering 40 code changes, 20 questions about the codebase, and 30 everyday requests. Each setup started from the same files for a given task. Reviewers assessed whether each result completed the request, without seeing which model, setup, or cost produced it.
| Reported outcome | Opus only | Sage routing + escalation |
|---|---|---|
| Complete on the first attempt | 83 / 90 | 73 / 90 |
| Complete after up to one escalation | No retry in this setup | 84 / 90 |
| Total evaluation cost | $69.57 | $34.04 |
That is a $35.53 reduction, or approximately 51%, under the study’s accounting. Both attempts are counted for retried tasks. The totals also include Sage fees calculated using the report’s September 2026 decision-unit pricing; they are historical evaluation figures, not a quote under current Sage pricing.
The final observed completion rates were close. The report’s 95% interval for the difference ranged from roughly 3 percentage points lower to 7 points higher for routing. This small evaluation does not establish equivalent quality across other workloads, and its first-attempt results show why the escalation step matters.
What the other experiments taught the team
The team also tested giving the agent a short note pointing to likely files. With the weaker Sonnet 5 setup, that raised completion from 29 to 36 of 60. In the second round, it produced the same final completion count as routing alone, with higher total cost: $38.38 versus $34.04. More context machinery did not improve the observed result in that round.
The team stored completion feedback to adjust future routing when similar failures accumulated. The report describes corrections in the first round, but none in the second. The second-round result came from the revised model configuration and immediate escalation; it is not evidence of a routing policy that kept learning and improving throughout that round.
A routing policy to evaluate on your own work
The study demonstrates a practical pattern: classify the request, start with a suitable model, and reserve a stronger attempt for work that fails review. Its value depends on the capabilities behind each layer and on whether the application can identify an incomplete result.
The evidence is a customer-reported study on one codebase and one coding agent. Completion was assessed by inspecting outputs and changes rather than running tests. Sixty Opus baseline results were reused from the first round, with six reruns used as a consistency check. In the experiment, reviewers triggered retries; real users may not always provide feedback. The report does not establish a production rollout or measured user-time savings.
To build a routing decision into your own agent workflow, start with the Sage integration guide and evaluate it against the tasks your users actually send.

