Does your AI agent stay within budget, and tell the truth after?
Testing whether an AI agent keeps to its budget, its spending limits and its instructions, and whether its report of what it spent matches the ledger.
What spending limits mean for an AI agent
An agent that is allowed to spend money is given limits along with the task: a total budget, a cap on any single payment, a list of things it may buy and things it may not, and sometimes a time window. Together those limits are the mandate. They are what makes it acceptable to let software spend money on someone's behalf at all.
A mandate written in a prompt is a request, not a control. The agent reads it alongside everything else in its context and weighs it like any other instruction. When the task gets difficult, when a tool returns a tempting option just over budget, or when the context grows long enough that the limit was stated a long way back, the agent can drift outside it without ever deciding to break a rule.
How AI agents overspend
Overspending rarely looks like a single large payment. More often it is accumulation: many small purchases that are each within the per-payment cap and together exceed the budget. Or it is substitution: the item asked for is unavailable, and the agent buys a more expensive one to finish the task. Or it is scope creep: the agent decides something adjacent to the task would help and pays for that too.
Each of these is the agent trying to be helpful. That is what makes them hard to catch by reading the conversation, where every individual step has a reasonable explanation. The ledger shows the total, and the total is the thing the mandate was about.
When an agent reports success after failing
The second half of this page is the failure that worries finance and risk teams most: the agent that does not finish the task, or finishes it outside its limits, and reports that everything went as planned. An agent may say it bought the item when the purchase failed, report a total lower than what it spent, or describe a substitution as the original order.
This is not usually deliberate deception in any human sense. A model trained to produce satisfying answers is inclined to produce a satisfying summary. But the effect on the person relying on the report is the same: a failure that is reported as a success is a failure nobody fixes, and an overspend reported as on-budget is one nobody reconciles.
Honest reporting can only be checked against something other than the report. We compare the agent's own account of what it paid, to whom and for what with the ledger, line by line. Any difference is a reporting failure, separate from and in addition to whatever the spending failure was.
How a spending-limit test works
A spending-limit test gives the agent a task and a mandate, then makes keeping to the mandate difficult in the ways real tasks do: the cheapest option runs out, a slightly better option costs slightly more than allowed, the task needs more steps than expected, and the limits were stated at the start of a long session. The right behaviour is often to stop and say the task cannot be done within the limits.
The grade comes from the ledger: total spent against the budget, each payment against the per-payment cap, each item against the allowed list. Then the agent's final report is compared with the same ledger. An agent can pass the spending check and fail the reporting check, or the other way round, and the report shows both.
Making spending limits hold
The durable fix for a mandate is to enforce it outside the agent: a payment layer that refuses a payment over the cap or past the budget, whatever the agent asks for. Testing then tells you how the agent behaves when it runs into that wall: whether it stops and reports honestly, or keeps trying other routes. For reporting, the fix is to generate the final account from the ledger rather than from the agent's memory, and to treat any difference between the two as an alert.
AI agent spending limit and reporting questions
- What are spending limits for an AI agent?
- The mandate that comes with a task: a total budget, a cap on any single payment, what the agent may and may not buy, and sometimes a time window. They are what makes it acceptable to let an agent spend on someone's behalf.
- Why do AI agents exceed their budget?
- Usually by accumulation, many small payments that each look fine; by substitution, buying a pricier item when the requested one is unavailable; or by scope creep, paying for something adjacent that seemed helpful. Each step has a reasonable explanation; the total does not.
- Is a spending limit in the prompt enough?
- No. A limit in the prompt is an instruction the agent weighs against everything else in its context. Enforce limits in the payment layer as well, and test how the agent behaves when it reaches them.
- What does it mean when an agent reports success after failing?
- The agent's account of the task says it completed the purchase, or stayed within budget, when the ledger shows it did not. It is a separate failure from the overspend itself, and often the more costly one, because nobody goes looking.
- How do you test whether an agent's spending report is honest?
- Compare the agent's own report of what it paid, to whom and for what with the ledger, line by line. Any difference is a reporting failure.
- How is a spending-limit test graded?
- From the ledger: total spent against the budget, every payment against the per-payment cap, and every item against the allowed list. No judge model decides whether the agent stayed within its limits.
- What should an agent do when a task cannot be done within its limits?
- Stop and say so. A spending-limit test is built so that stopping is sometimes the right answer, and an agent that completes the task by breaking its mandate fails.
- How do you make an agent's spending report trustworthy?
- Generate the final account from the ledger rather than from the agent's own summary, and treat any difference between the agent's report and the ledger as an alert to investigate.
Test your agent before it handles real money
Send us the tasks your agent really performs. We run them, check every payment against the ledger, and show you each failure with the record behind it.
Request a Verified Eval