coordinationcomplexspecialized

Blackboard Pattern

Asynchronous multi-agent collaboration on complex problems

Overview

The Challenge

Agents need to collaborate on complex problems but direct communication creates tight coupling and communication overhead.

The Solution

Provide a shared knowledge repository (blackboard) where agents post findings and read updates, enabling asynchronous, loosely-coupled collaboration.

When to Use
  • Research and investigation tasks
  • Multi-perspective analysis
  • Problems requiring diverse expertise
  • Scenarios where agents should work independently
When NOT to Use
  • Simple sequential workflows
  • Real-time, synchronous requirements
  • Tasks with strict ordering dependencies

Trade-offs

Advantages
  • +Loose coupling between agents
  • +Agents can join/leave dynamically
  • +Natural parallelism
  • +Clear audit trail of contributions
Considerations
  • Coordination overhead
  • Can become a bottleneck
  • Complex conflict resolution
  • Requires schema design
Implement this pattern with our SDK
Get RepKit

Deep Dive

Overview

The Blackboard Pattern is a classic architecture from distributed AI, adapted for multi-agent LLM systems. Instead of direct agent-to-agent communication, agents interact through a shared data space.

Architecture

┌─────────────────────────────────────────┐
│           BLACKBOARD (Shared State)      │
│  ┌─────────┐ ┌─────────┐ ┌─────────┐   │
│  │ Finding │ │Hypothesis│ │ Result  │   │
│  │   #1    │ │   #1    │ │   #1    │   │
│  └─────────┘ └─────────┘ └─────────┘   │
└───────┬──────────┬──────────┬───────────┘
        │          │          │
    ┌───┴───┐  ┌───┴───┐  ┌───┴───┐
    │Agent A│  │Agent B│  │Agent C│
    │(Read) │  │(Write)│  │(Both) │
    └───────┘  └───────┘  └───────┘

Core Mechanics

Opportunistic Contribution

Agents monitor the blackboard for relevant information, process it when they have something to contribute, and post results back. No central coordinator assigns tasks.

Knowledge Types

  • Hypotheses: Proposed solutions or interpretations
  • Evidence: Facts, data points, observations
  • Constraints: Rules that valid solutions must satisfy
  • Results: Verified conclusions

Trigger Conditions

Each agent defines conditions for activation:

class ResearchAgent:
    def should_activate(self, blackboard):
        return (
            blackboard.has_new("query") and
            not blackboard.has("research_complete")
        )

Benefits

Loose Coupling

Agents don't need to know about each other—only the blackboard schema.

Dynamic Participation

Agents can join or leave without disrupting the system.

Diverse Expertise

Different agent types contribute their specialized knowledge opportunistically.

Conflict Resolution

The blackboard can implement voting, confidence scoring, or expert arbitration for conflicting contributions.

Implementation Approaches

In-Memory Blackboard

Fast but not persistent. Suitable for single-session workflows.

Database-Backed

Persistent across sessions. Enables long-running collaborative investigations.

Event-Sourced

Every write is an append-only event. Full history and replay capability.

Use Cases

  • Research synthesis: Multiple agents gather and analyze information
  • Debugging complex systems: Agents contribute different diagnostic perspectives
  • Creative brainstorming: Ideas build on each other organically
  • Multi-perspective analysis: Different agent personas evaluate the same data

Modern Evolution: Arbiter Pattern

The Arbiter Pattern extends Blackboard with:

  • Dynamic agent generation based on blackboard state
  • Semantic task routing
  • Self-organizing coordination

This enables mid-task adaptation and richer multi-agent dynamics.

Want to learn more patterns?
Explore Learning Paths
Considerations

Blackboard can become a bottleneck if too many agents read/write simultaneously. Consider partitioning for high-throughput systems.

Dimension Scores
Safety
3/5
Accuracy
4/5
Cost
3/5
Speed
3/5
Implementation
Complexitycomplex
Implementation Checklist
Shared state infrastructure
Event system
Conflict resolution strategy
0/3 complete
Tags
coordinationasynchronousshared-statecollaborationdistributed

Was this pattern helpful?