What Orchestration Manages
In a single-agent system, orchestration manages the loop between the language model and its tools: formatting tool definitions so the model can use them, passing tool results back to the model in the correct context, maintaining the conversation history within context limits, and recognizing when the task is complete or when escalation is needed. In multi-agent systems, orchestration also handles routing—deciding which agent receives which subtask—and coordination—aggregating results from parallel agents, managing task dependencies, and propagating errors from one part of the system to others in a controlled way. The orchestration layer is often the most complex component of an agentic system because it must handle the inherent non-determinism of language model outputs and the failure modes of every connected tool.
Building vs Using Orchestration Frameworks
Purpose-built agent orchestration frameworks provide components for tool registration, agent routing, state management, and execution control. They reduce the implementation work of building agent loops from scratch and provide tested patterns for handling common failure modes. Custom orchestration—building the coordination layer without a framework—offers more control over exactly how the system behaves and how it integrates with existing infrastructure, but requires the developer to implement retry logic, error handling, context management, and state tracking explicitly. The choice depends on system complexity, the team's familiarity with available frameworks, and how tightly the orchestration needs to integrate with systems that existing frameworks do not support natively.