Agent Types
An agentic worker comes in one of three shapes. The shape
you pick decides the worker’s execution model and how it is packaged — specifically, which
executing node ends up in the worker’s flows/main.ygtc.
| Type | Runtime shape | Executing node | Best for |
|---|---|---|---|
single_turn | One Plan → Act → Observe loop | dw.agent | A single tool-using assistant |
agent_graph | A coordinator routing to specialist agents over a shared blackboard | dw.agent_graph | Multi-role, multi-step routing |
deep_worker | A long-horizon plan → reflect → delegate loop with an iteration budget | operala.call | Research and deep, iterative tasks |
single_turn
Section titled “single_turn”The default. One agent runs the Plan → Act → Observe loop:
the model receives the user message, decides which tools to call, observes the results, and
keeps going until it can answer. The limits.max_iter bound (default 8) caps the loop.
This is the shape documented step-by-step in Agentic Workers. Reach for it whenever one agent with a tool allow-list can do the job.
agent_graph
Section titled “agent_graph”Several agents cooperate. A coordinator (supervisor) reads the request and routes it to one of its specialists — each specialist is itself an LLM agent with its own instructions and tools. Specialists can run in sequence (supervisor routing) or in parallel (fan-out, then a join merges their results). All agents read and write a shared run blackboard, so a later agent sees what earlier agents produced.
- The coordinator selects a route each turn; a deterministic router resolves it (bounded
loop). Parallel branches
join_alland merge at a join node. - A global visit cap protects against runaway graphs.
Author it as “coordinator + specialists” — a coordinator with routing instructions plus
a named specialist per capability (billing, tech, …). Pick agent_graph when one prompt
would be overloaded juggling several distinct roles, or when sub-tasks can run in parallel.
deep_worker
Section titled “deep_worker”A long-horizon worker for open-ended tasks (research, multi-stage analysis). Instead of a
single reply, it runs an iterative plan → act → reflect → delegate loop bounded by an
iteration_budget (default 8), optionally reflecting between iterations and using a separate
planning_model. It is executed through an operala.call node.
# deep_worker configurationdeep_worker: iteration_budget: 8 reflection: true planning_model: gpt-4oPick deep_worker when the task needs sustained, self-directed iteration rather than a
bounded tool-use loop.
Authoring
Section titled “Authoring”Today all three types are authored visually in the Designer — the composer’s agent-type
picker offers single_turn, agent_graph (coordinator + specialists form), and
deep_worker. See Agentic Workers in the Designer.
See also
Section titled “See also”- Agentic Workers — the
dw.agentloop, tools, and running one - Agent Memory — short-term and long-term memory
- Agent Knowledge (RAG) — attaching a knowledge corpus