How to Build a GPT-6 Model Router That Cuts AI Costs 87% (2026 Guide)

Matt Payne··Updated ·8 min read
Key Takeaway

Defaulting every task to GPT-6 Astra costs 100x more than Luna. A 5-step router splitting work 80/18/2 across Luna, Sol, and Astra cuts a 10,000-task batch from $450 to $57. Migrate classification and extraction to Luna first.

Stop Paying Astra Prices for Luna Work

OpenAI added GPT-6 Sol and Luna on September 22, 2026. Most revenue teams should stop sending every task to Astra.

Sending every task to Astra wastes money.

Step 1: Split Work by Risk, Not Job Title

Your content agent doesn't have one job. It may classify a lead, research an account, draft an email, and update Salesforce.

Those steps don't need the same model.

OpenAI positions Luna for focused, high-volume work. Microsoft names extraction, summarization, routing, and routine customer interactions as good Luna tasks.

Sol sits in the middle. It handles multi-step reasoning, long context, coding, and tool-based workflows.

Astra is for deep reasoning, computer use, and important actions. It shouldn't classify 50,000 CRM records.

Use this starting map:

ModelBest revenue tasksKeep it away from
GPT-6 LunaClassification, extraction, tagging, summaries, deduplicationIrreversible actions and subtle final copy
GPT-6 SolAccount research, email drafts, article drafts, campaign planningUnapproved CRM changes and financial actions
GPT-6 AstraRisky tool use, final decisions, exception handlingBulk sorting and routine drafting

This model routing strategy treats each step as its own workload.

The idea isn't new.

Amazon launched EC2 in 2006. Smart cloud teams eventually stopped using premium machines for every workload.

LLM FinOps applies the same lesson to tokens. Match the model to the job.

The price gap makes lazy routing expensive. Microsoft lists these short-context Global Standard rates:

ModelInput per 1M tokensOutput per 1M tokens
Luna$0.10$0.50
Sol$2.00$10.00
Astra$10.00$50.00

Astra output costs five times more than Sol. It costs 100 times more than Luna.

If your router sends routine work to Astra, your architecture is the problem.

Most high-volume steps should move to Luna. Sol handles the work customers see.

Step 2: Build a Router With Hard Rules

Don't ask a model, "Which model should handle this?" without limits.

That gives a small AI purchasing department access to your credit card.

Start with deterministic rules. Add a Luna classifier only when simple rules can't decide.

Score every task across five fields:

1. Action risk: Can it send, delete, publish, or edit? 2. Dollar risk: Can it create a charge, refund, or contract? 3. Data risk: Does it touch private customer data? 4. Reasoning depth: Does it require several linked judgments? 5. Reversibility: Can a person undo the result quickly?

Use rules like these:

> If the task only labels, extracts, or summarizes, route to Luna. > If the task researches or drafts customer-facing content, route to Sol. > If the task performs a high-risk action, route to Astra. > If confidence falls below the tested limit, move up one tier. > If Astra requests an irreversible action, require human approval.

A sales agent might follow this path:

  • Luna classifies a reply as interested, objection, unsubscribe, or unclear.
  • Sol researches the account and drafts the response.
  • Astra handles a complex objection that requires CRM and pricing tools.
  • A person approves any discount or contract change.

Batteries Plus shows why classification matters. Salesforce says its Agentforce program produced 340 meeting requests and $15 million in pipeline.

Rosetree Solutions still needed several tuning rounds. The agent had to separate "not right now" from a real booking request.

Luna and validators can handle that work. You don't need Astra for every reply.

We use n8n for routing because each branch stays visible. You can inspect costs, errors, approvals, and tool calls in one workflow.

The model never owns the policy. Code and workflow rules own it.

That distinction matters. A 2026 Open Agent Trust Stack specification calls for pre-action controls outside the model.

The model proposes. Your system decides.

Every task should have a recorded reason for its model choice. Astra should stop being the default escape hatch.

Step 3: Put Spend Caps Around Every Agent

A monthly account limit doesn't control AI costs. It tells you about the fire after the building burns.

Set caps at four levels:

CapExample policyWhat happens next
Per taskStop after $0.20Retry with shorter context or queue review
Per contactStop after $1 across a campaignPause that contact
Per agentStop after $100 dailyFreeze new work and alert the owner
Per campaignStop after $2,000 totalRequire approval for more budget

Those dollar amounts are templates. Set yours from lead value and conversion data.

Every task should log five numbers:

  • Input tokens
  • Output tokens
  • Cached tokens
  • Total model cost
  • Cost per completed task

Don't report cost per token alone.

A cheap model that fails three times may cost more than Sol succeeding once. Anthropic made the same point when discussing Opus 5.5 using fewer tokens per task.

Use this formula:

Cost per completed task = total model spend ÷ tasks passing validation

Consider an illustrative batch of 10,000 tasks. Each task uses 2,000 input tokens and 500 output tokens.

Running everything through Astra costs about $450.

An 80/18/2 split changes that:

  • 8,000 Luna tasks cost about $32.
  • 1,800 Sol tasks cost about $16.20.
  • 200 Astra tasks cost about $9.
  • Total model cost is about $57.20.

That's 87.3% less than defaulting to Astra.

This example assumes equal token use across tiers. Your prompts, caching, retries, and context lengths will change the result.

If 9,000 routed tasks pass validation, cost per completed task is about $0.0064. If 9,500 Astra tasks pass, Astra costs about $0.047 each.

