← Back to Blog

Kontrakt: eine neue Informationseinheit für KI. Verändert das, wie KI denkt und schreibt? Wir wissen es bereits, denn wir haben die Ergebnisse

AITM-Kontraktgraph: Hunderte vernetzte Knoten um einen zentralen Kontrakt

Wenn Sie ein neues Projekt auf der grünen Wiese starten, wirkt KI-Coding wie pure Magie. Sie geben einen Prompt ein, und das Modell erzeugt ohne Zögern eine saubere Komponente oder einen funktionierenden Backend-Endpoint.

Doch mit dem Wachstum der Codebasis kommt die Ernüchterung.

Bei etwa 100 000 Codezeilen beginnt gewöhnliche KI spürbar außer Atem zu geraten. Sie rät, durchsucht das Repository blind und halluziniert Funktionen, die es nicht gibt. Bei etwa 300 000 Zeilen bricht das eigenständige Urteilsvermögen des Modells praktisch zusammen: Das Kontextfenster reicht nicht aus, klassisches Greppen über das ganze Projekt verbrennt Tausende Token, und die Entwicklung wird zu einem endlosen Kreislauf aus der Reparatur kaputten Codes.

Genau hier übernehmen Systemkontrakte das Ruder.

Was ist ein Kontrakt in AITM?

Ein Kontrakt ist kein gewöhnlicher Inline-Kommentar im Code und auch keine Zeile in einer vergessenen README.md, die nach zwei Sprints nicht mehr stimmt.

Er ist maschinell abfragbares Systemverhalten.

Er beschreibt genau, was ein bestimmter Teil der Anwendung tun soll, und verweist auf die exakten Quelldateien, Tests und UI-Elemente. Statt herumzutappen und Dutzende Dateien durchzulesen, stellt der Agent dem System eine direkte Frage: "Wo und wie ist dieses Verhalten implementiert?" und erhält sofort eine präzise Antwort.

Jeder Kontrakt in AITM ruht auf drei zentralen Säulen:

  • behavior: Die einzeilige Essenz dessen, was der Code tut. Das wichtigste Feld von allen. Der Agent vergleicht diese Regel mit der tatsächlichen Implementierung in der Datei. Entsteht ein Widerspruch, weiß das System sofort, dass es sich entweder um einen Bug oder um einen veralteten Kontrakt handelt.
  • confidence: Ein Maß für die Vertrauenswürdigkeit der Information. Es sagt, wie verlässlich die Beschreibung im Verhältnis zu den übrigen Daten im System ist (z. B. ob das Verhalten durch echte Tests verifiziert wurde).
  • variables: Die Verbindung zur gemeinsamen Kommunikationssprache des Systems (z. B. BL.PIPELINE). Sie fungiert als Brücke zwischen der Geschäftslogik in Frontend und Backend, sodass sich Kontrakte blitzschnell nach einem bestimmten Teil der UI oder der Datenschicht filtern lassen.

Ein echtes Beispiel aus der Produktion

In AITM ist ein Kontrakt strukturiert und sofort über die GraphQL-API verfügbar:

contractsForFile(path: "src/pipeline/MergeQueueService.ts", projectId: "ctm-dashboard") {
  id          # "GM-057"
  module      # "Git/Merge"
  behavior    # "Der Self-Merge-Restart ist manuell: Nach dem Merge liefert dev-watch weiterhin den Code vor dem Merge aus, bis der Benutzer im Menü auf Restart klickt oder Settings.selfMergeRestartMode auf 'auto' steht."
  confidence  # "tested"
}

Das ist der entscheidende Unterschied zur statischen Dokumentation. Der Agent fordert den Kontrakt an, bevor er überhaupt eine einzige Codezeile öffnet oder schreibt. Er handelt nicht blind, verschwendet keinen Kontext und weiß genau, welches Gewicht er der Regel beimessen soll.

Wir sparen Token und Rechenzeit: Claude Sonnet mit niedrigem bis mittlerem Effort

Einer der größten Vorteile der präzisen Führung durch Kontrakte ist die Effizienz des KI-Modells selbst.

In AITM arbeiten unsere Agenten mit Claude Sonnet bei niedrigem bis mittlerem Effort (Thinking). Wenn dem Modell ein präziser Kontrakt zur Verfügung steht, braucht es keine Minuten zum "Nachdenken", muss nicht über die Architektur des gesamten Repositorys spekulieren und kein riesiges Reasoning-Budget für triviale Recherche verbrennen.

Dank des Kontrakts bekommt das Modell eine fertige Karte in die Hand:

  • Es weiß genau, in welche Datei es gehen muss.
  • Es kennt das erwartete Verhalten (behavior).
  • Es weiß, wie sehr es der Information vertrauen kann (confidence).

Auch bei geringerem Effort liefert Claude Sonnet so völlig deterministische, saubere Arbeit, weil es sich nicht auf seine eigene "Schätzung" verlassen muss, sondern strikt der vorgegebenen Spezifikation folgt.

Das Ergebnis bei 500K Codezeilen

Die wahre Stärke dieses Ansatzes zeigt sich nicht in den ersten Tagen eines Projekts, sondern dann, wenn die Codebasis Enterprise-Größe erreicht.

In unserem eigenen System mit mehr als 500 000 Codezeilen laufen heute zuverlässig rund 3 500 Kontrakte:

  • Schluss mit blindem Greppen: Der Agent durchsucht keine Hunderte Dateien, sondern geht direkt zur Gewissheit.
  • Drastisch weniger Token und Halluzinationen: Das Kontextfenster bleibt sauber, und das Modell leidet nicht unter Informationsüberflutung.
  • Konsistente Ergebnisse: Selbst bei einem Projekt mit einer halben Million Zeilen erreicht die KI dieselbe Geschwindigkeit und Genauigkeit wie beim ersten Prompt in einem leeren Repository.