Why use an AI orchestrator?

See three ways a developer can assign the same work to AI.

The same request“Add search to the list and check the empty-results state.”

Tasks

Assign to one AI

The developer gives the request to one AI. It changes the code and returns the test results. Developer Coding AI Change → test Changes and test results
One AI builds and tests search. The developer receives the changes and test results.

Coordinate several agents

In direct coordination, increasing the task count from three to twenty gives the developer twenty windows to check instead of three. The developer also passes along the findings. Developer 3 tasks 20 tasks Windows to check: 3 Windows to check · 3 → 20 Pass results along yourself
The developer checks each task and passes the necessary findings to the next owner.

Delegate coordination

With delegated coordination, the orchestrator collects status and results in one view for either task count and passes relevant findings to the next owner. The developer steps in when a decision is needed. Developer Orchestrator Gather results 3 tasks 20 tasks Review from one screen Delegate handoffs, make decisions
The orchestrator collects progress and results and passes them on. The developer reviews one screen and makes decisions when needed.

Splitting the work lets independent tasks start together. An orchestrator helps with the added work of tracking progress and passing results. Explore step by step →

Orchestration and orchestrators

The workflow and the system that manages it

Orchestration

What order and conditions should the work follow?
Edit code Test Done Pass On failure, fix and retest Up to 2 retries · stop if still failing

Orchestrator

The system that connects work in that flow
Tester Send error log Orchestrator Review and send Coder Edit code Receive the fix and request another test

Orchestration sets the order of tasks and tools, decides what comes next based on results, and defines when to stop. It can guide one agent through several tool calls or coordinate results across multiple agents.

An orchestrator is a program or system that runs or manages that workflow. It can provide a workspace for directing several tasks, or it can be a component where code or an agent decides what happens next. Its role and level of automation depend on the implementation and product. OpenAI Agents SDK · Agent orchestration

For example, orchestration defines the sequence “fix search, run the tests, and retry up to twice if they fail.” The orchestrator runs that sequence and manages task status and results.

1. Getting more from AI

From request to results
UserGoal and constraintsGoalAdd searchAgentResearch · change · testReview resultsChanges and test logsUserGoal and constraintsGoalAdd searchAgentResearch · change · testReview resultsChanges and test logs

A developer can ask an AI agent, “Add search to this existing application.” The agent can inspect the code, change the necessary files, and run tests when it has access to the right tools.

As a feature grows, there is more to check. The developer needs to find the screen where the search box belongs and understand how the searchable data is stored. They also need to check for existing search code and tests. Once changes are made, someone needs to verify that search returns the expected results.

One agent can take on the whole request. The user then reviews which files it read, what it changed, and which checks it ran.

If several parts can be investigated independently, multiple agents can work on them at the same time. One can inspect the UI code while another looks at the data format. Their findings can be reviewed together before implementation begins.

When managing multiple tasks, the goal is to know what is in progress, make sure the right findings reach the next task, and review the final result with better context.

2. Breaking a goal into tasks

Split one goal into separate investigations
GoalAdd searchUI reviewScreen and file locationsData reviewCheck response formatTest reviewCheck existing testsGoalAdd searchUI reviewScreen and file locationsData reviewCheck response formatTest reviewCheck existing tests

Goals and tasks

One task and its output
GoalAdd searchUI reviewPart of the goalFindingsSearch box locationGoalAdd searchUI reviewPart of the goalFindingsSearch box location

A goal is the outcome the user wants. If the goal is working search, investigating the screen and checking the data format are tasks that help achieve it.

Before splitting up the work, define what each task needs as input and what it should return.

Task What to inspect What to pass along
UI review The screen and code for the search box Screen and files to change
Data review Search targets and data format Required data and current handling
Test review Existing tests and coverage gaps Checks to run after the change

In this hypothetical example, all three investigations can start independently against the same codebase. Once their findings are available, the agent making the change can use them to implement the feature.

What can run in parallel and what has to wait

