Module 6: Sub-Agents•Lesson 2 of 7
When NOT to Split
When NOT to Split
Over-spawning is a common mistake. Here's when to keep it simple.
Anti-Patterns
❌ Spawning for Simple Lookups
Bad:
"Spawn a sub-agent to check the weather"
Why it's bad:
- Weather check takes 2 seconds
- Sub-agent overhead takes longer than the task
- Main agent can do this trivially
Good:
Just check the weather directly with a tool
❌ Spawning When Context is Critical
Bad:
"Spawn a sub-agent to continue our conversation about the project"
Why it's bad:
- Sub-agent doesn't have conversation history
- You'll need to re-explain everything
- Context loss defeats the purpose
Good:
Continue the conversation in the main session
❌ Spawning for Everything
Bad:
"I'll have sub-agents for email, calendar, files, search..."
Why it's bad:
- Coordination overhead
- Context fragmentation
- Harder to maintain
- More expensive
Good:
Main agent handles most things, spawns only when truly needed
❌ Spawning Chains
Bad:
Sub-agent A spawns sub-agent B spawns sub-agent C...
Why it's bad:
- Exponential complexity
- Context loss at each level
- Hard to debug
- Expensive
Good:
Main coordinator spawns workers directly
The Simple Test
Before spawning, ask:
-
Will this take more than a few minutes?
- No → Don't spawn
-
Can the main agent do this easily?
- Yes → Don't spawn
-
Does the sub-agent need current context?
- Yes → Don't spawn (or pass context explicitly)
-
Is the coordination overhead worth it?
- No → Don't spawn
Real Examples
| Task | Spawn? | Why |
|---|---|---|
| "What's 2+2?" | No | Trivial |
| "Check my email" | No | Quick tool use |
| "Research top 10 competitors" | Yes | Long, can be parallel |
| "Summarize this doc" | No | One-shot |
| "Monitor these 5 sites for changes" | Yes | Long-running, parallel |
| "Remember to call John" | No | Just set a reminder |
| "Build and deploy this feature" | Yes | Multi-step, long |