Tacnode™
Glossary
AI & Agents

What Is the Blackboard Pattern?

The blackboard pattern is an architecture in which independent specialist components, called knowledge sources, cooperate on a problem by reading from and writing to one shared data structure, the blackboard, instead of messaging each other directly. A control component watches the blackboard and decides which knowledge source acts next, based on its current contents. The solution builds up incrementally on the blackboard as each specialist contributes a partial result.

Updated

What is the blackboard pattern?

The pattern comes from speech recognition research in the 1970s. The Hearsay-II system at Carnegie Mellon, described by Erman, Hayes-Roth, Lesser and Reddy in ACM Computing Surveys (1980), had independent knowledge sources that read and wrote hypotheses on a shared blackboard at levels from phones and phonemes up to syllables, words and phrases. None could understand an utterance alone; each posted hypotheses at its own level, and others built on them. H. Penny Nii's two-part survey in AI Magazine (1986) generalized the design into the blackboard model of problem solving, calling Hearsay-II, which evolved between 1971 and 1976, the first blackboard system.

The problem it addresses is coordination among specialists whose order of work cannot be fixed in advance. A pipeline hard-codes the sequence. A blackboard lets whichever specialist has something useful to add act next, so the sequence emerges from the data.

The pattern has returned with LLM agents. Han and Zhang proposed a blackboard architecture for LLM multi-agent systems (2025) in which agents with different roles share all information on the blackboard and are selected to act based on its contents. Salemi et al. used a blackboard for data discovery: a central agent posts requests, and subordinate agents volunteer to respond based on their capabilities, so the central agent doesn't need to know each one's expertise.

How the blackboard pattern works

Three parts:

  1. 1.Blackboard. Shared state, often organized into levels or regions (raw input, hypotheses, partial solutions).
  2. 2.Knowledge sources. Independent specialists. Each has a condition ("I can contribute when X is present") and an action (read, compute, write).
  3. 3.Control. A scheduler that picks which eligible knowledge source runs next, and decides when the problem is solved.

A minimal loop in pseudocode:

while not control.solved(board):
    eligible = [ks for ks in sources if ks.condition(board)]
    ks = control.choose(eligible, board)
    snapshot = board.read(ks.inputs)
    result = ks.act(snapshot)          # an LLM call can take seconds
    board.write(result)

In the classic designs, a central control component chose which knowledge source ran next. Many LLM multi-agent systems run agents in parallel instead, and each act step is a model call that can take seconds. That changes the risk.

Why the blackboard pattern matters in real-time systems

Once agents run concurrently, the blackboard is shared mutable state with slow writers. Agent A reads a value, spends several seconds reasoning, and writes a result based on what it read. Meanwhile Agent B read the same value and wrote first. A's write is now built on a value that is no longer true: a lost update or a stale read, the classic database anomalies. Yang et al. (2026) argue that many multi-agent failures are concurrency control problems of exactly this kind, and that frameworks need conflict detection and isolation as first-class features.

Two design choices decide whether a blackboard survives concurrency:

  • What a write is conditioned on. A write should commit only if what the agent read is still current, through a version check or a serializable transaction. Otherwise reject and let the agent re-read.
  • Whether contributions merge. Appending hypotheses merges naturally. Decrementing a shared budget, claiming a task or reserving inventory does not merge, so those writes must be serialized.

Where the blackboard holds unmergeable state such as budgets, claims or quotas, it has to provide transactions, not just storage. That design problem is covered in multi-agent coordination.

FAQ

Related terms

Further reading