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