Technology
Wie wir Norman bauen: KI-Agenten, die echte Buchhaltungs- und Steuerarbeit erledigen, und die Systeme, die sie korrekt halten. Notizen direkt aus dem Team.
Die Hälfte unserer Hintergrundjobs hatte ein Zeitlimit, das niemand gewählt hat
Ein Default aus der Kommandozeile unseres Container-Images hat jeden Hintergrund-Task still auf 120 Sekunden begrenzt, auch Batches mit Dutzenden Modellaufrufen. Die Zahl zu korrigieren war die leichte Hälfte. Die schwere war, den Jobs beizubringen, wie man stirbt.
Wir schreiben keine Testfälle für unsere KI. Die Produktion schreibt sie.
Handgeschriebene Golden Datasets verfaulen in der Woche, in der du sie schreibst. Unsere Regressions-Suite für die KI-Kategorisierung entsteht aus echten Nutzerkorrekturen, mit einer Regel als Türsteher: Ein Fehler muss dreimal passieren, bevor er einen Test verdient. Hier sind die Pipeline, die Zahlen dahinter und das Scharnier, das still gebrochen war.
Unser Agent hat 102 Tools. Die Ingenieursarbeit steckt in dem, was er nie sieht
Jeder Reflex im Agenten-Design ist gerade additiv: mehr Tools, mehr Instruktionen, mehr Memory. Norman stellt 102 Tools und 19 Workflow-Playbooks bereit, und fast jede Architekturentscheidung war eine Subtraktion. Hier steht, was wir dem Modell wegnehmen, und warum der Agent seine Aufgabe besser erledigt, weil er nie weiß, in welchem Schritt er ist.
Unser Batch-Scheduler ist in Wahrheit ein Load Balancer
Jede Nacht balanciert Norman zwei sehr unterschiedliche Tenants auf denselben Workern: geduldige, netzwerkgebundene Bank-Syncs und hungrige, rechengebundene KI-Jobs, die Belege lesen und einen stetigen Strom von Transaktionen kategorisieren. So behandeln wir den Scheduler als Load Balancer, messen den Queue-Druck pro Workload und wohin wir es als Nächstes bringen: die schwere KI-Arbeit nach Live-Last platzieren statt nach einer handverlesenen Cron-Minute.
Wie wir jeden KI-Agenten-Lauf nachverfolgen, ohne deine Daten zu speichern
Jeder Modellaufruf in Norman hinterlässt eine Prüfspur: welcher Workflow, welches Modell, was es gekostet hat, wie lange es gedauert hat. Was er nicht hinterlässt, sind deine Belege und Bankdaten. Wir speichern Hashes, keine Payloads. So sieht die Observability-Schicht hinter unseren Agenten aus.
Wie unser Kategorisierer aus einer einzigen Korrektur lernt
Jede Transaktion auf Norman bekommt eine Kategorie, und die meisten davon berühren das Modell nie. Das Interessante ist nicht das LLM: Es ist die Kunst, aus einer einzigen manuellen Korrektur ein firmen-eigenes Gedächtnis zu machen, das niemals durchsickert, sich Vertrauen verdienen muss und beweisbar hängen bleibt. So haben wir es gebaut.
Wie wir einen Agenten gebaut haben, der deine Umsatzsteuer einreicht
Autofiling bereitet deine UStVA vollständig vor und reicht sie ein. Das Schwere war nie das Modell – sondern einen stochastischen Agenten sicher genug zu machen, um eine echte Steuererklärung abzugeben. So haben wir es gebaut.