Instead of one agent doing everything, you compose several with distinct roles (researcher, coder, reviewer, planner) that collaborate — passing results, critiquing each other, or coordinated by an orchestrator. It can improve complex tasks via specialization and checks, but adds coordination overhead, cost, and new failure modes (agents looping, miscommunicating). Use it when a task genuinely decomposes into distinct roles.