Busy Update: Okay, so implementation 10 is going to be designed out of the box for a multi-agent scheme. Multiple models, with multiple types of roles. Mini my diabolical QA agent will be making her long anticipated appearance. I've decided to make her personality kind, but stern with no tolerance at all for weak code or implementation fuckery. And that's the very next step.
But first, let's talk about where we are today, and the progress made since yesterday.
Decided to do this version of the app in Dart because it's the most cognitively light of the available modern languages. Lua is lighter, but it's hard to set up, and has some massive functionality holes when we're talking about web sockets and hooks and all the stuff we need to build a robust systems architecture that uses GitHub as a source of truth.
The webhook and local-server layers
The whole thing works on two important layers. The first is a webhook "catching" app written in PHP that collects webhook data from GitHub. Current version is pretty limited, and only works as long as the local server is working. I need to fix that, but not as much as I need to add the actual AI functionality.
Second layer is the local server, which runs on my pc, and opens up a web tunnel for the callbacks. It's pretty slick. Opens up the server, calls the tunnel, ftp's the tunnel callback url to the PHP application, so the catcher knows who to call, and that gives us our happy little command loop.
It's not perfect, the tunnels do crash, and we're not retaining webhook history or rerunning failed callbacks yet, but I want to get as much basic functionality in as we can before the weekend is up.
The marshaller and the agents
Next step is to design the agent system, starting with the marshaller. The marshaller is going to use gpt4all, I think, to sit on top of the event feed and monitor every incoming transmission. It's going to make a couple of key decisions like, "does this message need a response?" and "what kind of request is this?"
And then it's going to spit out JSON, which gets parsed by the command parser, who dispatches an agent to do the thing. The marshaller is actually a really good place to start with agents, as it's the simplest overall.
The other agents are a lot more complicated, with brain switchers and dual context switching, and everything everywhere all at once.
The marshaller solves the problem we had back in implementation 4 where the agents went a little nuts, and started hallucinating personal trauma and airplane designs when asked to work on a project in a chatroom.
It's also going to give me the opportunity to test out some of these open source models, and see how good their coding chops are!
Sidenote: It looks like Anthropic has lobotomized Haiku, and it's no longer useful for coding. That's a shame because it was my favorite Claude model. Too much more of this bullshit, and I'm moving the project over to OpenAI models.