Blackboard
Shared state board with a coordinator picking the next contributor each round. Classical AI: Erman et al. 1980 (Hearsay-II). Han & Zhang 2025 revived for LLM agents (arXiv:2507.01701). Salemi et al. 2026 (arXiv:2510.01285) reports +13–57% relative improvement on data-discovery tasks.
┌───────────── shared blackboard ─────────────┐
│ facts · hypotheses · partial results │
└────▲──────▲──────▲──────▲────────────▲───────┘
│ r/w │ r/w │ r/w │ r/w │
│ │ │ │ │
prompt ──► coordinator ──► picks who acts next │
│ │ │ │ │
agent A agent B agent C │
│ │ │ │ │
▼ ▼ ▼ ▼ │
decider ◄────────────────┘
│
├─ done? ──► output
│
└─ not done ──► next roundPattern
- Initialize the blackboard with the user’s problem statement.
- Each round, the coordinator reads the blackboard and picks one agent to contribute next (or terminates).
- The chosen agent runs with the blackboard view in its prompt and produces a contribution.
- The contribution is appended to the blackboard.
- Loop until the coordinator terminates or
max_roundsis hit. - The decider synthesizes the final answer from the blackboard.
decider=Nonefalls back to the lastanswer-kind contribution, or the most recent contribution if no answer-kind exists.
Usage
from loomflow import Agent
from loomflow.team import Team
hypothesis = Agent("Propose hypotheses about the data.", model="claude-opus-4-7")
evidence = Agent("Search for evidence and add it to the board.",
model="claude-opus-4-7", tools=[...])
critic = Agent("Critique the current top hypothesis.", model="gpt-4o")
coordinator = Agent(
"Read the blackboard. Decide which agent contributes next, or "
"terminate when the problem is solved.",
model="claude-opus-4-7",
)
decider = Agent(
"Read the full blackboard and produce the final answer.",
model="claude-opus-4-7",
)
team = Team.blackboard(
agents={"hypothesis": hypothesis, "evidence": evidence, "critic": critic},
coordinator=coordinator,
decider=decider,
model="claude-opus-4-7",
)
result = await team.run("Investigate why retention dropped in March.")When Blackboard pays off
- Data-discovery / investigation. Agents contribute partial findings that compound on the board.
- Hypothesis generation + verification. Propose / search / critique cycles.
- Loose coordination. When neither hierarchical (Supervisor) nor peer-handoff (Swarm) fits.
Cost: 3–5× single-agent. Reserve for tasks where the shared workspace genuinely accelerates over hierarchical delegation.
Coordinator API. The coordinator is itself an Agent that
returns one of: a worker name to call next, or a terminate signal.
The framework parses the coordinator’s structured output. See the
docstring on BlackboardArchitecture for the exact protocol.
Last updated on