Investigate, implement, then verify
Parallel researchUI, data, testsEdit codeUse findingsVerifyTest the changeParallel researchUI, data, testsEdit codeUse findingsVerifyTest the change

The UI and test investigations can start together. Verifying that the changed code works must wait until the change is ready to test.

When one task needs the output of another before it can start, that relationship is called a dependency. Some tasks run in parallel, while others continue after they receive a prior task's results.

An example flow looks like this.

Investigate the UI, data, and tests → Pass along the findings → Change the code → Verify the changes → Human review

Splitting independent work creates opportunities to run tasks together. Actual time and cost depend on the work, execution environment, model, usage, and the effort needed to combine and verify results.

Walk through task breakdown and handoffs in the search example

3. Keeping track of the work

See tasks at different stages in one place
Task statusDone · running · needs inputUI reviewDoneData reviewRunningTest reviewNeeds inputUI reviewDoneData reviewRunningTest reviewNeeds inputTask statusDone · running · needs input

If three tasks are assigned separately, the user needs to check where each one stands.

  • Is the UI investigation complete?
  • Is the data investigation still running?
  • Which files did the test investigator check?
  • Which findings reached the person or agent making the change?
  • Who will follow up if the findings disagree?

When the work grows to ten tasks, there are more statuses to check and more results to pass along. If the user has to remember information scattered across windows and transfer it by hand, managing the work becomes another task of its own.

For example, the UI investigation may be done while the data investigation is still running. Someone needs to know which findings have reached the implementer. If the test investigation fails, someone also needs to determine what to request next.

When statuses are gathered in one place, the user can find completed work, see why something is waiting, and focus first on decisions that need their attention.

Increase the task count and find work that needs input

Task status and handoff context

What to track and what to hand off in the search example
Where are we now?Task statusUI done · implementation pendingFailures and approvals What does the next owner need?Handoff contextScreen, format, test criteriaInputs for implementation Where are we now?Task statusUI done · implementation pending What does the next owner need?Handoff contextScreen, format, test criteria

Task status shows what is done and what is waiting. Context gives the next owner the information they need. For example, the implementer receives the UI findings and data format, and the task view shows whether implementation is running.

Task records help show how far a run got before it stopped. Whether it can resume depends on the saved information and the product's recovery features.

4. What an orchestrator does

Who sets the goal, connects the work, and runs it
UserGoal and constraintsOrchestratorRoute tasks, track statusAgentResearch · change · testReview recordsChanges and test resultsUserGoal and constraintsOrchestratorRoute tasks, track statusAgentResearch · change · testReview recordsChanges and test results

An AI coding agent orchestrator is a tool or system that connects work assigned to coding agents and manages the flow, status, and results.

A person sets the goal and constraints. Within their assigned scope, agents read files, change code, or run tools. The orchestrator connects tasks to their owners, tracks which results each task is waiting for, and passes needed results to the next task or back to the user.

Specific behavior depends on the product and its settings. Common capabilities to look for include the following.

Connect tasks and owners

Connect a task to its owner
GoalAdd searchUI reviewAssigned taskAssigned sessionUI research agentGoalAdd searchUI reviewAssigned taskAssigned sessionUI research agent

Link a task such as “investigate the UI” to its repository and assigned agent. The user can then find the work associated with a goal.

Show progress

See where each task stands
UI reviewDoneData reviewRunningTest reviewNeeds inputUI reviewDoneData reviewRunningTest reviewNeeds input

Distinguish states such as waiting, running, completed, and failed. The user can also see when a task needs more information or approval.

Pass results to the next task

Pass findings to the implementer
FindingsFiles and data formatOrchestratorRoute tasks, track statusCoderUse the findingsFindingsFiles and data formatOrchestratorRoute tasks, track statusCoderUse the findings

Send the file locations found during the UI investigation and the format identified during the data investigation to the implementer. The system may also identify dependencies and manage the order of execution.

