Sub-agents
Bounded loops with a narrower job, narrower context, narrower tools. One explores, one reviews, one verifies — and the orchestrator integrates the results.
Sub-agents let the harness split work into bounded loops. Instead of one agent with one crowded context doing everything serially, you get specialists: one explores the codebase, one reviews the diff, one verifies sources — while the main agent keeps responsibility for integrating the results.
A sub-agent is not just more model
The primitive here is the capability to fire off a branch with clean, narrow context — a model with:
- a narrower job — "review this diff for security issues," not "help with the project"
- a narrower context — only what that job needs, not the whole session's history
- often narrower tools — a read-only explorer doesn't get write access
That's why the word is specialist. The harness is doing attention management by delegation: don't worry about everything — worry about this, with these tools, and report back. The main agent's window stays clean, and the branches run in parallel instead of serially.
Two patterns cover most of the territory (both formalized in OpenAI's Agents SDK, and present in every serious harness):
- Agents as tools — the manager stays in control and calls specialists the way it calls any tool, integrating their outputs
- Handoff — the active conversation itself moves to a specialist, which takes over
Claude Code's Task/Agent tool, background subagents, and explore-plan-review agent types are all this primitive.
Delegation creates a new problem
It feels faster — until everyone comes back with a different interpretation of the job. If every sub-agent invents its own process for "review a PR" or "verify a source," you get parallel inconsistency: five workers, five methodologies, five formats.
Specialists need procedures. Reusable know-how, loaded at the moment the task matches — so that every agent given the same job does it the same way.