NetLogo / NetLogo/Netlogo-LLM-Extension
feat: shared / group memory (blackboard) alongside per-agent history
Nobody has claimed this yet.
- Dominant language
- Scala
- Stars
- 1
- Forks
- 0
- Avg merge
- 3d 1h
- Merged PRs (30d)
- 4
Description
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 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.
What needs to be done
- Named shared channels — write once, readable by many agents. Likely the same mechanism as B8 (#57).
- 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
visionradius; ours would be modeler-controlled.) - Must interact sanely with memory management (#47) — shared channels grow too.
Open questions
- Should this be one design with B8 (#57)? A named-channel abstraction plausibly covers observer-level calls, judges, and shared memory in one concept.
- Read scoping — can any agent read any channel, or should there be per-channel visibility rules (relevant for deception/asymmetric-information models)?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the related B8 issue (#57), memory-management issue (#47), and the color-sharing, social-deduction, and topology-tournament demos. Done means a settled named-channel design with read/write and prompt-injection primitives, defined message ordering and visibility semantics, neighbour-state injection, and memory management for growing shared channels.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- scala
- Domain
- ai, backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100