You spend a month making the agent cheaper. Shorter context, a smaller model on the easy steps, the stable part of the prompt cached so you stop paying to send it again. Average spend per run is down and the chart says so. Then someone asks a plain question: what does one closed ticket cost. You do not have that number. The total on the invoice mixes the runs that worked, the runs that gave up halfway, and the ones that were tried three times before a person took over. All of them consumed tokens. Only some of them produced anything you kept.

A cheaper metre can buy a dry hole

A drilling contractor quotes by the metre. It is an honest figure and easy to check: so much per metre, so much per day for the rig on the site. There are ways to make it smaller. A cheaper bit. Skipping the survey and starting where the ground looks soft. Stopping at forty metres because the contract said forty. Each lowers the price per metre, and some end in a hole that reaches nothing. Metres were never what you were buying. You were buying a well that gives water.

An agent harness has the same set of dials. A router sends the easy work — a classification, an extraction, a reformat — to a small model and keeps the expensive reasoning for the cases that need it. Stable prefixes and answers that repeat get cached instead of recomputed. Context and tool output are trimmed, or fetched only when something asks for them. Budgets on tokens, on cost and on the number of steps cut off the loops that would otherwise run all night. One workflow draws that line at three retries or fifty thousand tokens: past it the chain stops and goes to a human, with the trace of the run attached, so the handover carries evidence and not a complaint. Then the clause that keeps it honest: every saving is judged against completion and quality. Skip it and you have not made the agent cheaper, you have made it worse for less.

Divide the whole bill by accepted outcomes

Those dials live inside the loop. The accounting sits in front of it. A gateway holds a budget contract for each workflow: a limit on steps, a cap on how often a given tool may be called, a ceiling on tokens, a timeout, a quota per tenant. Every run is tagged with the workflow it belongs to and the state it ended in, so spend is never loose — it is always attached to an outcome.

That attribution buys you one number. Take everything the workflow consumed, successes and failures and retries together, and divide it by the outcomes that were actually accepted. Cost-per-Accepted-Outcome, and it keeps the expensive tail in view: the rare run that wandered for an hour sits in the numerator, where the average used to hide it. This is the point where counting tokens stops being enough. An agent with cheap tokens and a low acceptance rate costs more than an expensive one that gets it right.

A lead enrichment workflow shows the shape. It calls a search tool you pay for. After five calls, or when the timeout arrives, it stops and asks the user for clarification or escalates, rather than buying a sixth search on a case it does not understand. Dashboards per tenant carry that ratio, the P95, and the share of cost spent on runs that failed. The premium model is not the default either: the router holds it for the cases that fail a cheap validation first.

Cheap and wrong is the expensive option

All of this leans on a word finance cannot define on its own. Accepted is a judgement made elsewhere — by the gate that weighs one scenario heavier than another before a release ships, and by the evaluation running in production that reads how a run got there and not only where it ended. Without them the ratio has an invented denominator, and the cheapest way to improve it is to lower the bar for what counts as done.

Routing is the lever people reach for first, because it is the one you turn in a config file. Which model belongs to which part of a job is a decision in its own right; here it is one price dial among several, and rarely the one paying for the failures. The failure cost share is the reading that changes meetings: which tenant is quietly subsidised by the others, and which workflow burns its money on work nobody took.

Counting tokens tells you what you spent. Only the accepted outcome tells you whether you bought a well or a hole.