Group-Chat Manager
A dedicated manager owns the shared conversation transcript and decides which participant speaks next each turn — turn order, termination, and audit in one component.
select_next(transcript, participants) -> participant on each turn, invokes the chosen agent, appends the result, and enforces termination — via a turn cap, content predicate, or explicit STOP signal. All speaker selection logic, termination, and audit live in one place.Intent & Description
🎯 Intent
Place a dedicated manager between the participants of a multi-agent group chat that decides which participant speaks next on each turn.
📋 Context
Three or more specialist agents — planner, coder, reviewer, tester — share one conversation transcript and need to take turns sensibly. Only one agent should speak per turn, the transcript must stay coherent, and the conversation must end when the work is done rather than running forever.
💡 Solution
Define a Manager that owns the shared conversation transcript and a select_next(transcript, participants) -> participant function. On each turn the manager appends the new message, calls select_next, and invokes the chosen participant. The manager also enforces termination — a turn cap, a content predicate, or an explicit STOP signal from a participant.
Real-world Use Case
- Three or more agents must share a single conversation context.
- Turn order, termination, and audit need to live in one component.
- Relevance-aware speaker selection is worth a per-turn model call.
Source
📌 TL;DR
One manager, one transcript, one select_next function — turn order, termination, and audit all live in the manager so the agents can focus on their actual roles.
Advantages
- Single place to enforce turn allocation and termination — no distributed turn-taking logic.
- Variants let the same skeleton serve fair (round-robin) and relevance-aware (LLM selector) conversations.
- Audit trail is centralised in the manager — easy to reconstruct what happened and why.
Disadvantages
- The manager is a single point of failure for the entire conversation.
- LLM-based selector variants add a model call per turn — significant cost at scale.
- Per-pair agent affinity is harder to express than in pure peer-to-peer handoff designs.