Gather results and evidence

Review results with their evidence
Gather resultsRecords and changesChangesChanged filesTest logsChecks runFailuresWhat to revisitChangesChanged filesTest logsChecks runFailuresWhat to revisitGather resultsRecords and changes

Connect changed files, tests run, and failures to their tasks. The user can review those records and decide what to do next.

Let people step in

A person decides when input is needed
Request inputTask is waiting for inputUserGoal and constraintsNext actionApprove or add instructionsRequest inputTask is waiting for inputUserGoal and constraintsNext actionApprove or add instructions

Some products help people direct each session themselves. Others can delegate assignments to a lead agent or configured rules. Within the capabilities of the product and its settings, users can inspect work, add instructions, and make decisions.

5. Direct and delegated coordination

Compare who assigns work and hands off results for the same search request

Direct coordination

Developer Assign UI, data, and test reviews Research agent Return findings to the developer Developer Pass findings to the implementer Coding agent Change code and run tests Developer Review code and tests

Delegated coordination

Developer Set goal and completion criteria Lead agent Assign and sequence the work Worker agent Do the assigned work and return results Lead agent Gather changes and test results in one place Developer Review the combined results

Even for the same search feature, different participants can decide what to do and start the next step.

When a person coordinates directly

The user opens and directs the UI, data, and test investigations. They check progress, read completed findings, and pass the relevant information to the implementer.

The orchestrator provides a workspace where the user can open and move between tasks and review their status and records. The person takes an active role in assigning work and making decisions.

When coordination is delegated

The user provides a goal and constraints, such as “Add search and verify it.” A lead agent or configured workflow can split up the investigation, receive the findings, and connect them to implementation and testing.

The user reviews progress and results, adding instructions or giving approval when needed. What gets assigned automatically and how far the workflow proceeds depend on the product and its settings.

The two approaches can be combined within one job. For example, a person might choose the investigators and then delegate the order of implementation and testing.

Compare direct and delegated coordination step by step

6. Multiple agents and agent types

Separate the number of sessions from the types of agents
One type · multiple sessionsAgent AUI reviewAgent AData reviewAgent ATest reviewDifferent typesAgent AUI reviewAgent BData reviewAgent CTest reviewOne type · multiple sessionsAgent AUI reviewAgent AData reviewAgent ATest reviewDifferent typesAgent AUI reviewAgent BData reviewAgent CTest review

Running the same agent more than once

Run the same agent type in separate sessions
Agent ASame typeSession 1UI reviewSession 2Data reviewSession 3Test reviewAgent ASame typeSession 1UI reviewSession 2Data reviewSession 3Test review

The same coding agent can run in multiple sessions, with a different task in each. For example, three sessions of the same agent could investigate the UI, data, and tests.

Here, three refers to the number of running sessions. They can all use the same kind of agent.

Connecting different agents

Connect supported agents to the work
WorkspaceVaries by productAgent ARun and monitorAgent BRun and monitorAgent CRun and monitorWorkspaceVaries by productAgent ARun and monitorAgent BRun and monitorAgent CRun and monitor

Some orchestrators provide an environment for connecting and running different coding agents. A user can keep using a familiar agent while trying another, or choose different tools for different tasks.

Check more than the agent names. For each product, look at whether it can start an agent, read its status, send input, or stop it, along with the required authentication and execution environment.

Also check whether one agent can delegate to a different kind of agent and whether the user can launch each agent separately in its own session.

Explore agent session counts and types step by step

Branching and stopping in the search example

Suppose the implementer changes the search code and the tester runs the tests. This example allows up to two retries after a fix if a test fails. The result determines what happens next.

Search tests · up to two retries
Pass · stop Fail · retries left Fail · limit reached Stop the run After the fix Retest Test agent Run search tests Orchestrator Check test result and retry count Developer Review code and tests Coding agent Fix the reported error Developer Review the failure record

