Apache Maka: ein prüfbarer Agenten-Arbeitsbereich, in dem das Append-only-Ereignisprotokoll die Laufzeit ist
Apache Maka (in Inkubation) ist ein leistungsstarker Agenten-Arbeitsbereich, der jede Modellnachricht, jeden Werkzeugaufruf, jede Berechtigungsentscheidung und jedes Ende als anhängendes RuntimeEvent schreibt. Oberfläche, nächster Prompt und Absturzwiederherstellung sind Projektionen dieses Protokolls. Desktop, TUI, CLI und Eval teilen sich einen Runtime Host, die Daten bleiben lokal, das Modell bringen Sie selbst mit. Aktuell ist Version 0.2.0, Windows und Linux sind noch Vorschau. Das README nennt klare Bauvoraussetzungen: Node.js 22.19 oder neuer, npm, Git und ripgrep. Direct-Peer-Funktionen benötigen zusätzlich Rust. Der Modellzugang wird in den Einstellungen per API, lokalem Modell oder Gateway eingerichtet, sodass Teams mit strengen Datenregeln Code und Protokolle im eigenen Netz halten können.
Apache Maka (in Inkubation) ist ein leistungsstarker Arbeitsbereich für Agenten mit einem einzigen Versprechen: Er führt ein vollständiges Protokoll über alles, was der Agent getan hat. Es ist kein weiteres Chat-Fenster, sondern ein Technikentwurf aus einer Agenten-Laufzeit und dünnen Clients.
Dieser Bericht stützt sich auf das README des Projekts und seine öffentlichen Beschreibungen. Er behandelt die Architektur, den Mechanismus, den Nutzen für Teams und die Grenzen.
Das adressierte Problem
Ein Agenten-Harness existiert, um Aufgaben zu erledigen. Das README misst ihn an zwei Größen: wie viele Aufgaben er löst und zu welchen Kosten. Maka macht beide Größen öffentlich.
Laut Projekt wird der Harness mit demselben Modell und demselben offiziellen Verifier gegen andere Harnesses verglichen, und die Ergebnisse je Aufgabe liegen zu jedem Bericht im Ordner docs/eval des Repositorys. Aus „wir sind besser“ wird „lesen Sie das Ergebnis jeder einzelnen Aufgabe“. Die meisten Agenten-Projekte veröffentlichen nur einen Gesamtwert, deshalb ist dieses Vorgehen ungewöhnlich.
Kerngedanke: Das Protokoll ist die Laufzeit
Die wichtigste Entwurfsentscheidung lautet: Das Protokoll ist die Laufzeit. Jede Modellnachricht, jeder Werkzeugaufruf, jede Berechtigungsentscheidung und jedes Ende wird als RuntimeEvent angehängt, und zwar nur anhängend (append-only). Die Oberfläche, der nächste Prompt und die Absturzwiederherstellung sind Projektionen dieses Protokolls. Keine davon ist die einzige Kopie der Wahrheit.
Das Muster entspricht dem Event Sourcing und bringt drei Vorteile. Erstens ist die Wiederherstellung nach einem Absturz einfach, weil sich der Zustand aus dem Protokoll abspielen lässt. Zweitens halten Oberfläche und Prompt-Aufbau keinen eigenen Zustand vor, sodass sie nicht auseinanderlaufen. Drittens, und für Agenten am nützlichsten: Alte Werkzeugausgaben können den nächsten Prompt verlassen, ohne aus dem Protokoll zu verschwinden. Bei langen Aufgaben füllen Werkzeugausgaben schnell das Kontextfenster. Maka kann sie aus dem Prompt entfernen, um Tokens zu sparen, während die vollständige Prüfspur auf der Platte bleibt. Kontextverwaltung und Prüfbarkeit ziehen sonst in entgegengesetzte Richtungen. Maka legt sie in zwei getrennte Schichten, sodass beide erfüllt werden können.
Ein einziger Runtime Host
Maka besitzt genau einen Runtime Host, die alleinige Ausführungsinstanz. Die Desktop-App, die TUI und die CLI sowie das Evaluationswerkzeug Eval sind dünne Clients dieses Hosts.
Eval besitzt nur das Experiment und seine Werte. Durch diese Schichtung stammt das Verhalten, das Sie auf dem Desktop sehen, aus demselben Ausführungspfad wie die Benchmark-Ergebnisse. Es gibt keinen zweiten Codepfad für die Auswertung, und die übliche Lücke zwischen „was wir messen“ und „was wir ausliefern“ hat weniger Raum.
Lokal zuerst, eigenes Modell
Sitzungen, Einstellungen und Laufprotokolle bleiben auf Ihrem Rechner. Maka bringt kein gemeinsames Modellkonto mit. Beim ersten Start öffnen Sie Einstellungen, dann Modelle, fügen eine API, ein lokales Modell oder eine unterstützte Kontoverbindung hinzu, testen sie und wählen ein Standardmodell. Die App unterscheidet drei Verbindungszustände: konfiguriert, sendebereit und experimentell.
Ein Konto-Ablauf, der nicht an die Laufzeit angebunden ist, wird nicht als nutzbares Modell angezeigt. Das ist eine nüchterne, ehrliche Wahl, denn sie übertreibt die Kompatibilität nicht. Das Modell kann eine Cloud-API, ein lokales Modell oder ein kompatibles Gateway sein. Ein Team mit sensiblem Code kann Maka daher mit einem lokalen Modell betreiben und Code wie Protokoll im eigenen Netz halten.
Bauen und starten
Der Bau aus dem Quellcode braucht Node.js 22.19 oder neuer (die CI nutzt Node.js 24), npm, Git und ripgrep, von dem das Grep-Werkzeug der Laufzeit abhängt. Nach npm ci startet npm run dev die Desktop-Entwicklungsumgebung mit Hot Reload. Im Terminal öffnet npm run cli:dev die TUI, und npm run cli:dev -- run führt einen einzelnen Durchgang aus.
Für graphbasierte Aufgaben gibt es die Option --graph. Die Funktionen Direct Peer und Peer Mesh brauchen Rust stable 1.98 oder neuer und den Linker der Plattform, mit eigenen dev:peer-Befehlen. Bei den Plattformen ist macOS das Hauptziel, Windows und Linux gelten als Vorschau.
Projektstand und Bedeutung für das Ökosystem
Maka ist ein Inkubationsprojekt der Apache Software Foundation. Das neueste Apache-Release ist 0.2.0 (in Inkubation).
Das signierte Quellarchiv ist das offizielle Release. Anderswo verteilte Pakete sind Komfort-Artefakte, und Entwicklungs-Builds sind keine freigegebenen Apache-Releases. Die Apache-2.0-Lizenz und die Governance der Stiftung erleichtern den Einsatz im Unternehmen: Die Lizenz ist klar, und der Community-Prozess ist dokumentiert.
Grenzen und Risiken
Erstens nennt der README-Auszug keine konkreten Benchmark-Werte oder Kostenzahlen. Leser müssen docs/eval öffnen, um die Ergebnisse je Aufgabe zu prüfen, und dieser Bericht wiederholt keine Zahl, die er nicht belegen konnte. Zweitens befindet sich das Projekt noch in der Inkubation. Die Version ist 0.2.0, und zwei von drei Plattformen sind Vorschauen, ein Produktiveinsatz braucht also Zeit zur Validierung.
Drittens wirft ein vollständiges, nur anhängendes Protokoll Fragen zu Speicherplatz und Datenschutz auf. Es speichert Modellnachrichten und Werkzeugausgaben, die Geheimnisse oder privaten Code enthalten können. Teams brauchen daher eigene Regeln für Aufbewahrung und Schwärzung. Viertens sollte jede Leistungsaussage an den eigenen Aufgaben nachgestellt werden, denn ein öffentlicher Benchmark ersetzt nicht die eigene Arbeitslast.
Ausblick
Prüfbare Agenten werden an Bedeutung gewinnen. Wenn ein Agent Dateien ändern und Befehle ausführen kann, muss jede Berechtigungsentscheidung und jedes Glied der Ursachenkette nachvollziehbar bleiben.
Maka behandelt diese Kette als erstklassigen Teil der Laufzeit und nicht als später ergänztes Logging. Das ist der interessanteste Aspekt des Projekts. Hält die offene Evaluationspraxis über mehrere Releases, könnte sie außerdem Agenten-Harnesses zu transparenteren Vergleichen bewegen.