Astra completes more tasks in that example. The router still costs less.

OpenAI also reports a 90% discount on cached input reads for Sol and Luna. Cache company facts, product rules, and brand guidance whenever possible.

Finance can see task economics and API costs instead of a mystery bill.

Step 4: Gate Actions Before They Happen

Spend caps protect your budget. Approval gates protect your reputation.

Revenue agents can destroy trust faster than they create pipeline. One bad discount or false claim can outweigh 1,000 good classifications.

Use three action levels:

Level 1: Automatic

Allow actions that are cheap, reversible, and internal.

Examples include tagging a lead, summarizing a call, and scoring content against a checklist.

Luna should handle most Level 1 work.

Level 2: Automatic With Validation

Allow customer-facing drafts after checks pass.

A Sol-written email might need:

  • Verified company and contact names
  • A valid source for every factual claim
  • No blocked phrases
  • No unsupported pricing
  • No unsubscribe or suppression conflict

Failed checks should trigger a Sol retry. Repeated failures should move to Astra or a person.

Level 3: Human Approval

Require approval for actions with financial, legal, or account risk.

That includes:

  • Sending contracts
  • Changing prices or discounts
  • Deleting CRM records
  • Publishing final claims
  • Sending unusual campaign volumes
  • Accessing restricted customer data

Astra can prepare these actions. It shouldn't approve itself.

Salesforce surveyed 2,025 AI decision-makers in 2026. Teams with weaker governance found agents outside their limits after serious errors 32% of the time.

Teams with stronger controls reported 18%. That's still too high, but nearly half the rate.

Each approval record should show the proposed action, model, prompt version, tools, cost, evidence, and approver.

Keep risky actions out of long agent transcripts. Put them in a clear approval queue.

Routine work keeps moving. Risky actions stop before they reach customers or systems.

Step 5: Migrate From Astra With Real Tests

Don't switch every Astra call to Luna on Friday afternoon.

Pull 100 to 500 recent tasks from each workflow. Include normal cases, failures, unclear requests, and costly mistakes.

Run the same set through Luna, Sol, and Astra.

Score outcomes on business rules:

  • Correct classification
  • Factual accuracy
  • Brand fit
  • Tool-call accuracy
  • Completion rate
  • Cost per completed task
  • Time per completed task

Move a task down one tier only when it clears your required score.

Start with classification, extraction, and summaries. These are Luna's strongest targets.

Move research and first drafts to Sol next. Keep final decisions and risky actions on Astra.

Use a seven-day shadow run. The new route produces outputs without taking action.

Compare those outputs with your current Astra flow. Fix prompts, retrieval, and validators before switching traffic.

Then move 10% of live traffic. Raise it to 25%, 50%, and 100% after each review.

Use this migration checklist:

  • [ ] List every current Astra call
  • [ ] Label each call by risk and task type
  • [ ] Create Luna and Sol test versions
  • [ ] Set pass and failure rules
  • [ ] Add per-task and daily spend caps
  • [ ] Add approval gates before tool actions
  • [ ] Run historical evaluations
  • [ ] Run seven days in shadow mode
  • [ ] Shift traffic in measured stages
  • [ ] Review cost per completed task weekly
  • [ ] Re-test after model or prompt changes

OpenAI says GPT-6 Sol makes about half as many mistakes as GPT-5.6 Sol in its tests. That's promising, but you still need your own evaluation.

Batteries Plus didn't start with ten agents. Its two-agent pilot generated more than $220,000 across 55 opportunities in three months.

The team then expanded to ten agents. Salesforce reports 423,000 messages, 764 opportunities, and $14 million in pipeline.

V1 gives you evidence. Evidence earns more traffic.

StoryPros builds AI agents that take action across sales, marketing, and operations. Routing, caps, and gates keep those agents working after launch day.

FAQ

What is model routing, and why does it matter for LLM cost control?

Model routing sends each task to the lowest-cost model that can complete it safely. At listed GPT-6 rates, Astra output costs $50 per million tokens, while Luna output costs $0.50 per million tokens.

When should I use Luna vs. Sol vs. Astra?

Use Luna for classification, extraction, tagging, and routine summaries. Use Sol for research, writing, and multi-step work. Use Astra for high-risk tools and hard exceptions.

How do I set up spend caps and approval gates?

Set limits per task, contact, agent, and campaign. Require human approval before financial, legal, destructive, or unusual customer-facing actions.

Should every AI agent use all three GPT-6 models?

No. A classification agent may only need Luna and Sol. A tool-using sales agent may need all three models and human approval.

What should an LLM FinOps dashboard track?

Track token spend, cached input, retries, completion rate, model mix, and cost per completed task. Also track blocked actions and approval time for risky work.

Related Reading

AI Answer

How much cheaper is GPT-6 Luna than GPT-6 Astra for output tokens?

Luna output costs $0.50 per million tokens. Astra output costs $50.00 per million tokens. That is a 100x price difference at listed Azure short-context Global Standard rates.

AI Answer

How do I decide which GPT-6 model to use for each task?

Score each task on action risk, dollar risk, data risk, reasoning depth, and reversibility. Luna handles classification and extraction. Sol handles research and drafts. Astra handles high-risk tool use and hard exceptions only.

AI Answer

How much can model routing save on a batch of 10,000 AI tasks?

An 80/18/2 split across Luna, Sol, and Astra costs about $57.20 for 10,000 tasks. Running all tasks through Astra costs about $450. That is an 87.3% reduction in model spend.