Teams
A team is a multi-agent structure where a set of specialized agents work together toward a shared goal. From the outside, a team looks like any other agent — you start a session, you talk. Inside, DAEMI routes your requests to the right members and orchestrates their collaboration.
Team Profile
Teams are defined in YAML just like agents, with type: team and a members list:
agent_id: tema
name: Tema
role: Software Team
type: team
members:
- role: PM
name: Roja
- role: Designer
name: Desa
- role: Architect
name: Teka
- role: Frontend
name: Rona
- role: Backend
name: Baca
- role: QA
name: Quya
Each member is defined inline in the team profile. Members are not standalone agents — they don't have their own profile files unless you want them to.
How Orchestration Works
When you send a message to a team:
- DAEMI parses the intent — what kind of task is this? Design? Architecture? QA?
- Routes to the appropriate member — based on role matching and task type
- Members can hand off — a PM can write a spec that a Designer responds to, which triggers a Frontend implementation
- Results surface to you — you see the team's collective output, optionally with member attributions
The orchestration layer understands role relationships. A "QA" member knows to test what "Backend" and "Frontend" produce. An "Architect" knows to review what "Backend" proposes before it ships.
Team Memory
Teams have their own memory collections (tema_stm, tema_ltm) that capture the team-level context — decisions, scope, project history. Individual member interactions within a session contribute to team STM.
Team LTM accumulates across sessions, giving the team a shared memory of the project:
"As of session 2026-02-10: Decided to use PostgreSQL over MongoDB due to
reporting requirements raised by Roja. Teka approved the schema migration path."
Inline vs. Referenced Members
Members can be defined inline (as above) or reference existing agent profiles:
agent_id: devteam
name: Dev Team
type: team
members:
- agent_id: koda # References the koda.yaml profile
- agent_id: aria # References aria.yaml
- role: QA
name: Quya # Inline — no separate profile
When agent_id is specified, DAEMI loads that agent's full profile including its personality, memory, and LLM config. Inline members inherit team defaults.
Talking to a Specific Member
You can address a specific team member directly in the Console:
@Roja what's the current sprint goal?
@Teka review the database schema I just pasted
The @name syntax routes directly to that member, bypassing the orchestration layer.
Team Settings
agent_id: tema
name: Tema
type: team
orchestration:
strategy: role_match # "role_match" | "round_robin" | "consensus"
show_attribution: true # Whether member names appear in responses
max_handoffs: 4 # Max member-to-member handoffs per request
members:
...
| Setting | Description |
|---|---|
strategy: role_match | Default. Route based on task type and member roles |
strategy: round_robin | Rotate through members in order |
strategy: consensus | Multiple members respond; team synthesizes |
show_attribution | Show [Roja]:, [Teka]: prefixes in output |
max_handoffs | Prevents runaway orchestration loops |