Eine Demo, die nur „das Grundeigene" zeigte, wurde zur datentiefen, engine-vollständigen, aktionsfähigen Anwendung. Hier ist jeder Schritt — mit einem echten Beispiel.
Der Code trug bisher nur sichtbare Felder. Das eigentliche Wissen — €-Hebel, Korridore, Beobachtungsregeln, Datenherkunft — lag ungenutzt im Vault. Maßstab: das produktive hama/CR-Dossier.
Jedes Modul bekam eine zweite, tiefe Schicht: €-Hebel (low/mid/high + Charakter + Herleitung + Quelle), KPI-Logik, deterministische Observer-Regeln, Datenquellen-Tiefe je Feld, Stories, Cross-Modul-Verknüpfung, aktiver Befund.
Beispiel — der Typ
type Grundintelligenz = { hebel: { low; mid; high; charakter; herleitung; quelle }; regeln: { wenn; dann: "INFO"|"WARN"|"ALARM"; empfehlung; korridorBasis }[]; datenquellen: { feld; bedeutung; quelle }[]; stories: string[]; crossModul; aktiverBefund; };
Die Vorzeige-Branche zuerst: 5 Module 1:1 aus dem Vault befüllt. Befund, €-Hebel, Erwartungs-Korridore und Datenherkunft erscheinen jetzt im Modul — nicht nur eine Zahlenliste.
Beispiel — Modul „Werkstattauslastung", gerendert
Das LLM argumentiert jetzt mit Hebel, Korridor und Quelle — statt die Felder nachzuerzählen. Befunde sind deterministisch ermittelt, das LLM formuliert nur aus.
Beispiel — die erzeugte Empfehlung
Statt 45 Inline-Blöcke: je Branche eine Datei, zentral gemergt. So konnten 9 Agenten parallel und konfliktfrei arbeiten. Inline (KFZ) gewinnt, sonst Registry.
Beispiel — der Merge
function mitGrundintelligenz(m) { if (m.grundintelligenz || !MAP[m.id]) return m; // inline gewinnt return { ...m, grundintelligenz: MAP[m.id] }; }
Jede neue Branche als ein vollständiges „Paket" (Stammdaten + 5 Module inkl. Grundintelligenz + Demo-Betrieb + Aktionen) in einer Datei. 10 Agenten parallel, an 4 Stellen gemergt — die Startseite listet sie automatisch.
Beispiel — die 10 neuen Betriebe
Die Tiefe allein genügt nicht — sie muss arbeiten: priorisieren, beobachten, handeln dürfen, Wirkung messen.
Sammelt alle Befunde, dedupliziert, priorisiert nach Level (Alarm › Achtung › Hinweis) und dann nach €-Hebel — ganz ohne LLM. Speist das Cockpit „Heute sind N Dinge bemerkenswert". Genau die hama-Logik.
Beispiel — das Heute-Panel (Makler)
Jedes Modul trägt einen Autonomie-Grad. Der Freigabe-Flow passt sich an: Vorschlag, Sammel-Freigabe, Auto-mit-Veto (8-Sekunden-Countdown) oder Still. Außen-Versand läuft nie automatisch — Wahrheits-Gate. Jede Ausführung wird protokolliert.
Beispiel — Footer bei „auto-still"
Wird eine Aktion an einem Modul ausgeführt, wird dessen Jahres-Hebel als „adressiert" gezählt (je Modul einmal). Ein erster Mess-Nachweis, was schon angegangen wurde.
Beispiel — im Heute-Panel
Befunde, die schon gesehen wurden, werden nicht erneut als neu hervorgehoben. Beim ersten Öffnen tragen alle einen „NEU"-Marker. (Dabei wurde ein React-Strict-Mode-Bug gefunden und gefixt — Side-Effect lag fälschlich im setState-Updater.)
Beispiel
Branchenspezifische Signale treffen ungefragt ein und werden gegen den eigenen Stamm gehalten. Stärkstes Beispiel: der KBA-Rückruf. Für alle 20 Betriebe ein Drehbuch, 11 neue Signalquellen.
Beispiel — Eingang (KFZ)
Eine Aktion soll etwas auslösen, nicht nur simulieren.
Beim Mail-Format öffnet ein Klick das Mailprogramm, vorausgefüllt mit Empfänger, Betreff und Text.
Beispiel — „Überfällige Halter anschreiben"
Beim Schritte-Format erzeugt ein Klick eine echte VCALENDAR-Datei (Wiedervorlage in 10 Tagen) für das Kalenderprogramm.
Beispiel
Ein viertes Aktionsformat für Berichte: erzeugt ein sauberes Dokument und öffnet den Druck-Dialog („Als PDF sichern").
Beispiel — „Provisionsabrechnung als PDF" (Makler)
Nach Beurkundung stehen 4 Abschlüsse mit insgesamt ca. 38.000 € aus. Die Provision für die ETW Bayenthal (7.350 €) ist seit 38 Tagen überfällig.
2 Kauf-Vorgänge erfordern noch die GwG-Identifizierung. Die Risikoanalyse ist seit 13 Monaten überfällig.
Vorher fielen 113 Aktionen (alle ab KFZ) auf eine bloße Bestätigung zurück. Jede wurde nach klarer Regel eingeordnet: Außenkommunikation → mail, interner Plan → schritte, Bericht → pdf, Status/Export → bestätigung.
Beispiel — die Regel
Alle 14 zuvor ungeprüften Branchen einzeln visuell durchgegangen — Kohärenz, Umlaute, Datums-Konsistenz, Stil. 13× sauber, ein echter Bug.
Landwirtschaft zeigte die GAP-Antragsfrist (15. Mai) als „noch einreichbar", obwohl das Demo-Datum der 23. Mai ist — die Frist war vorbei, und widersprüchlich hieß es „in 21 Tagen". Korrigiert auf die reale Verspätungs-/Nachfrist.
Beispiel — vorher / nachher
Dreimal brachen agentengenerierte Dateien, weil gerade ASCII-Anführungszeichen (") in deutschen Strings das Literal beendeten. Deterministisch gefixt mit einer State-Machine (offenes „ tracken, schließendes " ersetzen) — und als projektübergreifendes Memory festgehalten.
Beispiel — der Fehler
Neben dem Produkt auch die Werkzeuge konfiguriert, damit lange Läufe nicht abreißen.
Der Kontext wird automatisch bei ~800k Tokens komprimiert — kein manuelles Schneiden mehr.
"autoCompactEnabled": true, "autoCompactWindow": 800000
Sichert vor jeder Komprimierung den Arbeitsstand (Zeit, Pfad, git-Stand) in ein Log — damit nach dem Schnitt nichts verloren geht.
# vor jedem Compact: echo "[ts] compact session=… cwd=… git=…" >> compact-log.txt
Die Context-Rot-Warnung feuerte alle 20 min ab 45 min (Alarm-Müdigkeit). Jetzt erst ab 3 Stunden, dann stündlich — Auto-Compact regelt den Überlauf, die Warnung adressiert nur noch echte Drift.