Written by 9:22 a.m. KI

Regeln ohne Interpretationsspielraum: Rulemapping für die Softwareentwicklung

Rulemapping für eine Berechtigungslogik: Karte 01 („Wird dem Nutzer Zugriff auf den Space gewährt?“) führt zu Karte 02 („Ist Nutzer Teil der Organisation?“), welche sich in Karte 03 („Ja“ mit weiterführendem Pfeil) und Karte 04 („Nein“ mit Dokumenten-Icon) aufteilt.

NoteLog möchte einiges anders machen, als andere Produkte. Es geht bei den Rollen und dem Rechtemanagement bewusst einen untypischen Weg: Freiheit und Selbstbestimmung statt kleinteiliger Hierarchie. Das führte während der Entwicklung zu unzähligen Diskussionen mit der KI. Ich hatte am Ende trotzdem das Gefühl, dass ich mich durchgesetzt hatte.
Doch habe ich das wirklich, oder haben Claude und Gemini im Verborgenen ihr eigenes Süppchen gekocht?

Gänzlich abwegig ist das nicht. Rein zufällig hatte ich vor ein paar Tagen einen zehnzeiligen Kommentar im Code gefunden, in dem Gemini anmerkte, dass es den Nutzerwunsch (also meinen) nicht sinnvoll findet und lieber etwas anderes implementiert.

Einen ersten Schritt Richtung Wahrheitsfindung machte ich mit einer Reihe lokaler Code-Audit-Bots. Sie bewerteten meine gesamte Codebase nach vorher festgelegten Regeln. Das funktionierte bei rein technischen Themen einwandfrei, bei der Business-Logik zeigte sich aber eine Schwäche: Die Bots fingen an zu interpretieren.

Wie kann ich der KI also Regeln mitteilen, ohne dass Freiraum zur Interpretation entsteht?

Ein Aha-Erlebnis

Vor ein paar Wochen hörte ich das erste Mal vom »Rulemapping«. Einer Methode, entwickelt von Prof. Dr. Stephan Breidenbach, die ursprünglich Jurastudierenden die Logik hinter Normen vermitteln sollte. Dabei werden Gesetze kleinteilig in Entscheidungsbäume zerlegt, die sich Schritt für Schritt über einfache Ja/Nein-Entscheidungen bis zu einem klaren Ergebnis durchlaufen lassen.

Mein Jurastudium liegt nun mehr als zehn Jahre zurück und ich hätte mir damals sehr solch eine einfache Logik gewünscht. Überträgt sie doch die Klarheit der juristischen Sprache, die zwar präzise, aber für Laien oft schwer zugänglich ist, in eine Art transparenten Logik-Baum. Der Moment, als mir das Prinzip das erste Mal vorgeführt wurde, löste in mir ein Gefühl tiefster Zufriedenheit aus.

Allerdings habe ich inzwischen seit über zehn Jahren keine Berührungspunkte mehr mit der juristischen Lehre und mir kam stattdessen etwas anderes in den Sinn: Juristische Gesetze und meine Business-Logik sind am Ende nur Regeln. Kann ich nicht also auch das Rulemapping nutzen, um präzise einer KI zu beschreiben, wie sich mein Tool verhalten soll?

Meine erste Rulemap

Der Gedanke ließ mir keine Ruhe. Nur: Wie kann ich eine Rulemap erstellen?

Die Rulemapping Group bietet ein Tool für diese Aufgabe an. Der Rulemap-Builder ist kostenlos, spärlich dokumentiert, aber intuitiv zu benutzen. Ich fange an, mich durchzuklicken, und starte mit einer Rulemap, die die Zugriffslogik für Spaces abbildet.

Was anfangs noch einfach wirkte, wird schnell zu einer echten Herausforderung: Was wird wann noch mal genau geprüft?

Das Bild zeigt die fertige Rulemap für die Zugriffsprüfung bei Spaces in notelog.io

Eigentlich hatte ich alles sauber in Tickets dokumentiert, aber schriftlich. Es braucht einige Anläufe, bis meine erste Rulemap fertig ist. Und jetzt?

Der Rulemap Audit Bot

Die fertige Rulemap kann nun exportiert werden. Leider steht mir dafür nur das XML-Format zur Verfügung und bei einem Blick auf die generierte Datei wird ein Problem sichtbar: Aus der XML wird nicht ersichtlich, zu welchem Ergebnis ein bestimmter Knoten führt. Ich muss also noch mal nachbessern und füge zu allen relevanten Knoten eine Anmerkung hinzu, die sich dann in einem eigenen -Block in der XML wiederfindet.Jetzt habe ich also eine Regel so dokumentiert, dass sie von einer KI verarbeitet werden kann. Als Nächstes lasse ich Claude einen kleinen Python-Bot schreiben, der mit Qwen 3.6 27b die Einhaltung dieser Regel in meinem Code kontrolliert.

Der erste Durchlauf

Nachdem der Bot seine Detektivarbeit abgeschlossen hat, erhalte ich 15 Textdokumente mit den Ergebnissen, eines pro Komponente. Diese lade ich bei NotebookLM hoch und lasse mir eine Zusammenfassung erstellen.

Das Ergebnis ist ernüchternd. Der Bot meldet Fehler, die keine sind. Ein Beispiel: »Gäste erhalten keinen Zugriff auf öffentliche Spaces, es sei denn, sie wurden explizit hinzugefügt.« Das ist korrekt. Das ist genauso gewollt. Gäste werden immer einem konkreten Space zugewiesen, egal ob dieser eingeschränkt ist oder nicht. Aber der Bot hat den Begriff »öffentlich« selbst interpretiert und daraus geschlossen, dass öffentlich für alle offen bedeuten müsse.

Genau das Problem, das ich lösen wollte, war also zurück: Die KI interpretiert.

Nachschärfen

Zwei Stellschrauben machen den Unterschied. Erstens die Rulemap selbst: »Ist der Space eingeschränkt?« ist als Knotenbeschriftung zu vage. »Hat der Space eine explizite Mitgliederliste?« lässt keinen Spielraum. Jeder Knoten muss ohne Kontextwissen eindeutig sein, sonst füllt die KI die Lücke mit eigenen Annahmen.

Zweitens der Prompt: Der Bot darf nicht interpretieren, nicht verschiedene Äste der Rulemap miteinander vergleichen, und keine eigenen Schlüsse ziehen. Nur prüfen: Ist dieser Pfad im Code abgebildet, ja oder nein?

Das Bild zeigt den überarbeiteten System-Prompt vom Rulemap Audit Bot.

Im Grunde die gleiche Erkenntnis wie im Jurastudium: Ein unsauber formulierter Obersatz zieht die ganze Prüfung in die falsche Richtung.

Fazit

Der Workflow hat noch Schwachstellen. Der Export als XML statt als maschinenlesbares JSON-Format schränkt ein, und jede neue Rulemap erfordert sorgfältige Formulierungsarbeit. Aber das Grundprinzip funktioniert: Regeln formal beschreiben, automatisiert prüfen, Schwachstellen finden.

Was mich dabei am meisten überrascht hat: Die Schwierigkeit liegt nicht im Parsen, nicht im Bot und nicht im Prompt. Sie liegt im präzisen Formulieren der Regeln. Und genau das war vor über 25 Jahren auch die Idee hinter dem Rulemapping: Nicht die Technik ist die Herausforderung, sondern das klare Denken.

Last modified: Juni 5, 2026

Close