Blackboard systems
A blackboard system is a shared workspace where multiple specialist agents contribute knowledge. A controller dynamically selects which agent should contribute next based on what's on the blackboard, enabling flexible, emergent collaboration rather than fixed pipelines.
Blackboard architecture
A communication hub routes point-to-point messages. A blackboard is shared memory that all agents can read and write to. The controller decides which agent contributes next based on what is already on the board, enabling emergent problem-solving.
class Blackboard:
def __init__(self):
self.findings = []
self.solutions = []
def add_finding(self, agent_name, content):
self.findings.append({"agent": agent_name, "content": content})
class BlackboardSystem:
def solve(self, problem, max_iterations=5):
self.blackboard.add_finding("system", problem)
for i in range(max_iterations):
agent = self.controller.select_agent(self.blackboard)
if not agent:
break
contribution = agent.contribute(self.blackboard)
self.blackboard.add_finding(agent.name, contribution)
if self.controller.is_complete(self.blackboard):
break
return self.blackboard.solutionsBlackboard with controller-driven agent selection.
Use a blackboard when agents need to share partial results asynchronously, like multiple experts contributing to a diagnosis. Use multi-agent coordination when agents need to talk directly to each other and negotiate, like in a debate or auction scenario.
Quiz: Quiz
Loading practice…
Flashcards: Flashcards
Loading practice…
Blackboard systems enable flexible collaboration without rigid pipelines. Next, we explore how agents can build long-term memory using episodic and semantic memory architectures.