Why is my AI agent bill so high? One default setting cost $113.70 in a day
What happened
We run several AI agents for different jobs. One of them, on a cloud server, had the most expensive model set as its default. Nobody picked that on purpose for that agent's work.
That one agent spent $113.70 in a single day. The total for all agents that day was about $220, and the month to date was about $2,784.
It wasn't the first time. Months earlier we caught the top model doing grunt work: deploys, reading files, searching text. That ran about $125 a day.
Why the AI did it
The AI didn't do anything wrong. It did exactly what the setting told it to. The problem is that the default model gets used for everything the agent does, including the boring steps, unless you say otherwise.
Agents make a lot of small calls. Read a file, check a result, decide the next step, try again. Most of those are simple. Paying top-model prices for each one adds up fast, and a single day of looping can cost more than you expected to spend in a week.
This shows up in Salesforce agent projects too. An agent that checks records, retries a failed update, or loads a big set of tools on every turn will do it all at whatever model you set as default.
The fix, step by step
- Find where the money went. Use your AI provider's billing page and look at spend by day, and by key or project if you can. Treat the billing console as the source of truth. We couldn't get cost data from the admin API, so we used the console.
- Find every place a model is set. Agent configs, scheduled jobs, scripts, and the server-level default. The expensive one is often hiding in a default you never looked at.
- Switch the default to a cheaper model. Restart the agent so the change actually loads.
- Search for every remaining reference to the expensive model. We checked that zero references were left in any agent config or scheduled job.
- Make the expensive model opt-in. Ours now needs per-use approval. Use it for the hard step, not every step.
On a normal ChatGPT or Claude plan, the same idea applies: use the smaller model for routine work and switch up only when the task needs it.
How to check it worked
- Plant the old setting in a test config and run your search from step 4. If your check doesn't catch it, your check isn't good enough.
- Watch the next 2 or 3 days of billing. Daily spend for that agent should drop.
- Run one real task that used to hit the expensive model and confirm in the logs which model actually answered.
Get two new fixes a week
One short email: the two newest entries and one lesson. No spam, unsubscribe any time by replying “stop”.