Do not fan out tiny tasks
One-line edits and obvious local checks rarely justify worker overhead.
Multi-agent routing is the decision layer that classifies a task, applies hard safety gates, estimates whether delegation is worth the overhead, and chooses the worker shape or validator path before parallel work starts.
The purpose of routing is not to maximize worker count. It is to preserve control while using parallel work where it creates a measurable advantage. AgentFanout uses automatic guarded fanout: task decomposition, runtime capacity, validation overhead, write-scope conflicts, and safety gates all influence whether workers should be used.
| Step | Question | Routing Decision |
|---|---|---|
| Classify | Is this research, implementation, validation, debugging, content, or release work? | Choose local handling, worker fanout, validator review, or main-session-only execution. |
| Gate | Does the task touch credentials, private tools, git state, destructive actions, or final synthesis? | Keep it in the main session or split out only safe read-only subtasks. |
| Partition | Can subtasks progress independently without shared write-scope conflicts? | Create bounded worker packets only for independent tasks. |
| Validate | What evidence is required before results can influence the final answer or code? | Assign tests, source checks, browser checks, or reviewer criteria before integration. |
A routing policy has to be explicit about non-delegable work. AgentFanout's public safety model keeps secrets, private tools, git state changes, destructive operations, and final synthesis in the main session. That keeps worker output useful without turning workers into authority owners.
Workers should not receive secrets, private account tools, or credential-bearing command context.
Deletes, migrations, deploys, force pushes, publication, and final public claims remain main-session decisions.
If workers would edit the same files or depend on each other's output, serial local work is usually safer.
The most common multi-agent mistake is treating delegation as a default. That creates duplicate research, conflicting patches, hidden assumptions, and extra synthesis work. Useful routing is conservative. It asks whether the work can be decomposed, whether a worker can complete a bounded packet, and whether validation can catch a wrong answer before it reaches the user or public surface.
One-line edits and obvious local checks rarely justify worker overhead.
Workers need explicit forbidden actions, not informal expectations.
Routing is incomplete until worker output is checked against the real system.
| Task | Recommended Route | Reason |
|---|---|---|
| Audit twenty independent documentation pages | Parallel research workers plus synthesis | Each page can be inspected independently and validated against a shared checklist. |
| Change a shared authentication module | Main session or one bounded coding worker | Overlapping write scope and high regression risk make broad fanout unsafe. |
| Check a staged visual redesign | Browser validation plus reviewer agent | Rendered state, screenshots, and human-visible layout issues matter more than raw source inspection. |
| Publish to GitHub or deploy to production | Main-session-only | Publication and deployment are public trust surfaces with irreversible side effects. |
These examples show why routing needs to be explicit. The same agent system can use fanout for broad read-only review, stay local for tightly coupled edits, and require manual control for publication. A fixed worker-count command cannot make those distinctions reliably.
When independent work can run in parallel and the validation overhead is justified by better speed, coverage, or review quality.
Secrets, private tools, git state, destructive actions, tight coupling, shared write scopes, and final synthesis.
The count should come from task decomposition, provider capacity, and validation cost, not a fixed number chosen in advance.
AgentFanout supplies routing policy and bounded worker packet guidance for host runtimes that already know how to launch workers.
Start with the architecture model, then inspect the AgentFanout project implementation.