Skip to Content
ArchitecturesBlackboard

Blackboard

Blackboard lets several agents collaborate through a shared workspace (the “blackboard”) of facts, hypotheses and partial results. Each round a coordinator picks which agent acts next, and a decider says when the work is done. Use it for open-ended investigation where no fixed order of work makes sense and agents build on each other’s findings.

The pattern comes from classical AI (Hearsay-II, Erman et al. 1980) and was revived for LLM agents by Han & Zhang 2025 (arXiv:2507.01701); Salemi et al. 2026 (arXiv:2510.01285) report a 13–57% relative improvement on data-discovery tasks.

Pattern

  1. Initialize the blackboard with the user’s problem statement.
  2. Each round, the coordinator reads the blackboard and picks one agent to contribute next (or terminates).
  3. The chosen agent runs with the blackboard view in its prompt and produces a contribution.
  4. The contribution is appended to the blackboard.
  5. Loop until the coordinator terminates or max_rounds is hit. A run stopped by the budget keeps the board’s latest contribution as its output.
  6. The decider synthesizes the final answer from the blackboard. decider=None falls back to the last answer-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 answers with JSON: {"terminate": bool, "next_agent": str | null, "instruction": str | null}. "terminate": "false" is read as false and "next_agent": "null" as no contributor. See Coordinator decisions.

Last updated on