Branching chooses the next action based on the test result. On pass, the user sees the changes and test logs. On failure, the implementer gets the error and the updated code is tested again.

The stop condition in this example is a passing test or reaching the retry limit. If the tests still fail after two retries, automation stops and a person receives the failure record for review. Two retries is the limit chosen for this example.

If the test command never runs, investigate that separately from a failing test. Implementations can choose the next path with a coded condition or an agent decision. OpenAI Agents SDK · Coordination patterns

Try passing, failing, and retrying tests step by step

7. Combining and verifying results

Test the changes and hand them over for review
Edit codeUse findingsVerifyTest the changeTest recordChecks performedHuman reviewDecide what comes nextEdit codeUse findingsVerifyTest the changeTest recordChecks performedHuman reviewDecide what comes next

File locations found by an investigator can help the implementer. The findings still need to be checked, as does whether the changed code works as expected.

For the search feature, the person or agent verifying the work can do the following.

  1. Enter a search query in the updated application.
  2. Check that matching items appear.
  3. Check the screen when there are no matches.
  4. Record the tests run and their results.
  5. Review the changes and test results together.

When an agent reports “done,” the user can inspect the record of what was checked and which version was tested, then decide whether more verification is needed.

Applying this to an out-of-stock indicator

Connect the UI and server and verify both cases
Server responseStock availabilityProduct UIShow stock statusVerify togetherIn stock or out of stockServer responseStock availabilityProduct UIShow stock statusVerify togetherIn stock or out of stock

Imagine adding an out-of-stock indicator to a product list. The UI owner builds the display using sample data, while the server owner includes actual stock availability in the response.

If they agree on the data format up front, they can start independently. After the UI and server are connected, both in-stock and out-of-stock cases need to be tested with real data.

If the server sends a field under a different name than the UI expects, pass the actual response and failed check to both owners. Align the format and check again.

8. Platforms and execution environments

Three areas to compare
A PlatformManage the workB AgentsRun and control agentsC EnvironmentOperate and executeA PlatformManage the workB AgentsRun and control agentsC EnvironmentOperate and execute

Once you understand the orchestrator's role, you can look at three areas for each product.

A. Platform

How work starts and is managed
Execution environmentManaged or connectedTriggerRequest · schedule · eventTask managementCoordination · collaboration · APIExecution environmentManaged or connectedTriggerRequest · schedule · eventTask managementCoordination · collaboration · API

Where work starts and how it is managed. This includes managed cloud, user-connected execution environments, agent coordination, scheduled tasks, event triggers, team collaboration, APIs, and CLIs.

B. Agents it can run

Check what the integration supports
AgentChoose a toolRunStart a sessionStatus and controlMonitor, send input, stopAgentChoose a toolRunStart a sessionStatus and controlMonitor, send input, stop

Which agents can be connected and how far the product can start, monitor, and control each one.

C. Execution environment

Where you control the work and where it runs
InterfaceTerminal · app · webConnectAccess the workExecution hostYour computer or serverInterfaceTerminal · app · webConnectAccess the workExecution hostYour computer or server

Where people operate the work, such as a terminal, desktop app, mobile app, or web browser. Also check the location of the computer or server where the agent actually runs.

Each topic can later have its own detailed page covering definitions, use cases, execution flows, product-specific capabilities, and sources.

Check your understanding

Use the diagram to explain the steps in order
GoalAdd searchSplitParallel researchWaitVerify once changes existReviewResults and test logsGoalAdd searchSplitParallel researchWaitVerify once changes existReviewResults and test logs
  • Look at the first diagram. Which responsibilities can the developer delegate when several agents are working?
  • Which search investigations can start together, and which verification step must wait for the changed code?
  • As the number of tasks grows, what information does a person need to remember and pass along?
  • How can an orchestrator help the user handle that information?
  • When coordination is direct or delegated to a lead agent, who decides what happens next?
  • How does running the same kind of agent three times differ from connecting three different kinds?
  • What records can the user review after an agent reports completion?