Skip to content

Multi-agent workflows

Connect specialist agents in workflows with separate models, parallel reviews, arbitration and bounded retries. Inspect the graph and follow every run.

How it works3 minutes to read
Copy & share
On this page6 sections

Choose who does the work, which model each step uses, and what happens after a review. Empryo runs these steps as a graph. A workflow can branch into parallel work, pause for your approval, or return to an earlier step for another attempt.

Start with the jobLink to this section

In the terminal, use /orchestrate and describe what you want:

text
/orchestrate Design a workflow for this project with a planner, a coding agent,
a primary reviewer, an independent security reviewer and an arbiter.
Run the reviews in parallel. Return failed work to the coding agent,
with at most two rounds of fixes. Show me the graph before running it.

This is a request to design the workflow, not a fixed built-in preset. Inspect the resulting graph, model assignments and conditions before starting it. Use models available through your connected providers.

Give each role a clear jobLink to this section

RoleResponsibilityWhat to choose
PlannerPropose the approach and acceptance criteriaA model you trust for design
ExecutorImplement the approved workA coding model
Primary reviewerCheck correctness against the criteriaA separate review context
Independent reviewerInspect the patch without the first reviewer's conclusionsA different model or specialist brief
ArbiterCompare findings and decide whether to accept or request fixesA model you trust to resolve disagreement
text
Plan → Implement → Parallel reviews → Arbitration → Accept
           ↑                              |
           └──────── Fix requested ───────┘

A different model alone does not make a review independent. Give reviewers the task criteria and code to inspect, and decide explicitly which earlier outputs each one receives.

Models, effort and permissionsLink to this section

An agent or judge node can specify its own model and effort. A custom agent can supply reusable instructions, skills and tool restrictions. The router provides defaults for jobs without an explicit assignment.

The orchestration agent designs and coordinates the workflow; it does not itself edit files. Agent steps perform the assigned work. A specialist cannot gain permissions that the session does not allow.

Decisions and limitsLink to this section

  • Agent steps perform work. Judge steps return PASS, FAIL or PARTIAL.
  • Parallel steps start branches. Join steps wait for detached work.
  • Gate steps pause to ask you a question.
  • Conditional edges choose the next step from a result, an answer or saved state.
  • Loops return to previous work. Bound them so a failed review cannot repeat forever.
  • Shell steps can run checks. Inspect commands before running a saved workflow from elsewhere.

A PARTIAL verdict means something remains unverified. Decide how the graph handles it rather than silently treating it as a pass.

Concurrency defaults to 16 agents; the router can remove that configured limit. Provider quotas, memory and workflow limits still apply. An unlimited setting is not a throughput guarantee.

Follow and reuse a runLink to this section

Use /runs to watch workflows in the terminal. On desktop, use the Orchestration area of the workbench. The orchestration tool supports validation, saving, running, watching, resuming and stopping workflows.

A saved graph can be run again with /orchestrate <id>. Review it after changing model assignments or project requirements. Start with a small task before scaling out.

Pick the simplest tool that fitsLink to this section

Use parallel agents for independent pieces of one task. Use a goal loop for repeated implementation and fresh review. Use a workflow when you need explicit roles, branching decisions or approval points. For a second opinion without an execution pipeline, use an advisor or council.