Formicaio
Ein Team spezialisierter Agenten für deine Ziele im Alltag — sie kennen den Kontext, nennen ihre Quellen und messen die Fortschritte
Formicaio ist aus einer Frage entstanden, die ich mir jeden Morgen gestellt habe: „Was kann ich heute früh essen?“ Um sie gut zu beantworten, braucht es den Trainingsplan, den Wochentag, das, was im Vorratsschrank ist, und das Ziel — und mit einem generischen KI-Chat musste ich alles jedes Mal von vorne erklären: eine Viertelstunde, um eine Mahlzeit zu entscheiden, nur um dann einen Rat zu bekommen, der nichts über mich wusste. Formicaio geht von der gegenteiligen Annahme aus: Kontext ist strukturierte Information, kein Text, den man jedes Mal neu schreibt. Es ist ein persönlicher Assistent aus spezialisierten Agenten, gruppiert in Teams — Leichtathletik, Studium, jeder andere Bereich —, die in wenigen Sekunden mit deinem Kontext antworten, zu jedem Rat die Quelle nennen und mitzählen, was du tatsächlich tust.
## Teams, Agenten und Quellen
Ein Team ist ein Bereich mit seinem gemeinsamen Zustand: Ziele, Metriken, wiederkehrende Verpflichtungen, Beobachtungstypen. Darin arbeiten ein oder mehrere Agenten, jeder mit eigenen Anweisungen, Prinzipien und Dokumenten. Vor jeder Antwort wählt eine strukturierte Lesung der Frage den Agenten, der antworten soll, und erkennt, was festgehalten werden muss; dann antwortet der Agent und zitiert die Passagen, aus denen sein Rat stammt.
## Ein Kern, der nichts von Leichtathletik weiß
Die strengste Anforderung war die Agnostik: Ein neuer Bereich muss sich allein über Konfiguration hinzufügen lassen, ohne den Code anzufassen. Der Kern kennt weder die Bahn noch die Prüfungen, und eine Prüfung in der CI schlägt fehl, sobald ein Begriff aus dem Pilotprojekt in seinen Modulen auftaucht. Die Konfiguration eines Teams ist durch ein versioniertes JSON Schema beschrieben und wird mit Ajv validiert; jedes Speichern veröffentlicht eine neue, unveränderliche Version, und jeder Turn hält fest, welche er verwendet hat. Das zweite Team, Studium, ist genau so entstanden: eine Konfigurationsdatei, null Zeilen Code. Heute werden Teams, Agenten, Metriken und Beobachtungstypen direkt in der App angelegt und bearbeitet, ausgehend von Vorlagen.
## Der Turn, von der Frage zur Antwort
Jede Frage ist ein Turn mit einer vollständigen Spur: die Konfigurationsversion, der an das Modell gesendete Kontext, die Versuche, die Regelprüfungen, die Tokens und die Kosten. Der Kontext wird zusammengesetzt, indem der Kern im selben Prozess gelesen wird, denn innerhalb eines Turns muss das System seine eigenen Schreibvorgänge lesen: Das ist der Hauptgrund, warum die Architektur ein modularer Monolith ist und keine Sammlung von Services.
## Dein Schlüssel, dein Modell
Formicaio hat keinen eigenen Schlüssel. Jeder Nutzer wählt in den Einstellungen den Anbieter — Anthropic, OpenAI oder DeepSeek — und fügt seinen eigenen Schlüssel ein, der mit AES-256-GCM in einem eigenen Schema versiegelt wird. Es gibt ein Modell pro Anbieter, hinter einem gemeinsamen Adapter mit eigener Retry-Schleife innerhalb des Latenzbudgets des Turns. Jede Antwort bezahlt, wer sie stellt, und vor der Wahl sagt die App klar, wie jeder Anbieter mit den Daten umgeht.
## Messen statt raten
Das Projekt hat ein wöchentliches Gate mit zwei Zahlen: die Adhärenz, also der Anteil der Verpflichtungstage, an denen der Rat wirklich befolgt wird (Ziel: mindestens 80 %), und die Zeit von der Frage bis zur angezeigten Antwort (p95 unter zwei Minuten, gegenüber der Viertelstunde am Anfang). Die Qualität der Antworten wird an einem eingefrorenen Fragenset bewertet, auf einer Wegwerfkopie der Datenbank, nie in der Produktion.
## Design und visuelle Identität
Die App ist eine installierbare PWA, fürs Smartphone gedacht, aber auch am Desktop angenehm, mit einer weichen Ästhetik und einem einzigen Blau als Primärfarbe. Das Markenzeichen ist ein Ameisenhaufen im Schnitt: oben der Hügel, innen die Kammern, die Gänge bis zum Eingang ausgeschnitten, sodass auf jeder Fläche der Hintergrund durchscheint. Im Namen steht das „AI“ von FORMICAIO in der Akzentfarbe.
## Tech-Stack
Ein TypeScript-Monorepo, verwaltet mit pnpm: das Backend, die PWA und ein API-Client, der aus dem OpenAPI-Vertrag des Backends generiert wird, sodass Frontend und Backend nicht unbemerkt auseinanderlaufen können.
## In Produktion
Es läuft in Docker-Containern auf einem Server in der Europäischen Union. Die Images baut die CI, getaggt mit dem SHA des Commits, und jeder Commit auf main geht von selbst in Produktion: Von der CI akzeptiert der Server nur eine einzige Sache, das Deployment eines Commits von main, immer mit einem Datenbank-Backup vor den Migrationen. Die Datenbank liegt auf einem mit LUKS2 verschlüsselten Volume, und die nächtlichen Backups verlassen den Server bereits mit age verschlüsselt, Richtung Cloudflare R2.
Formicaio ist ein persönliches Projekt, allein konzipiert, gestaltet und entwickelt, und sein erster Nutzer bin ich. Die Projektdokumente — Discovery, Schätzung, Domänenmodell, Architektur, Umsetzungsplan und Testplan — hat donumAI geschrieben, und ich habe sie Stage für Stage freigegeben. Das Kriterium, nach dem ich es beurteile, steht im Gate: vier Wochen täglicher Nutzung, mit einer Adhärenz von mindestens 80 %. Alles andere sind Absichten.