datarekha

Group chat & the blackboard pattern

Agents on a team have to do two things: share what they know, and decide who acts next. There are two classic ways to wire that — broadcast group chat, where everyone hears every message, and the blackboard, where agents read and write a shared workspace and a controller picks who fires. The choice drives how your context grows and how the system scales.

8 min read Advanced Agentic AI Lesson 21 of 71

What you'll learn

  • The two coordination substrates — message-passing group chat vs a shared blackboard
  • Speaker-selection policies — round-robin, model-chosen, rule-based
  • The blackboard pattern — knowledge sources, a shared workspace, a control shell
  • Why broadcast chat grows context and how shared memory scales better

Before you start

Topology tells you the org chart — who reports to whom. It doesn’t tell you the mechanics: how agents actually exchange information, and how the system decides who acts next. There are two classic answers, and they scale very differently. Agents can talk — broadcast messages everyone hears — or they can share a blackboard — a common workspace they read and write while a controller picks who fires.

Group chat: everyone hears every message

The conversational model is a group chat: all agents share one message stream, and a selector decides who speaks each turn. The selection policy is the knob:

  • Round-robin — fixed rotation; simple and predictable.
  • Model-chosen — an LLM reads the conversation and picks “who is best suited to respond now?”; flexible but another call and another thing to trace.
  • Rule-based — hand-written routing (after the coder, run the reviewer).

This is exactly what AutoGen’s GroupChat implements with its manager. It’s intuitive and easy to start with, but it has a built-in cost: everyone reads everything. Each broadcast lands in every agent’s context, so the token bill — and the noise each agent must wade through — grows with the conversation. For a long task with many agents, that gets expensive fast.

Blackboard: a shared workspace, not a transcript

The blackboard pattern (from classic AI — the Hearsay-II speech system) flips the model. Instead of broadcasting messages, agents — called knowledge sources — read from and write to a shared workspace (the blackboard). A control shell looks at the board’s current state and runs whichever knowledge source can now contribute. No agent has to read the whole transcript; it just reads the part of the board it needs.

# Blackboard coordination: each knowledge source fires only when its precondition
# is on the board. The control shell runs whoever can contribute — order-independent.
bb = {"raw": "2 + 3"}

def tokenize(bb):
    if "raw" in bb and "tokens" not in bb:
        bb["tokens"] = bb["raw"].split(); return "tokenize"

def compute(bb):
    if "tokens" in bb and "answer" not in bb:
        a, op, b = bb["tokens"]; bb["answer"] = int(a) + int(b); return "compute"

sources = [compute, tokenize]          # deliberately listed out of execution order
log = []
while "answer" not in bb:
    for ks in sources:                 # control shell: fire whichever precondition is met
        if (fired := ks(bb)):
            log.append(fired); break

print("fired order:", log)
print("final board:", bb)
fired order: ['tokenize', 'compute']
final board: {'raw': '2 + 3', 'tokens': ['2', '+', '3'], 'answer': 5}

Notice the control flow is driven by the board, not by a fixed script: compute is listed first, but it can’t fire until tokenize has put tokens on the board, so the order self-organizes. Agents coordinate through shared state rather than by addressing each other — add a knowledge source and it simply starts contributing when the board is ready for it.

Group chat (broadcast)selectoragent Aagent Bagent Cevery agent reads every message → context growsBlackboard (shared workspace)blackboardshared statesource 1source 2source 3a control shell fires whoever the board is ready for
Group chat broadcasts every message to every agent; a blackboard lets agents coordinate through shared state, reading only what they need.

Which to reach for

Group chat is the right start for a small team having a conversation — a coder, a reviewer, a tester hashing something out — where the dialogue itself is the work and the transcript is short. The blackboard wins when there are many contributors and a lot of intermediate state: each agent touches only its slice of the board, so context stays lean and you can add or remove knowledge sources without rewiring who-talks-to-whom. In practice many agent stacks use a hybrid — a shared scratchpad or memory (a lightweight blackboard) plus targeted messages — so agents share durable facts through state and use conversation only when they genuinely need to address each other.

In one breath

  • Topology is the org chart; coordination is the mechanics — how agents share info and decide who acts next. Two classic substrates: group chat and blackboard.
  • Group chat broadcasts every message to every agent; a selector picks the next speaker (round-robin, model-chosen, or rule-based) — this is AutoGen’s GroupChat.
  • Its cost: everyone reads everything, so context and token spend grow with the conversation.
  • Blackboard: agents (knowledge sources) read/write a shared workspace and a control shell fires whoever the board is ready for — flow is driven by state, not a fixed script (the demo self-orders tokenize before compute).
  • Use group chat for a small team in conversation; use a blackboard / shared memory when there are many contributors and lots of state — often hybridized in practice.

Quick check

Quick check

0/4
Q1In a group-chat coordination model, what does the speaker selector do, and what is the built-in cost?
Q2What defines the blackboard pattern?
Q3In the blackboard demo, why does `tokenize` run before `compute` even though `compute` is listed first?
Q4When is a blackboard / shared-memory model preferable to broadcast group chat?

Next

These are the coordination substrates beneath the topologies; the concrete conversational implementation is AutoGen’s GroupChat, and the durable shared state a blackboard relies on is agent memory.

Sign in to track your progress

Completed lessons, your XP, level, and streak save to your account — it's free and takes a few seconds.

Related lessons

Explore further

Skip to content