# Blackboard

> Give multiple agents a shared, queryable workspace they all read from and write to — loose coupling, no direct messaging, inspectable shared state.

- **Category**: Agentic AI
- **Subcategory**: Multi-Agent
- **Canonical URL**: https://designpattern.fyi/patterns/blackboard/

---

## 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).



## Use Cases
- 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.






## Trade-offs


### 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.




### Considerations & Drawbacks

- Race conditions under concurrent writes without careful locking or conflict policy.

- Blackboard bloat without an active pruning or expiry strategy.







---
**Reference**: [Original Source](https://www.agentpatternscatalog.org/patterns/blackboard/)

