One step at a time (default)
All steps
One supervisor, three specialists
Hierarchical, with a coding sub-team
Parts of this pattern
- Task Input / output
- The incoming task, such as 'Produce a report with a chart on last quarter's sales'.
- Supervisor Agent
- Plans the work, delegates one step at a time to a specialist, reads each result and decides when to finish.
- Researcher Agent
- Specialist agent with search tools. Gathers facts for the brief and reports its findings back.
- Coder Agent
- Specialist agent that runs code, such as producing a chart; may lead its own sub-team with the tester.
- Tester Agent
- Sub-agent inside the coding team. Runs the tests the coder asks for and reports pass or fail.
- Writer Agent
- Specialist agent that turns the findings and chart it is given into the drafted report.
- Result Input / output
- The finished deliverable the supervisor returns after judging the task complete.
- Task → Supervisor
- The task enters the supervisor, which plans before delegating.
Task: Write a report with a chart on last quarter's sales by region.
- Supervisor → Researcher
- A self-contained brief delegating the research step to the researcher.
{"action": "delegate", "agent": "researcher", "instruction": "Find Q3 sales by region; return a table with sources."}
- Researcher → Supervisor
- The researcher's findings return to the supervisor, not to other workers.
Findings: EMEA $4.1M, APAC $2.7M, AMER $6.3M (source: finance_q3.xlsx).
- Supervisor → Coder
- A brief asking the coder to write and verify a script that plots the data, with what to return.
{"action": "delegate", "agent": "coder", "instruction": "Write and verify a script that plots Q3 sales by region from this table; save out/q3_sales.png."}
- Coder → Supervisor
- The coder's summarized result returns to the supervisor.
Chart saved to out/q3_sales.png; checks pass.
- Supervisor → Writer
- A brief giving the writer the findings and chart to draft from.
{"action": "delegate", "agent": "writer", "instruction": "Draft a one-page Q3 sales report from this table: EMEA $4.1M, APAC $2.7M, AMER $6.3M; chart at out/q3_sales.png."}
- Writer → Supervisor
- The writer's draft returns to the supervisor for a final check.
Draft: Q3 sales reached $13.1M, led by AMER at $6.3M... (chart attached)
- Coder → Testersub-task
- Inside the coding team, the coder delegates testing to the tester.
Run the tests on the Q3 sales plotting script and report any failures.
- Tester → Coder
- The tester's verdict returns to the coder, which the supervisor never sees.
12 passed, 0 failed.
- Supervisor → Result
- The supervisor returns the final deliverable once the task is fully done.
{"action": "finish", "answer": "Q3 sales report with chart attached: out/q3_report.pdf"}
Parallel subagents
A lead agent saves a plan, spawns several subagents at once with clean contexts, reads their condensed findings, and a citation pass runs before the answer goes out.
All steps
Parts of this pattern
- Question Input / output
- The research question, such as 'What did customers say about onboarding in Q3?'.
- Lead agent Agent
- Plans the research, spawns subagents in parallel, reads their findings and decides whether to spawn more or write the report.
- Plan Memory
- The lead's plan, saved outside its context window so it survives if a long run truncates the lead's context.
- Subagent 1 Agent
- Spawned with a clean context and one brief. Searches the support tickets and returns condensed findings with sources.
- Subagent 2 Agent
- Spawned at the same time as subagent 1. Searches the sales-call transcripts and returns condensed findings with sources.
- Subagent 3 Agent
- Spawned later for a gap the lead found in the first findings: did SSO complaints drop after the August docs fix?
- Citation agent Agent
- Runs once at the end. Matches every claim in the lead's draft to a source and inserts the citations.
- Report Input / output
- The cited report returned to the user.
- Question → Lead agent
- The question goes to the lead agent, which plans before it spawns anything.
What did customers say about onboarding in Q3? Group the themes and quote examples.
- Lead agent → Planplan
- The lead writes its plan to memory, so it can recover the plan if its context fills up.
Plan: 1) onboarding themes in Q3 support tickets; 2) onboarding themes in Q3 sales calls; 3) merge and rank by frequency.
- Lead agent → Subagent 1brief
- A self-contained brief: the objective, what to return, which tools to use and what not to cover.
{"objective": "Onboarding themes in Q3 support tickets", "output": "top 5 themes with ticket IDs", "tools": ["ticket_search"], "boundaries": "ignore billing tickets"}
- Lead agent → Subagent 2brief
- A second brief, sent at the same moment, for a part that does not overlap the first.
{"objective": "Onboarding questions raised in Q3 sales calls", "output": "top themes with call dates", "tools": ["transcript_search"], "boundaries": "prospects only"}
- Subagent 1 → Lead agent
- Condensed findings, not raw search results, come back to the lead.
1. SSO setup is confusing (41 tickets, e.g. #8812). 2. CSV import fails on files over 10 MB (23 tickets, e.g. #9034).
- Subagent 2 → Lead agent
- The second subagent's condensed findings come back to the lead.
Prospects asked about SSO setup in 9 of 14 calls (e.g. Acme, 14 Aug). Two asked for a guided import.
- Lead agent → Subagent 3follow-up
- A follow-up brief for the gap, spawned only after the first findings are in.
{"objective": "Did SSO tickets drop after the 20 Aug docs fix?", "output": "weekly SSO ticket counts, Jul to Sep", "tools": ["ticket_search"], "boundaries": "SSO tickets only"}
- Subagent 3 → Lead agent
- The follow-up findings come back to the lead.
SSO tickets fell from 14 a week to 4 a week after the 20 Aug docs fix (ticket_search, Jul to Sep).
- Lead agent → Citation agentdraft
- When the findings answer the question, the lead's draft goes to the citation agent with every source.
Draft: SSO setup is the top onboarding complaint in both tickets and calls; CSV import failures come second.
- Citation agent → Report
- The report goes out with a citation on every claim.
SSO setup is the top onboarding complaint [tickets #8812, #9034; Acme call, 14 Aug]. CSV import failures come second [23 tickets].
Ledger orchestrator
The orchestrator keeps a task ledger (facts, guesses, plan) and a per-turn progress ledger, and replans from scratch when progress stalls.
All steps
Parts of this pattern
- Task Input / output
- The task, such as 'Find the cheapest refundable fare from Wellington to Sydney on 7 November and save it to fares.csv'.
- Orchestrator Agent
- Plans in the task ledger, checks the progress ledger every turn, picks who acts next, and replans when progress stalls.
- Task ledger Memory
- Outer-loop memory: given facts, facts to look up, educated guesses and the current plan. Rewritten on every replan.
- Progress ledger Memory
- Inner-loop memory, refreshed every turn: is the task complete, is it progressing or looping, who acts next, and the instruction.
- Web surfer Agent
- A worker agent that drives a browser: opens pages, clicks, types, and reports what it sees.
- Coder Agent
- A worker agent that writes and runs code, here to save the chosen fare to a CSV file.
- Result Input / output
- The final answer, returned once the progress ledger says the task is complete.
- Task → Orchestrator
- The task goes to the orchestrator, which writes the task ledger before anyone acts.
Find the cheapest refundable fare from Wellington to Sydney on 7 November and save it to fares.csv.
- Orchestrator → Task ledgerplan
- The orchestrator fills the task ledger before anyone acts, and rewrites it when the stalled turns in a row pass the threshold of 2.
Given: WLG to SYD, 7 Nov, refundable. Look up: fares on the airline site. Guess: the fare search works without a login. Plan: web surfer searches; coder saves the cheapest fare.
- Orchestrator → Progress ledgereach turn
- Every turn, the orchestrator answers the progress questions and records them.
{"is_complete": false, "is_progressing": false, "is_in_loop": true, "next_speaker": "web_surfer", "instruction": "Retry the fare search for 7 Nov."}
- Orchestrator → Web surferinstruct
- The instruction from the progress ledger goes to the worker it named.
Open the airline's fare calendar for WLG to SYD in November and read the refundable fares for the 7th.
- Web surfer → Orchestrator
- The worker reports what happened, including failures.
Fare calendar, 7 Nov, refundable: NZ$389 (NZ 247, 07:00) and NZ$412 (QF 162, 10:30).
- Orchestrator → Coder
- When the next step needs code, the instruction goes to the coder.
Write fares.csv with columns date, flight, price_nzd and one row: 2026-11-07, NZ 247, 389.
- Coder → Orchestrator
- The coder reports the result of running its code.
Wrote fares.csv (1 row). Checked by reading it back.
- Orchestrator → Result
- When the progress ledger says the task is complete, the orchestrator writes the final answer.
Cheapest refundable fare on 7 Nov: NZ 247 at 07:00, NZ$389. Saved to fares.csv.
← → neighboursesc atlas
Supervisor
Also known as Manager pattern · Orchestrator agent · Agents-as-tools · Hierarchical teams
A supervisor agent sends work to specialist agents and every result comes back through it.
One step at a time: No single inventor · see source
No single inventor. OpenAI's 2025 agent guide calls it the manager pattern and LangGraph ships a supervisor; manager agents over specialist agents already appear in MetaGPT and AutoGen (2023).
Parallel subagents: Popularized by Anthropic (2025) · Anthropic
Described in 'How we built our multi-agent research system' (June 2025): a lead researcher spawns parallel subagents, keeps its plan in memory, and a citation agent finishes the report.
Ledger orchestrator: Introduced by Fourney et al. (2024) · Microsoft Research AI Frontiers
Magentic-One: an outer loop keeps the task ledger and an inner loop the progress ledger; when the inner loop stalls, the orchestrator updates the task ledger and makes a new plan.
Measured over one run
One step at a time
- Nodes
- 7. Boxes in the diagram: models, tools, stores, people and plain code.
- LLM calls
- 6. Model invocations in the first scenario: each time a model or agent node starts thinking, plus each branch it decides.
- Tool calls
- 0. Messages sent to a tool node in the first scenario.
- Steps
- 5. Steps in the first scenario, with repeated steps counted every time they run.
- Scenarios
- 2. Distinct example runs you can switch between on the diagram.
- Loop
- no. Whether the flow cycles back on itself until a condition is met.
- Parallel
- no. Whether two or more messages are in flight at the same time.
- Branch
- yes. Whether the flow takes one path out of several, chosen at run time.
- Human in the loop
- no. Whether a person appears as a node, to approve, correct or answer.
- Autonomy
- high. How much the model decides the control flow itself, from fixed code paths (low) to open-ended (high).
- Cost
- high. Relative token spend per request.
- Latency
- high. Relative wall-clock time per request.
Parallel subagents
- Nodes
- 8. Boxes in the diagram: models, tools, stores, people and plain code.
- LLM calls
- 5. Model invocations in the first scenario: each time a model or agent node starts thinking, plus each branch it decides.
- Tool calls
- 0. Messages sent to a tool node in the first scenario.
- Steps
- 5. Steps in the first scenario, with repeated steps counted every time they run.
- Scenarios
- 1. Distinct example runs you can switch between on the diagram.
- Loop
- no. Whether the flow cycles back on itself until a condition is met.
- Parallel
- yes. Whether two or more messages are in flight at the same time.
- Branch
- yes. Whether the flow takes one path out of several, chosen at run time.
- Human in the loop
- no. Whether a person appears as a node, to approve, correct or answer.
- Autonomy
- high. How much the model decides the control flow itself, from fixed code paths (low) to open-ended (high).
- Cost
- high. Relative token spend per request.
- Latency
- high. Relative wall-clock time per request.
Ledger orchestrator
- Nodes
- 7. Boxes in the diagram: models, tools, stores, people and plain code.
- LLM calls
- 7. Model invocations in the first scenario: each time a model or agent node starts thinking, plus each branch it decides.
- Tool calls
- 0. Messages sent to a tool node in the first scenario.
- Steps
- 7. Steps in the first scenario, with repeated steps counted every time they run.
- Scenarios
- 1. Distinct example runs you can switch between on the diagram.
- Loop
- yes. Whether the flow cycles back on itself until a condition is met.
- Parallel
- no. Whether two or more messages are in flight at the same time.
- Branch
- yes. Whether the flow takes one path out of several, chosen at run time.
- Human in the loop
- no. Whether a person appears as a node, to approve, correct or answer.
- Autonomy
- high. How much the model decides the control flow itself, from fixed code paths (low) to open-ended (high).
- Cost
- high. Relative token spend per request.
- Latency
- high. Relative wall-clock time per request.
Counted from the first scenario's timeline when the site is built.
Problem
One agent with a dozen tools and a long prompt gets confused. It picks the wrong tool, forgets instructions and mixes research notes with code. Giving each job its own specialist with a short prompt and a focused toolset works better, but then something has to decide who does what and combine the results.
How it works
A central supervisor agent owns the conversation and the plan. Its tools are other agents. Given a task such as “write a report on our churn with a chart”, it picks a specialist, writes a self-contained brief and calls it, for example the researcher, the coder or the writer. Each specialist is a full agent with its own tools and loop. When it finishes, its result returns to the supervisor, never directly to another specialist.
The supervisor reads each result, decides the next step, and eventually returns the deliverable itself. The hub shape makes the flow easy to trace, log and interrupt.
Teams can nest. In the hierarchical scenario the coder is the lead of a small coding team, and it delegates test runs to the tester. The top supervisor sees only the coder’s summarized result, so its own context stays small.
Two variants change how the supervisor works. In the Parallel subagents tab, a lead agent spawns several subagents at once, each with a clean context, and a citation agent finishes the report. In the Ledger orchestrator tab, from Microsoft’s Magentic-One, the supervisor keeps a written plan and a per-turn progress check, and replans when the team stalls.
When to use
- The task needs different tools, prompts or permissions for different parts.
- You want one place to log, audit and apply guardrails.
- A single agent’s tool list has grown past what it can use reliably.
When to avoid
- Subtasks are simple plain LLM calls. Orchestrator-workers is lighter.
- The user should talk directly to the specialist. Consider handoffs.
- One agent with a few tools already does the job.
Trade-offs
Every result passes through the supervisor, so it is a bottleneck for both latency and context. Sequential delegation is slow, and each hop adds an agent run, so cost climbs quickly. You gain clear control and debuggability in exchange for those hops, which is why many teams start with a single agent and add a supervisor only when they must.
Failure modes
- Wrong delegation: the supervisor picks the wrong specialist or writes a vague brief. Describe each specialist’s scope sharply and require self-contained instructions.
- Telephone game: details are lost as results are summarized upward. Let specialists return structured outputs or artifact references.
- Runaway delegation: the supervisor keeps calling agents. Cap the turns and force a final answer.
- Context bloat: raw specialist output floods the supervisor’s history. Ask for concise reports.
Build it with your AI
One step at a time
Paste this into Claude Code, Cursor, ChatGPT or any AI coding assistant.
Implement the Supervisor pattern in this codebase, using the LLM client and language we already use.
## Goal
Turn a task into a finished deliverable by having a supervisor agent delegate one step at a time to specialist agents, each with its own tools, and read every result before choosing the next step.
## How it works
1. Define each specialist as a full agent with its own instructions, tools and loop, and write a one-line description of each for the supervisor.
2. Call the supervisor with the Supervisor prompt, filling in the team descriptions, the task and the results so far, and parse its JSON reply into action, agent, instruction and answer.
3. If action is delegate, run the named specialist with the Specialist agent prompt and the instruction as its brief; it runs its own tool loop and returns a short report.
4. Append the agent name, the instruction and the report to the results list, then call the supervisor again.
5. If action is finish, return the answer together with the results list.
6. A specialist may lead a sub-team of its own: it runs this same loop over its sub-agents and reports one summarized result upward.
## Prompts
### Supervisor prompt
```markdown
You lead a team of specialist agents. You never do the work yourself.
<team>
{{team_descriptions}}
</team>
<task>{{task}}</task>
<results_so_far>{{history}}</results_so_far>
Choose the next step. Respond in JSON:
{"action": "delegate" | "finish",
"agent": "<name from the team>",
"instruction": "a self-contained brief with the goal and what to return",
"answer": "only when finishing: the final deliverable"}
Delegate one step at a time. Finish only when the task is fully done.
```
### Specialist agent prompt
```markdown
You are the {{role}} on a team. You have these tools: {{tools}}.
Your supervisor gave you this brief:
<brief>{{instruction}}</brief>
Do exactly what the brief asks, using your tools as needed.
Report back concisely: what you did, what you found, and anything you could not do.
```
## Stop rule
Stop when the supervisor returns finish, or after 8 delegations. On the cap, return the results gathered so far with a status saying the task was not finished.
## Requirements
- Cap delegations per task (default 8) and tool calls per specialist run (default 10).
- If the supervisor's reply is not valid JSON or names an agent not on the team, retry once with the error appended, then stop with a failed status.
- If a specialist errors or hits its cap, return that as its report, so the supervisor can retry, reassign or finish; never crash the run.
- Give each specialist only its brief, not the supervisor's history, and keep the specialist's own tool calls out of the supervisor's context.
- Log each delegation with the agent, the instruction, the report, the tokens and the duration.
- Add a test with a stub supervisor that delegates to the researcher, then the coder, then finishes; assert exactly two specialist runs in that order and that the finish answer is returned.
Parallel subagents
Paste this into Claude Code, Cursor, ChatGPT or any AI coding assistant.
Implement the Supervisor pattern (Parallel subagents variant) in this codebase, using the LLM client and language we already use.
## Goal
Answer a broad research question by having a lead agent plan, run several subagents in parallel on separate parts of it, and combine their condensed findings into one cited report.
## How it works
1. Call the lead agent with the Lead agent prompt and the question; parse its JSON into action, subtasks (objective, output, tools, boundaries) and report, and save its plan to memory before spawning anything.
2. For each subtask, start a subagent with the Subagent prompt, a fresh context and only that brief; run all of them in parallel.
3. Each subagent runs its own tool loop and returns condensed findings with a source for each fact, or an error saying what it could not find.
4. Reload the plan from memory, and call the lead again with every finding so far; it either spawns more subtasks for the gaps or replies done with a draft report.
5. Send the draft and every source to the citation agent with the Citation agent prompt, and return the cited report.
## Prompts
### Lead agent prompt
```markdown
You lead a research effort. You plan and delegate; subagents do the searching.
<question>{{question}}</question>
<plan>{{plan}}</plan>
<findings_so_far>{{findings}}</findings_so_far>
Decide whether the findings answer the question. Respond in JSON:
{"action": "spawn" | "done",
"subtasks": [{"objective": "...", "output": "what to return",
"tools": ["..."], "boundaries": "what not to cover"}],
"report": "only when done: the full answer, a source for each claim"}
Spawn only subtasks that do not overlap each other or the findings so far.
Use 1 subagent for a simple fact, 2 to 4 for a comparison.
```
### Subagent prompt
```markdown
You are a research subagent. Work only on this brief:
<objective>{{objective}}</objective>
Return: {{output}}. Do not cover: {{boundaries}}.
Use your tools ({{tools}}). Start with broad searches, then narrow down.
Stop when you can answer, or after {{max_tool_calls}} tool calls.
Reply with condensed findings in under 300 words, a source for each fact,
and anything you could not find.
```
### Citation agent prompt
```markdown
Add citations to the report below. Do not change its wording or its claims.
<report>{{report}}</report>
<sources>{{sources}}</sources>
After each claim, cite the source that supports it.
List any claim that no source supports under "Unsupported claims".
```
## Stop rule
Stop when the lead replies done, or after 3 spawn rounds. On the cap, have the lead write the report from what it has and list the open questions in it.
## Requirements
- Cap subagents per round (default 4), spawn rounds (default 3) and tool calls per subagent (default 15). If the lead asks for more subagents than the cap, run the first 4 and return the rest to the lead as not yet run.
- Give each subagent a timeout (default 5 minutes); report a timeout or crash to the lead as that subagent's finding instead of dropping it.
- Subagents never see each other's context or the lead's; they get only their brief.
- If the lead's reply is not valid JSON, retry once with the parse error, then write the report from the findings so far.
- Add a test with a stub lead that spawns two subagents and then replies done; assert both subagents started before either finished, and the citation agent ran once.
Ledger orchestrator
Paste this into Claude Code, Cursor, ChatGPT or any AI coding assistant.
Implement the Supervisor pattern (Ledger orchestrator variant) in this codebase, using the LLM client and language we already use.
## Goal
Complete an open-ended task with a team of worker agents by keeping a written plan and a per-turn progress check, and replanning whenever progress stalls.
## How it works
1. Call the orchestrator with the Task ledger prompt to fill the task ledger: the given facts, facts to look up, educated guesses and a step-by-step plan.
2. Each turn, call the orchestrator with the Progress ledger prompt, passing the task ledger and the turn history, and parse its JSON into is_complete, is_progressing, is_in_loop, next_speaker and instruction.
3. If is_complete is true, ask the orchestrator for the final answer from the history and return it.
4. Otherwise send the instruction to the agent named in next_speaker, run it, and append its reply, or its error, to the history.
5. If the turn was not progressing or was in a loop, add one to a stall counter; otherwise reset the counter to zero.
6. When the stall counter exceeds the stall threshold (default 2), run the Task ledger prompt again with everything learned so far to update the facts, guesses and plan; then reset the counter and clear the workers' history.
## Prompts
### Task ledger prompt
```markdown
You lead a team: {{team_descriptions}}.
<task>{{task}}</task>
{{#if history}}<what_happened_so_far>{{history}}</what_happened_so_far>{{/if}}
Write the task ledger:
1. Facts given in the task.
2. Facts to look up, and where.
3. Facts to derive (by reasoning or computation).
4. Educated guesses.
5. A short plan: which team member does what, in order.
{{#if history}}The old plan stalled. Say why, then write a new plan that avoids it.{{/if}}
```
### Progress ledger prompt
```markdown
<task_ledger>{{task_ledger}}</task_ledger>
<history>{{history}}</history>
Answer in JSON:
{"is_complete": true|false,
"is_progressing": true|false,
"is_in_loop": true|false,
"next_speaker": "one of {{team_names}}",
"instruction": "what that member should do next, self-contained"}
```
## Stop rule
Stop when the progress ledger says the task is complete, after 20 turns, or after 3 replans. On a cap, return the best partial result with the latest task ledger and a status saying the task was not finished.
## Requirements
- Make the stall threshold (default 2), the turn cap (default 20) and the replan cap (default 3) parameters.
- If the progress ledger reply is not valid JSON or names an unknown agent, retry once, then count the turn as a stall.
- Store both ledgers outside the orchestrator's context and log every version, so a run can be audited turn by turn.
- Give each worker only the instruction for its turn, not the ledgers.
- Add a test with a stub orchestrator whose progress ledger reports no progress on turns 1 to 3, progress on turn 4 and completion on turn 5; assert the task-ledger prompt ran exactly twice and the stall counter was 0 after the replan.
Prompt templates
One step at a time
You lead a team of specialist agents. You never do the work yourself.
<team>{{team_descriptions}}</team>
<task>{{task}}</task><results_so_far>{{history}}</results_so_far>
Choose the next step. Respond in JSON:{"action": "delegate" | "finish", "agent": "<name from the team>", "instruction": "a self-contained brief with the goal and what to return", "answer": "only when finishing: the final deliverable"}Delegate one step at a time. Finish only when the task is fully done.You are the {{role}} on a team. You have these tools: {{tools}}.
Your supervisor gave you this brief:<brief>{{instruction}}</brief>
Do exactly what the brief asks, using your tools as needed.Report back concisely: what you did, what you found, and anything you could not do.Parallel subagents
You lead a research effort. You plan and delegate; subagents do the searching.
<question>{{question}}</question><plan>{{plan}}</plan><findings_so_far>{{findings}}</findings_so_far>
Decide whether the findings answer the question. Respond in JSON:{"action": "spawn" | "done", "subtasks": [{"objective": "...", "output": "what to return", "tools": ["..."], "boundaries": "what not to cover"}], "report": "only when done: the full answer, a source for each claim"}Spawn only subtasks that do not overlap each other or the findings so far.Use 1 subagent for a simple fact, 2 to 4 for a comparison.You are a research subagent. Work only on this brief:<objective>{{objective}}</objective>Return: {{output}}. Do not cover: {{boundaries}}.
Use your tools ({{tools}}). Start with broad searches, then narrow down.Stop when you can answer, or after {{max_tool_calls}} tool calls.Reply with condensed findings in under 300 words, a source for each fact,and anything you could not find.Add citations to the report below. Do not change its wording or its claims.
<report>{{report}}</report><sources>{{sources}}</sources>
After each claim, cite the source that supports it.List any claim that no source supports under "Unsupported claims".Ledger orchestrator
You lead a team: {{team_descriptions}}.
<task>{{task}}</task>{{#if history}}<what_happened_so_far>{{history}}</what_happened_so_far>{{/if}}
Write the task ledger:1. Facts given in the task.2. Facts to look up, and where.3. Facts to derive (by reasoning or computation).4. Educated guesses.5. A short plan: which team member does what, in order.{{#if history}}The old plan stalled. Say why, then write a new plan that avoids it.{{/if}}<task_ledger>{{task_ledger}}</task_ledger><history>{{history}}</history>
Answer in JSON:{"is_complete": true|false, "is_progressing": true|false, "is_in_loop": true|false, "next_speaker": "one of {{team_names}}", "instruction": "what that member should do next, self-contained"}Related patterns
Composes well with:
Sources
From the Agentic Atlas by Joran Kikke · Edit on GitHub · Suggest a correction