You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A shared "blackboard" memory alongside per-agent history, plus optional injection of nearby agents' state into prompts — for social simulations where agents need common ground.
Why it matters
History is strictly per-agent (WeakHashMap[Agent, ArrayBuffer[ChatMessage]]). Anything shared — a public announcement, a common rumour pool, a group decision record — has to be rebuilt by the modeler with llm:set-history on every agent, every tick.
Several existing demos work around this: color-sharing, social-deduction, and topology-tournament all hand-assemble neighbour context into each prompt.
Primitives to write to and read from a shared channel, and to inject it into a call alongside per-agent history.
Decide ordering semantics: does shared content sit before or after per-agent history in the message list?
Optional neighbour-state injection — a helper that formats nearby agents' visible state into a prompt fragment. (mesa-llm does this automatically via vision radius; ours would be modeler-controlled.)
Roadmap priority: B9
Summary
A shared "blackboard" memory alongside per-agent history, plus optional injection of nearby agents' state into prompts — for social simulations where agents need common ground.
Why it matters
History is strictly per-agent (
WeakHashMap[Agent, ArrayBuffer[ChatMessage]]). Anything shared — a public announcement, a common rumour pool, a group decision record — has to be rebuilt by the modeler withllm:set-historyon every agent, every tick.Several existing demos work around this: color-sharing, social-deduction, and topology-tournament all hand-assemble neighbour context into each prompt.
What needs to be done
visionradius; ours would be modeler-controlled.)Open questions