Start with the simplest level of parallelism
A multi-agent workflow does not automatically make work faster. First determine whether the task has independent parts, whether ownership can be separated, and how each result will be checked.
When parts depend strongly on one another, clarify the specification and keep one session. Agent count is not an efficiency metric.
| Level | Use when | Trade-off |
|---|---|---|
| One session | Small sequential change | Lowest coordination cost |
| Plan mode | Discovery must precede edits | Same-session control |
| Subagent | Isolated research or check | Returns findings to main context |
| Worktree | Parallel file changes | Isolates branch and working copy |
| Agent team | Several independent streams | Highest synchronization cost |
Five questions before launch
- Are the workstreams genuinely independent?
- Can ownership be split by files, modules, or layers?
- Does each result have its own verification criterion?
- Are tests or another safety net available?
- Is there time to inspect intermediate results and decide?
Decision record
Task: <bounded task>
Independent streams: yes / no
Ownership split: <modules or paths>
Shared-state risk: low / medium / high
Verification per stream: <checks>
Human checkpoint: <decision point>
Choice: one session / subagent / worktree / teamCanonical lesson source · JavaRush
Open JavaRush material