Spend less on models without losing quality
Autopilot tries cheaper models on its own on your real calls, measures whether the answers stay equivalent to today’s and, when you approve, moves traffic to 10%, 50% and 100%. If quality drops, it rolls back on its own.
Free plan forever: 5,000 requests a month, no credit card.
The right model costs less. Finding it costs time.
Cheaper models come out every month, but trying them on your cases, measuring them and changing the code without breaking anything is work nobody has time for.
The most expensive model for everything
A model is picked at the start and used for every call, even for extractions and classifications that need a much smaller one.
Benchmarks that aren’t your data
Leaderboards tell how a model does on average. You need to know how it does on your invoices, your tickets, your prompts.
Switching models is scary
A weaker model can break an agent in production. Without measurements and a way back, everything stays as it is.
How it works
Your agents’ code stays as it is. Autopilot works through routing rules, which it creates and removes by itself.
-
1
You set the goals
Minimum quality (95% by default), latency, how much to spend per month on trials and which agents to leave alone.
-
2
It tries on real calls
For each agent and model it repeats part of the calls on a cheaper candidate, after the agent has already received its answer. Agents see no difference.
-
3
It measures quality
JSON answers are compared field by field, free text is rated by a judge (the model you use today). Your votes in Comparisons win over everything.
-
4
It moves traffic a little at a time
You approve the plan and traffic moves to 10%, 50% and 100%, at least one day per step. If the chosen model rejects a call, GuardrailX redoes it right away on the model your code asked for.
-
5
It keeps watching and tries new models
Part of the calls stays under monitoring: if quality or latency drop it rolls back and alerts you. When an even cheaper model comes out, it tries it and proposes it.
What changes in your code
Nothing. Moved calls say so in the response headers, and the Requests tab shows «asked → used» with the estimated savings.
- x-guardrailx-modello-originale: the model your code asked for.
- x-guardrailx-instradamento: the rule and the model used.
- For an agent that must stay on its model, just leave it out in the goals.
# A call moved by Autopilot
HTTP/1.1 200 OK
x-guardrailx-modello-originale: gemini-3.5-flash
x-guardrailx-instradamento: sempre: gemini-3.5-flash-lite
# The plan for the «invoices» agent
today: gemini-3.5-flash, $40 / month
candidate: gemini-3.5-flash-lite
quality: 98%, 49/50 (goal 95%)
savings: ~$32 / month
rollout: 10% → 50% → 100%
Which model it tries
One candidate at a time, from the same provider, at least 30% cheaper on the price list and not retired. Among the valid ones it takes the closest to today’s model.
| Where it looks | Example |
|---|---|
| Pairs recommended by the provider | The small model the provider suggests for the large one |
| The same model, reasoning less | If reasoning is at least 30% of the spend: low reasoning_effort, before changing model |
| The same family | gpt-5 → gpt-5-mini |
| The cheap version of the same category | gemini-3.6-flash → gemini-3.5-flash-lite |
| The same tier of a newer generation | gemini-3.5-flash-lite → gemini-3.6-flash-lite |
By hand too: routing and comparisons
Autopilot uses the same tools you can use: rules that send one model to another, and comparisons to try a model on your data before deciding.
- A rule says: when an agent asks for this model, use that one. For all agents or one, for all call types or only some.
- If the new model rejects the request, GuardrailX repeats it right away with the one asked for: the agent doesn’t break because of a rule.
- A comparison repeats part of the calls on one or more models and shows the answers side by side, with costs and times.
| Rule condition | When it applies |
|---|---|
| Always · every call to that model | For work that doesn’t need the most expensive model. |
| Budget running out · beyond a limit’s threshold | When a spending limit is already used beyond the threshold, 80% by default. |
| Short prompt · simple tasks | When the estimated prompt has fewer tokens than the threshold, 500 by default. |
| Fallback · if the provider errors | When the provider answers 429 or 5xx: the call is retried right away with the other model. |
Questions about Autopilot
Do I have to change my agents’ code?
No. Autopilot works through routing rules, which it creates and removes by itself. Your code keeps asking for the usual model; moved calls say so in the x-guardrailx-modello-originale and x-guardrailx-instradamento headers.
How does it know the cheaper model is good enough?
It repeats part of the calls on the candidate and compares the answers: JSON field by field, free text with a judge (the model you use today, with your keys). A candidate passes only with enough pairs, quality above the goal even in the worst case, latency within limits and real savings. Your votes win over the judge.
How much do the trials cost?
Trials, monitoring and judge use your providers’ keys and stay within the monthly spend you choose in the goals. Once reached, trials stop until next month. They are not part of the agents’ spend.
What data does it keep?
To measure, it stores a sample of questions and answers, encrypted, and deletes them after 30 days.
What if quality drops after the switch?
Part of the calls keeps being repeated on the starting model: if quality or latency fall below the goal, the segment rolls back on its own and we let you know. It also rolls back if the savings disappear because prices changed. You can do it yourself too, with «Roll back».
What happens when a new model comes out?
When a cheaper model shows up in the price list, Autopilot notices within an hour and tries it on its own, without moving anything until the trial has passed. Then it proposes it; with «Apply future improvements by itself» it starts without asking.
Can it move an agent from one provider to another?
No: a candidate is always from the same provider, because OpenAI, Anthropic and Gemini use different call formats. With OpenRouter, instead, models from different makers share the same format, and a rule can move from one to another.
Related features
Spend limits at every level
Per project, key, agent and session, daily and monthly. Once the limit is reached, the call stops before it costs anything.
Savings suggestions
Points out replaceable models, reasoning you can limit, retired models and budgets at risk of overrun, with an estimate of what you would save and a way to try it.
Privacy Guard
Masks emails, phone numbers, IBANs, tax codes and names before the provider and puts them back in the reply. Or blocks the call.
Put a cap on spending before the next loop.
Start on the Free plan: 5,000 requests a month, no card and no end date.