Blackboard
Give multiple agents a shared, queryable workspace they all read from and write to — loose coupling, no direct messaging, inspectable shared state.
Intent & Description
🎯 Intent
Give multiple agents a shared, queryable workspace they can read from and write to as they collaborate.
📋 Context
Several specialised agents are working on a shared artifact — a document being annotated by a layout-extractor, table-parser, citation-resolver, and summarizer; a code review where multiple analyzers contribute findings. Each agent needs to see what the others have already produced before deciding what to do next. The order of useful contributions depends on what’s already on the board, not a fixed pipeline.
💡 Solution
Establish a shared store (file, database, in-memory). Each agent reads the relevant slice and writes its contribution under structured keys. Optional event notification when keys change. Conflict resolution is policy-driven (last-write-wins, version-vector, append-only).
Real-world Use Case
- Multiple agents collaborate and need a shared workspace they can read from and write to.
- Explicit point-to-point messaging would require an over-engineered protocol for this coordination shape.
- A conflict resolution policy (last-write-wins, version-vector, append-only) is acceptable for the workload.
Source
📌 TL;DR
A shared, queryable store every agent reads from and writes to — loose coupling, no direct messaging, full state visibility at all times.
Advantages
- Loose coupling — agents don’t need to know about each other directly, only about the shared schema.
- Shared state is inspectable at any point for debugging or audit.
Disadvantages
- Race conditions under concurrent writes without careful locking or conflict policy.
- Blackboard bloat without an active pruning or expiry strategy.