AI Agents • Orchestration • Conductor
Durable Orchestration for AI Agents on Conductor
Conductor is an event-driven engine for applications and AI agents. The trick is mapping a model’s plan onto tasks the platform already knows how to retry, compensate, and audit—the same primitives we use for iPaaS sagas.
Map agent concepts to workflow tasks
| Agent concept | Conductor primitive | Notes |
|---|---|---|
| Plan / decompose | LLM_PLAN worker | Pure function: JSON plan out, no side effects |
| Tool call | Domain task (CRM, SMS…) | Idempotent, compensated |
| Ask a human | WAIT / human task | SLA timeout → escalate |
| Reflect / critic | Decision task | May loop with max iterations |
| Stop | Terminal status | Must be idempotent (PR #766) |
A typical agent run
Each step emits OpenTelemetry spans tagged with
workflowId, taskDomain, and token
cost so finance and SRE share one dashboard.
maxIterations, token budgets, and a
terminal FAILED_BUDGET status.
Task domains for specialist agents
Route planner, crm-tools,
comms-tools, and graph-writer as
separate Conductor task domains. That reuses worker isolation,
throttles, and the summary-index filter from PR #492. A noisy
retrieval worker cannot starve SMS delivery.
Failure, duplicate signals, HITL
Agent runs get terminated from UI, budgets, and parent workflows. Duplicate terminate notifications spam operators and confuse downstream agents. The duplicate-termination guard is not a nicety for agent platforms—it is correctness.
- Tool failure → compensate that step, critic decides replan vs abort.
- Human timeout → escalate domain, do not silently succeed.
- Already TERMINATED → no-op, no second webhook to the product.