Token prices have dropped more than 90% since 2023, and yet companies are spending more on LLMs than ever. Apollo's chief economist Torsten Slok calls it Jevons paradox in action: cheaper intelligence multiplies the number of things worth automating, and total spend climbs even as unit costs fall. The Silicon Data Token Expenditure Index shows LLM spending roughly doubled since late 2025, tracking almost exactly the pattern William Stanley Jevons observed with coal in 1865.

The fix, according to teams running agents in production, is not to wait for cheaper models. It is to stop overpaying for the work you are already doing. Five specific levers, ranked by payoff speed, can cut agent bills without degrading output quality.

Model-Task Matching Pays Off First

The highest-leverage change is also the simplest: stop running every agent on the most expensive model available. On Anthropic's public API pricing, Claude Opus 5 costs $5 per million input tokens, Claude Sonnet 5 costs $2, and Claude Haiku 4.5 costs $1. Same provider, same token pipeline, a 5x price spread between tiers.

Extraction, classification, routing, and formatting are mechanical jobs that do not need frontier intelligence. An agent summarizing 2,000 support tickets a day on a frontier model drops that line item by roughly 80% when moved to a smaller, faster model. The key is empirical validation: run both models on a sample of real tasks, compare outputs, and keep the cheap model only where quality holds. A downgrade you can undo in a minute is a downgrade worth trying.

Stop Paying for Empty Runs

Every scheduled run pays full input-token price for its prompt, even when there is nothing to process. Vybe audited its own scheduled agents and found one hourly cron on track to cost $961 per month. A sync running every 15 minutes executed 96 times a day, and almost every run had nothing new to process.

The weekend paradox compounds the problem. Scheduled agents keep running while human attention drops, so wasted runs go undetected for longer. A missed run on Tuesday afternoon gets caught by a human. A missed run on Sunday morning burns tokens until Monday.

The fix is to audit at the agent level, match run frequency to actual event rates, add a no-op exit that quits before touching a premium model when there is no work, and slow down runs whose output waits for a human anyway. Every scheduled run should earn its tokens.

Triggers Replace Polling

A poller pays to ask "anything new?" repeatedly, and most of the time the answer is no. A trigger inverts the flow: the agent runs when the event happens and pays nothing while it waits. Teams that converted polling agents to triggers reported the trigger setup running at about 5% of the polling cost.

Conversion has limits. Polling still makes sense when there is no event source to subscribe to, when a guaranteed fixed-interval check is required, or when the poll is already cheap and rare. The lever pays most where frequency is high and hit rate is low, which is exactly where empty cron burns tend to accumulate.

Batch Work Deserves Its Own Economics

Tagging an entire database, cleaning a backlog of records, classifying a quarter of support tickets: these are high-volume, mechanical jobs where errors are cheap to catch with a spot check. One categorization job tagging a contacts database cost about $2 for the entire run.

Cheap models have crossed the quality bar for mechanical output, and batch jobs are trivial to verify. Sample 50 results, check the tags, and you know whether the run is good. Errors in a batch are cheap to find and re-run. Errors in a live agent conversation are expensive to unwind.

Cutting Context Delivers the Newest Savings

Most agent cost is input cost, and a lot of that input is context the task never needed. A Spotify engineer described routing bulk file reads to a cheap worker model so the expensive model never sees the bulk I/O. Tested against a Java monorepo, mean savings on bulk reads ran around 90%.

Vybe ran its own experiment: feeding webpages to a cheap extraction model before the main model saw them cut combined model cost by 36% on evaluations, with answer checks passing. The caveat matters as much as the savings. Giving an agent broader file-read ranges instead of targeted ones backfired, burning extra reads rediscovering dependencies a full read would have shown. Context reduction works when it preserves enough information to finish the task. Trim what the task does not need. Keep the whole of what it does.

The Hidden Cost of Model Calls Doing Tool Work

Agent runs carry meta-work that never reaches the user. Conversation compaction is the clearest case: when a thread grows long, its history gets compressed to fit in context. The default is to ask the main model to summarize its own conversation, which means the premium model re-reads the entire thread at full input price to produce scaffolding. A specialized cheap tool or deterministic trimming does the same job for a fraction of the cost.

The same pattern applies to structured extraction, classification, and formatting. Every one of those is a model call doing a tool's job. The savings compound across the fleet.

The Paradox Does Not Stop

Efficiency invites consumption. Every lever makes agents cheaper to run, which makes it tempting to run more of them. The discipline that keeps the paradox from eating the savings is a monthly ritual: sit down with cost per run, cost per agent, and both week over week. Look for which agents grew, which runs had nothing to do, and where retries stacked up. An hour a month keeps the bill from surprising you.

For teams building on agent platforms, the practical takeaway is that the infrastructure for cost visibility does not exist in most stacks. Per-agent cost attribution, cost per run, and run histories a human can read are the minimum requirements. Without them, the $961 cron job stays invisible until someone notices the bill.