Agents fail in a very familiar way: they become too busy to stay clear.
A controller session starts with a crisp goal. Then it reads a stack trace, opens three files, runs a long command, scans test output, retries twice, and suddenly its working memory is full of implementation debris.
That is the point where responses get slower and judgment gets worse.
Context is not just capacity
Context is also priority.
Whatever fills the window competes for attention. If the window is full of low-level noise, the high-level problem becomes harder to see.
That is why delegation helps even when it does not save much wall-clock time.
Delegation isolates noise.
A useful split
In practice, a healthy split looks like this:
- main thread: goals, decisions, trade-offs, communication
- delegated task: logs, experiments, retries, local verification
The main thread should receive compressed outcomes, not the whole mess.
A good test
Ask one question: if a human interrupts right now, can the controller answer immediately?
If the answer is no, too much operational detail has leaked upward.
That is usually the signal to cut the task smaller, isolate the dirty work, and return with a cleaner summary.