Group chat — shared pool + speaker selector (AutoGen / AG2)
shared message pool
m1 [coder]: initial code ... | m2 [reviewer]: bug detected ... | m3 [coder]: revised ... | m4 [reviewer]: approved
every agent reads every message
Coder
writes code
revises on review
Reviewer
critiques code
returns approved / rejected
Manager
drives termination
emits TERMINATE
Selector
round-robin (fixed cycle)
LLM-selected (context-aware)
custom (rule-based fallback)
selector reads pool
selector returns: next speaker = manager
when group chat fits
emergent conversations, role-mixing
exploratory problem-solving
pre-wiring every handoff is wrong
"brainstorm meeting" not "assembly line"
selector replaces explicit graph edges
failure modes
hot speaker (one agent dominates)
sycophancy cascade (defer to loud)
context bloat (pool grows unbounded)
selector inconsistency (LLM non-determinism)
cap rounds · track balance · scope views