A single Agent, no matter how powerful, is just one executor. Real development tasks are often multi-step and multi-role: someone explores the codebase, someone designs a plan, then someone writes code and runs tests. A single Agent working alone easily bloats its context and loses efficiency. Open Agent SDK addresses this at three levels: Sub-Agents β The main Agent dynamically spawns sub-agents during execution, delegating specialized tasks Task System β Tracks progress and results of multi-step work Team + Messaging β Multiple Agents form a team, communicating via a mailbox system This article analyzes each level's implementation, then examines how they combine for task orchestration. 1. Sub-Agents: SubAgentSpawner Protocol and AgentTool SubAgentSpawner Protocol Sub-agent spawning isn't AgentTool directly creating a new Agent β there's a protocol layer in between.β¦