GroupChat pays off when several distinct specialist personas, each with its own system prompt, genuinely need to share one transcript and trade turns.
Picture a tiny startup. If it is just a founder and an assistant fetching coffee, you do not need a weekly all-hands; one short conversation works. But the moment you add a designer, an engineer, and a reviewer who all need to hear each other before deciding anything, you schedule a meeting with someone running it. AutoGen GroupChat is that meeting, with a manager picking who speaks next. The UserProxy + Assistant pair is the founder and assistant chat. Bigger is not better, only better when the work genuinely involves more voices.
Concept explanation~2 min read
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
Concept explanation~2 min read
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
The two-agent UserProxy + Assistant pattern is AutoGen's default for a reason. It is the smallest unit of agentic work that still has a separation between thinking (Assistant) and acting (UserProxy executing tools or code). It traces cleanly, fits in one screen of code, and handles a surprisingly wide range of single-task agents.
GroupChat is the bigger hammer. It replaces a fixed 1:1 channel with an open-floor meeting moderated by a GroupChatManager, an LLM that picks who speaks next on every turn. That extra moving part is powerful and expensive in roughly equal measure. The honest interview question is when the power justifies the expense.
Mental model: GroupChat is a meeting with a chair. The 2-agent pair is a phone call. Schedule the meeting only when the voices in the room are genuinely different.
What the 2-agent pair actually is
The shape
A UserProxy agent runs locally: it can execute code in a sandbox, call functions, write files, and (optionally) ask a human for input. An Assistant agent is the reasoning side: it sees the conversation and emits the next plan, tool call, or final answer. Messages alternate between the two on a initiate_chat.
Why it covers so much
A single Assistant with good tool descriptions can call tools sequentially, observe results, plan, and decide when to stop. That is the long tail of agentic work. Debugging a script, summarizing a folder, querying an API, writing a small program. There is nothing inside that loop that needs a second persona.
What it costs
Almost nothing extra over a single LLM call per turn. There is no manager, no speaker selection, no shared transcript across N agents. Traces line up neatly: each turn is one Assistant call, then one UserProxy execution. Debugging is reading two columns top to bottom.
Situations where this technique stops working.
2–4 min · Everything important, quickly.
Real products, models, and research that use this idea.
- Microsoft AutoGen Studio ships planner / coder / executor GroupChats as canonical demos, each role with a distinct system prompt.
- Sweep AI and similar code-fix agents use a critic in the loop GroupChat so the reviewer can reject patches before merge.
What an interviewer would ask next. Try answering before peeking at the approach.
QHow do you stop a GroupChat from looping forever on the same speaker?
Set max_round on the GroupChat, configure speaker_selection_method to a deterministic rule (round_robin or a custom function) for stable patterns, and use a strong is_termination_msg check on the UserProxy so any agent can end the conversation.
Red flags & common mistakes
The phrases that signal junior thinking. Click to expand.
Red flags & common mistakes
The phrases that signal junior thinking. Click to expand.
Reaching for GroupChat by default. If only one persona is reasoning, the manager and speaker selection are pure overhead that buy nothing and add failure modes.
60 second bullets to scan on the way to the call.
What the UserProxy + Assistant pair is and what it covers well
How GroupChatManager selects the next speaker each turn
Primary sources. Browse if you want the original framing.
Same topic, related formats. Practice these next.