Skip to main content

3. Advanced: Multi-Agent Teams

Advanced teams plan, delegate, run concurrently, or hand work between peers. Keep each application in its own YAML file so policies and prompts stay understandable.

Software-development coordinator

A technical lead decomposes a feature, delegates to specialists, and reviews results.

Create coding-team.yaml

defaults:
model:
provider: openai
api_key: ${OPENAI_API_KEY}
model: gpt-5.5
storage:
backend: none
stream: true

agents:
- id: tech-lead
name: Technical Lead
description: Plans architecture and coordinates the development team
system_prompt: |
You are a senior technical lead. For each feature request:
1. Break it into actionable sub-tasks
2. Assign the right specialist
3. Specify dependencies and acceptance criteria
4. Review results before completing the task
capabilities: [architecture, planning]

- id: backend-dev
name: Backend Developer
description: Implements server-side Go code and APIs
system_prompt: |
You are an expert backend developer. Write clean, idiomatic Go.
Include input validation, wrapped errors, and table-driven tests.
capabilities: [backend, golang]

- id: frontend-dev
name: Frontend Developer
description: Implements accessible React interfaces
system_prompt: |
You are a senior frontend developer. Write TypeScript and React.
Prioritize accessibility, loading/error states, and responsive design.
capabilities: [frontend, react]

- id: code-reviewer
name: Code Reviewer
description: Reviews correctness, security, performance, and maintainability
system_prompt: |
Review the proposed implementation for correctness, security,
performance, test coverage, and maintainability. Return prioritized findings.
capabilities: [code-review, security]

teams:
- id: dev-team
name: Development Team
strategy: coordinator
coordinator: tech-lead
agents:
- backend-dev
- frontend-dev
- code-reviewer
max_iterations: 2
chronos -c coding-team.yaml config validate
chronos -c coding-team.yaml team run --stream dev-team \
"Build email/password registration with an API and accessible form"

max_iterations: 2 allows the lead to review one round and re-plan once.

Multi-provider parallel comparison

Run the same prompt through several providers concurrently. best_effort keeps successful results when one provider is unavailable.

Create multi-provider.yaml

agents:
- id: openai-agent
name: GPT Agent
model:
provider: openai
model: gpt-5.5
api_key: ${OPENAI_API_KEY}
storage: {backend: none}
system_prompt: Give a precise answer and state important assumptions.

- id: claude-agent
name: Claude Agent
model:
provider: anthropic
model: claude-opus-4-8
api_key: ${ANTHROPIC_API_KEY}
storage: {backend: none}
system_prompt: Give a precise answer and state important assumptions.

- id: gemini-agent
name: Gemini Agent
model:
provider: gemini
model: gemini-2.0-flash
api_key: ${GEMINI_API_KEY}
storage: {backend: none}
system_prompt: Give a precise answer and state important assumptions.

- id: azure-agent
name: Azure OpenAI Agent
model:
provider: azure
deployment: my-gpt4o-deployment
endpoint: https://my-resource.openai.azure.com
api_version: "2024-10-21"
api_key: ${AZURE_OPENAI_API_KEY}
storage: {backend: none}
system_prompt: Give a precise answer and state important assumptions.

- id: grok-agent
name: Grok Agent
model:
provider: compatible
model: grok-4
base_url: https://api.x.ai/v1
api_key: ${XAI_API_KEY}
storage: {backend: none}
system_prompt: Give a precise answer and state important assumptions.

teams:
- id: compare
name: Provider Comparison
strategy: parallel
agents:
- openai-agent
- claude-agent
- gemini-agent
- azure-agent
- grok-agent
max_concurrency: 5
error_strategy: best_effort
chronos -c multi-provider.yaml config validate
chronos -c multi-provider.yaml team run --stream compare \
"Explain quantum entanglement in two sentences"

See provider recipes for every supported model backend.

Incident-response swarm

A swarm lets peers transfer ownership dynamically instead of following a fixed plan.

Create incident-swarm.yaml

defaults:
model:
provider: openai
model: gpt-5.5
api_key: ${OPENAI_API_KEY}
storage:
backend: none

agents:
- id: triage
name: Incident Triage
description: Classifies severity, gathers evidence, and selects the next owner
system_prompt: |
Triage the incident. Identify severity, affected services, evidence gaps,
and the specialist who should take ownership next.
capabilities: [triage, incident-management]

- id: application
name: Application Engineer
description: Diagnoses application errors, regressions, and bad deployments
system_prompt: Diagnose application-level causes and propose reversible mitigations.
capabilities: [application, debugging]

- id: infrastructure
name: Infrastructure Engineer
description: Diagnoses compute, network, Kubernetes, and database failures
system_prompt: Diagnose infrastructure causes and propose safe mitigations.
capabilities: [infrastructure, kubernetes, networking]

teams:
- id: incident-swarm
name: Incident Response Swarm
strategy: swarm
agents: [triage, application, infrastructure]
initial_agent: triage
max_handoffs: 6
chronos -c incident-swarm.yaml config validate
chronos -c incident-swarm.yaml team run incident-swarm \
"Checkout latency doubled after the latest deployment"

Swarm routing depends on model tool-call output, so use completed-output mode rather than token streaming.

Engineering hierarchy

A hierarchy models a root supervisor with specialist workers.

Create engineering-hierarchy.yaml

defaults:
model:
provider: openai
model: gpt-5.5
api_key: ${OPENAI_API_KEY}
storage:
backend: none
stream: true

agents:
- id: engineering-director
name: Engineering Director
description: Owns architecture, priorities, and final integration decisions
system_prompt: Delegate work to specialists, reconcile results, and return one plan.

- id: platform-team
name: Platform Team
description: Owns runtime, deployment, reliability, and observability
system_prompt: Produce the platform and operations portion of the solution.

- id: product-team
name: Product Team
description: Owns APIs, user workflows, and application behavior
system_prompt: Produce the product and application portion of the solution.

- id: security-team
name: Security Team
description: Owns threat modeling, controls, and compliance requirements
system_prompt: Review the plan and specify required security controls.

teams:
- id: engineering-org
name: Engineering Organization
strategy: hierarchy
coordinator: engineering-director
agents:
- engineering-director
- platform-team
- product-team
- security-team
error_strategy: collect
chronos -c engineering-hierarchy.yaml config validate
chronos -c engineering-hierarchy.yaml team run --stream engineering-org \
"Design a multi-tenant document processing platform"

Strategy selection

StrategyOwnership modelTypical application
parallelIndependent peersModel comparison, review panels
coordinatorOne planner delegates and reviewsEngineering projects, complex analysis
swarmPeers hand off dynamicallyIncident response, open-ended investigation
hierarchyRoot supervisor delegates downOrganization-style planning

Next, add tool policy, reasoning, tracing, and sandboxing with production application patterns.