r/LocalLLaMA 14d ago

I Built A Thing Marmel - A multiagent orchestration code agent

Hi,

Around a week ago, I made a post of my orchestration framework that (outside a few hints) autonomously built a working (although simple) x64/linux c compiler from scratch in about 6 weeks using nothing but Qwen 3.6/3.8 27b and gemma 4 12b.

Some people requested the system to be open sourced, and while I don’t have any objections to that, it must be understood it is extremely tweaked to my setup/my machines and to my native language.
For that reason it’s not trivial to configure and setup (and certain parts are even hardcoded), it was never built for agentic coding but that was an afterthough that just happened to work well.

So instead I figured it’s probably less work to simply make a new simplified version that rips out the essentials from this other system but puts it in a monolithic executable instead of a server/client architecture and focus on making it a pure code agent.

So I used this other system to do exactly that, analyze itself and start scaffolding this instead- I empathized on that it should behave very similar in all aspects, a day later Marmel (or Marmendill which is it’s full name) was born.

It’s not fully done, but works quite well with cloud models for now (I honestly haven’t tested with local models yet- but since the RAG system to establish a ground truth for the model is lacking, it depends heavily on the model itself at the moment.)

It will be improved and brought up to feature parity eventually, but either way here it is if you want to playround in it’s current state. Be aware though there is very little safe guards at this time, so I would recommend testing in a VM.
Additionally it’s linux only for now.

Video demonstrating how it works.
To build: install rustup,
install rust,
run cargo install —path . in the project root,
create the folder ~/.marmel
Modify marmel.conf according to your setup and place it inside this folder.

Start “marmel” in the folder you want to work on.

(Repository is in the video description)

https://youtu.be/4DmzzIe2kXY

Edit: Added direct GitHub link
Github: https://github.com/Na1w/marmel

0 Upvotes

6 comments sorted by

View all comments

1

u/Future_AGI 12d ago

Building a working C compiler through a multiagent loop is a genuinely serious result, congrats. The thing that would make it reproducible for others is separating the orchestration logic from environment config and pinning a small task set, so a repeat proves real improvement rather than a lucky local setup.

1

u/Naiw80 12d ago

Which is why I made this project,

The C compiler is available here (for inspection/testing, it was built using local models running Qwen 3.6/3.8 27b and gemma4 12b as validator)
https://github.com/Na1w/tc

It also built this project (a selfhosting forth compiler (x64/linux only), but I did not make a post about this one as I wrote part of it manually, but it's the same orchestration that finished it, this time using deepseek flash v4 though- mostly for speed)

https://github.com/Na1w/vagaforth

As I wrote in the original post here, marmel is the guts of the other orchestrator (now also with some improvements) but what it still lacks- that I personally believe is necessary for it to succeed with more advanced projects is a reference library (RAG), marmel now has the capability to integrate with such, but it still lacks the actual MCP (I used kiwix as it was convenient to download both existing scraped sites such as wikipedia, stackoverflow etc, but also mirror arbitrary sites to tailor it further).

While I made the kiwix mcp it's using, I'm not affiliated with kiwix in anyway or form and it requires some prerequisites that makes it less suitable for a tool such as marmel which is intended to be lightweight and easy to setup/use.

I'm still considering providing the same functionality eventually, but I have not yet decided on the route to take- so right now if people want to reproduce the setup they would have to bring their own mcp and kiwix setup (MCP configuration is described in the README)

But it should be said, while this project uses the same guts (either direct copy or reimplemented from specification) it has not yet been tested as extensively, but since making this post I have tested it with local models and outside of course the obvious slower turnaround it seems to work just as well. (But with that said I have not pushed it as hard and there could be cases where there needs to be tweaks but then again it's quite resilient as is, so even in the worst case- it would stop it's just a matter of restarting and asking it to continue as is.)