# Blackboard Pattern

**In short:** The blackboard pattern lets independent expert modules build a solution together through one shared memory. A control component decides which module runs next. It began in speech recognition and is now used for LLM agent teams.

## Explanation

The blackboard pattern has three kinds of parts.

- **The blackboard.** It is a structured, global memory. It holds objects from the solution space, meaning the partial results of the problem being solved.
- **Knowledge sources.** These are specialized modules. Each has its own representation of the data and contributes a specific piece of expertise. They are independent of each other.
- **The control component.** It decides at runtime which knowledge source runs next. It is usually a complex scheduler. The scheduler applies domain-specific heuristics (practical rules of thumb) to rate which sources to run.

In LLM versions of the pattern, agents communicate solely through the blackboard. The blackboard holds all historical context. It acts as public storage and replaces the memory modules that LLM agents usually have individually.

The pattern was identified by the Hearsay-II project and first applied to speech recognition.

A modern example is LbMAS, an LLM multi-agent system built on a blackboard. Its control unit is itself an LLM agent. It selects the acting agents based on the blackboard's current content. Select-and-execute rounds repeat until the agents reach a consensus on the blackboard.

Several processes can work on separate threads and react to the shared board. So the pattern permits parallelism.

For related ideas, see [Architectural Pattern](architectural-pattern) and [Publish-Subscribe Pattern](publish-subscribe-pattern).

## Example

A team of software agents reviews a contract. One agent extracts clauses and posts them on the blackboard. A second agent reads the clauses and posts a list of risky wording. A third agent drafts a summary from what is on the board. A control component looks at the board after each step and picks the next agent. The agents never call each other. The rounds stop when the agents agree on the result.

## Trade-offs

The facts support one clear benefit: the pattern permits parallelism, because several processes can work on separate threads and react to the shared board.

The control component is typically a complex scheduler. It needs domain-specific heuristics to rate which sources to run. That is a real design effort, and it sits at the center of the system.

Knowledge sources read and write only the shared blackboard. The control component picks which one runs next.

```mermaid
flowchart LR
  C[Control component] -->|reads state, picks next| B[(Blackboard)]
  K1[Knowledge source A] <--> B
  K2[Knowledge source B] <--> B
  K3[Knowledge source C] <--> B
  C -.activates.-> K1
  C -.activates.-> K2
  C -.activates.-> K3
```

## Checks

- The document identifies the blackboard as the shared, structured memory that holds the partial solution.
- Each knowledge source is described as an independent module with a specific expertise.
- The control component is named, and its rule for choosing the next knowledge source is described.
- In an LLM-agent design, agents communicate only through the blackboard, which holds the history.

## Related

- [Architectural Pattern](https://arc.fuet.ch/concepts/styles-patterns/architectural-pattern.md)
- [Architecture Style](https://arc.fuet.ch/concepts/styles-patterns/architectural-style.md)
- [Publish-Subscribe Pattern](https://arc.fuet.ch/concepts/styles-patterns/publish-subscribe-pattern.md)
- [Shared Database](https://arc.fuet.ch/concepts/integration/shared-database.md)
- [Pipe-and-Filter](https://arc.fuet.ch/concepts/styles-patterns/pipe-and-filter-pattern.md)
- [Microkernel Pattern](https://arc.fuet.ch/concepts/styles-patterns/microkernel-pattern.md)
- [Layers Pattern](https://arc.fuet.ch/concepts/styles-patterns/layers-pattern.md)
- [Broker Pattern](https://arc.fuet.ch/concepts/styles-patterns/broker-pattern.md)

## Sources

- [Blackboard (design pattern) - Wikipedia](https://en.wikipedia.org/wiki/Blackboard_(design_pattern)) — en.wikipedia.org, accessed 2026-11-09
- [Exploring Advanced LLM Multi-Agent Systems Based on Blackboard Architecture](https://arxiv.org/html/2507.01701v1) — arxiv.org, accessed 2026-11-09
- [[2507.01701] Exploring Advanced LLM Multi-Agent Systems Based on Blackboard Architecture](https://arxiv.org/abs/2507.01701) — arxiv.org, accessed 2026-11-09
