No Cost Budget is an AI code smell, a sign of trouble in LLM systems, in the Operations group. There is no spending limit per user, per task, or per day.
A free-plan user asked a very broad question. The agent researched for three hours. Nothing stopped it: there was no limit per study, per user, or per day. That one study cost more than a year of a paid subscription.
The same pattern shows up in bank WhatsApp bots. Picture an assistant that explains Pix (Brazil’s instant payments), boletos, and statements. On an internal “unlimited” plan, a overnight script fires a thousand research questions. Each one looks cheap. The total lands in finance the following month.
Signs of No Cost Budget:
There is no spending limit per task, per user, or per period.
Cost is only known from the provider’s invoice, after the fact.
The per-task maximum is tens or hundreds of times the median.
Free users can spend as much as paying ones.
There is no alert when the day’s spending is out of the ordinary.
The cap, if it exists, covers only model tokens and ignores search, browser, and other paid APIs.
flowchart LR
U(["1. User, any plan"]):::io --> A(["2. Agent with no budget"]):::llm
A --> T["3. As many calls as it wants"]:::tool
T --> A
A --> F[("4. Monthly invoice")]:::store
Any user triggers tasks.
The agent does not know how much it may spend.
It uses as many calls as it sees fit.
Cost shows up only at the end of the month.
Reasons
Cost per call is small. Cents look irrelevant until they multiply.
Budget is “finance’s problem”. The technical team does not connect architecture to cost.
No per-user measurement. Cost exists only as a total, not per task.
Plans with no technical translation. The free plan’s limits exist in marketing, not in code.
A cap only on the loop. A max_turns stops one long run and still lets the same user fire three hundred short ones.
Common trap: treating the invoice as the budget
You open the provider dashboard, see the month’s spend, and conclude it is “under control”. That number does not say which task, which user, which plan. When the maximum explodes, you have no way to refuse the next call. You can only regret the one that already ran.
Cost of ignoring
Negative margin. Heavy or abusive users consume more than they pay.
Invoice surprises. A single case can skew the month.
Abuse. Free accounts become a cheap way to use the model.
Abrupt cuts. When the problem surfaces, the usual reaction is turning the feature off for everyone.
A back-of-the-envelope scale check
The numbers below are illustrative. Suppose 2,000 input tokens and 400 output tokens per call, at US$ 3 per million input tokens and US$ 15 per million output. Each call comes to about US$ 0.012.
Who
Calls in the month
Illustrative cost
Median user
40
about US$ 0.50
Script on the free plan
4,900 in one study
about US$ 59, plus the growing history
The same script, 200 users
980,000
tens of thousands of dollars
The middle row already beats many annual subscriptions. With no per-user cap, the bottom row is a weekend.
Anthropic’s “Building effective agents” (Dec. 2024) treats an iteration limit as a stop condition. That cuts one task. It does not cut the product: you still need caps per user, per day, and per plan.
The spending comes from high volume with the most expensive model on everything. Start with the cheap one and move up only when needed. Target: Model Cascade.
A product budget has three levels, and skipping one leaves a hole:
Per task. Steps, time, and money. When it blows, the task returns what it already did and records the case.
Per user and per day. The sum the plan allows. Free cuts early; paid gets measured headroom.
Per account period. A global cap stops a thousand users at their limit from still breaking the month.
Define what the code does at the limit: reject, queue, or fall back to a smaller model. An alert with no cutoff only announces the damage. Count web search, browser, and other APIs in the same balance. See also Unbounded Loop: a stuck loop is the fastest way to blow a task with no cap.
Payoff
A maximum cost per task, per user, and per day, known in advance.
Plans with real technical limits.
Alerts before the invoice, and a cutoff that does not depend on someone reading Slack at 3 a.m.
Predictable margins, even when someone pastes a script onto the free plan.
When to ignore
A low-use internal tool. If the monthly total is irrelevant, a simple daily spending alert may be enough.
A controlled discovery phase. A closed pilot with a few known users. Even then, set a per-task cap.
No product with an open free plan, or a public API, should run without a per-user balance.
Is it this smell?
Quick answers
What is No Cost Budget?
No Cost Budget is an AI code smell, a sign of trouble in LLM systems, in the Operations group. There is no spending limit per user, per task, or per day.