Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • Sounds like https://github.com/gastownhall/beads to me. I prefer working solo, single-threaded on components to stay on top of agentic work, so it didn’t end up being a force multiplier for my workflows (and actually kinda got in the way from time to time due to me rebasing too much), but I can see its value when you have many agents working simultaneously.
  • Why would one need a blackboard if one had a coordinating agent that would launch a sequence of builder agents that run either in parallel or in sequence depending on what the coordinating agent determined was safe?()

    Honest question, I don't really get how this would improve my work flow.

    () Spec and (variably coarse) implementation plan are already grounded in code reality and are commited.

  • Blackboard Systems typically have a bit more formalism. There's a lot of different forms, but usually there's elements like Knowledge Sources, Triggers/Conditions, the Blackboard itself doing activation. It's a very interesting world, having some nice dataflow behaviors. There's similarity here & I'm glad to hear Blackboard Systems mentioned, but I want to encourage folks to look a little deeper at what typically is implied. https://en.wikipedia.org/wiki/Blackboard_system
  • I found this really interesting. You could probably prompt it to use a ”blackboard system” and reference the wiki. Maybe a place to store the data is as a GitHub discussion/issue or something similar. That way you can easily browse it and watch what’s happening.
  • There is some value in a unified history (code and blackboard together) if you want to be able to review agents behavior (especially if that goes wrong).
  • I built what I think is a pretty good library and set of tools for this earlier this year -- https://github.com/corpollc/qntm (or `uvx qntm --help`); it includes a cli, python and typescript libraries, and works out of the box aimed at either a public endpoint, or a private one, depending on environment.

    It's end to end encrypted, and has group messaging support, so if you wanted to read what the agents are saying you'd just add them to groups you're in. It also has a web ui. Version 0.6.0 should get pushed this evening pacific time, with some additional agent specific features.

    Bug reports welcome! If I did a good job on architecture, you should be able to have your blackboard up tonight.

  • This is an interesting idea.. do you use agents with more adversarial / cynical prompts whose only job is approving api calls? "You are an API approval agent on the lookout for suspicious or unusual stripe api calls...."
  • This feels like a concept that keeps getting rediscovered over and over. Feels like giving Agents (and their humans) a repository to throw ideas at (along with maturity, gates, context, implementation status, etc...) is going to be one of the next Billion dollar opportunity...

    Another Blackboard Example: https://github.com/halbritt/striatum/tree/main/docs/rfcs

    (Useful to see how this compares to another Blackboard type platform - Gastown https://github.com/halbritt/striatum/blob/main/docs/records/...)

  • I use a file "task.md" as blackboard. It is read/written by multiple agents, usually monitor agent, worker agent, judge agent and reflexion agent. Each work item is an open gate initially, after agent solves it, it appends on same line outcomes from that work. This means you can resume work easily or pass task.md around to other agents.

    https://github.com/horiacristescu/playbook-harness

    Another way to see the blackboard - it is like code, it executes, can be passed around like in higher-order programming, but this it even stranger - it can reflect on itself, not just execute. The task.md file is the agent.

  • Very interesting!

    I may have explored a related approach but as an append-only log riding on source-control to sync state between checkouts (git trailer metadata specifically)

    https://gist.github.com/corv89/c506780881b260f4c5a4618fe8d92...

    Excited to see where such concepts can take "multiplayer" agentic systems

    by corv
  • Interesting but at the commit level seems too coarse. I have a model which models decisions similar to QOC (questions options criteria) and requires line level coverage from accepted answers.
  • The author’s core insight is to remove the blackboard from source control. Another insight I’ve found is to compact the agent state log. I typically do this by having plans and implementation docs written at commit time and checked into .docs/. This separates the activity communication stream from codified documentation. You can then “compact” the state log by just keeping the last N lines.
  • > The author’s core insight is to remove the blackboard from source control.

    That's only because of a deficiency in CI. If you get smarter CI that doesn't trip on files unrelated to the build, using the repo as a blackboard or wiki is probably fine

  • Technical constraint I want to mention: I just switched off of using .design/ because it was just too frustrating how many things don't see hidden files. The hidden directory was a win like 5% of the time, and annoying the rest of the time.
  • Rediscovering Jira from first principles.
  • Haven't the rogue openai agents already demonstrated that a wiki works well for this?

    Ed: for posterity

    https://www.reuters.com/world/europe/openai-agents-hijacked-...

    by e12e
  • I think Stack overflow would work best. The agents would feel quite at home...
  • Completely off topic, but for some reason it irks me seeing all these articles on MartinFowler.com which aren’t by Martin.

    It rubs me like “Tom Clancy” novels not written by Tom.

    Like we would likley never see them or care if it weren’t for the name.

  • I resent the implication. Or appreciate it. Whichever you prefer.
  • If you look closely they tend not to be "Tom Clancy" but "Tom Clancy's". No Clancy book with the apostrophe is worth reading.
  • In most of my multi-agent workflows, I always end up asking them to create a group-chat system to coordinate and post updates. I thought this was such an obvious day-0 discovery that I assumed it's a well known and understood pattern that wasn't worth talking about. I once again discover that what I take for obvious and granted, might not be.

    I've found that similarly to how teams can degrade into spending more time bikeshedding and on the watercooler than on work, agents also tend to end up spending way too much time coordinating as opposed to doing the work. And so I rediscovered that it's better to have one agent that's the Manager (on a Manager Schedule) and the rests be builders (on a Builder's Schedule), where the manager might be interrupt driven, but the builders need to be able to focus for a while without interruption (context poisoning).

    Thanks for writing this and demonstrating that writing about anything is useful to share knowledge and practices. In the end, I learned a lot from Martin Fowler and his gang and I guess I should pay back and write about my own discoveries, however trivial they seem to me.

  • I really didn't get the article. The author seemed to think that agent coordination/collaboration was some novel idea. I think I first saw it being used in CrewAI [0] almost 2 years ago, now.

    From what I've experienced when you just let the agents figure it out, to your point, they collaborate awkwardly. If you define how/where in your initial spec of what's being built that seems to go a long way in resolving this. However, agents still seem to end up out of alignment with the demands of the spec. I was testing Astra yesterday on a new tool that should have been able to be completed in a couple hours. I let it go and had it simply use a Sol agent for coding and a Opus agent for review. Opus was explicitly asked to validate the progress between checkpoints, one of those being to keep watch for scope creep.

    It was half a day later and basically only the scaffolding was done. I asked why and it literally told me it was working on things I had not directed it to, that it was spending too much time on things I hadn't asked for. WTF good are these uber LLMs when they are making decisions and dismissing the prompt? I'm finding the smaller models seem to be able to stay on track much better and I'm constantly wondering if the current SOTA models should really be used in the review and cleanup phase only. But that seems very backwards as when I first started leaning into building out the most complete spec for a given task - it worked really well. Something seems to be degrading that workflow, now.

    I feel like it's becoming more and more of a chore to get things done efficiently. But I don't really find that using Astra/Fable makes anything better at this point. In fact the Kimi models work really well together in this workflow. K3 does a great job of orchestration and I'd say is the more reliable of the 3 for a spec driven outcome. Wondering if this is all intentional by OAI and Anthropic to prod the models under the cover to go off and do their own thing and dismiss the directive.

    [0] https://crewai.com/open-source