# 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.

- **Category**: Agentic AI
- **Subcategory**: Multi-Agent
- **Canonical URL**: https://designpattern.fyi/patterns/group_chat_manager/

---

## 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.



## Use Cases
- 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.






## Trade-offs


### 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.




### Considerations & Drawbacks

- 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.







---
**Reference**: [Original Source](https://www.agentpatternscatalog.org/patterns/group-chat-manager/)

