Smart Rules Engine
Die Smart Rules Engine verwandelt die MORAYA.md Ihrer Wissensdatenbank in ein effizientes, bedarfsgesteuertes Kontextsystem für den KI-Assistenten — sodass große Regeldateien nicht länger hart abgeschnitten oder bei jeder Nachricht vollständig abgerechnet werden.
Das Problem, das sie löst
Früher wurde MORAYA.md mit einem festen Zeichenlimit in den KI-System-Prompt eingespeist. Das verursachte drei Probleme: Regeln konnten mitten im Satz abgeschnitten werden, große Dateien trieben die Token-Kosten bei jeder Anfrage in die Höhe, und die KI musste raten, wann sie die Datei erneut lesen sollte.
Die Rules Engine ersetzt „Einzeldatei-Abschneidung” durch automatische Aufteilung + indiziertes, bedarfsgesteuertes Laden. Sie pflegen weiterhin eine einzige Datei; Moraya kompiliert sie in Regelsegmente, die die KI nur bei Bedarf lädt.
Funktionsweise
Wenn Sie MORAYA.md speichern, vergleicht Moraya einen Hash des Inhalts. Bei einer Änderung wird die Datei anhand ihrer obersten Überschriften in Segmente unter einem abgeleiteten .moraya/rules/-Verzeichnis aufgeteilt:
- Glob-getaggte Segmente — ein mit
<!-- globs: ... -->annotiertes Segment wird automatisch geladen, sobald Sie eine passende Datei bearbeiten (bedingtes Laden mit hoher Priorität). - Ungetaggte Segmente — nach Titel indiziert; die KI liest das vollständige Segment bei Bedarf über ihre Datei-Tools.
- Keine Überschriftenstruktur — die Datei fällt auf die vollständige Datei-Einspeisung zurück (unverändertes Legacy-Verhalten), und die Oberfläche schlägt vor, Überschriften hinzuzufügen.
Der System-Prompt trägt dann einen kompakten Index plus etwaige glob-passende Segmentinhalte, statt der gesamten Datei.
Designprinzipien
| Prinzip | Was es bedeutet |
|---|---|
| Einzige Quelle der Wahrheit | Sie pflegen nur MORAYA.md; .moraya/rules/ ist ein generiertes Artefakt |
| Keine Lernkurve | Keine Glob-Syntax nötig — schreiben Sie einfach gute Markdown-Überschriften |
| Alle gewinnen | Sie sehen das ganze Dokument, die KI liest Segmente, die Abrechnung erfolgt bedarfsgesteuert |
| Selbstheilend | .moraya/ wird nicht in Git committet; ein neuer Rechner baut es automatisch neu auf |
| Abwärtskompatibel | Dateien ohne Überschriften verhalten sich genau wie zuvor |
Bedingte Regeln hinzufügen
Um eine Regel auf bestimmte Dateien einzugrenzen, fügen Sie unter ihrer Überschrift einen Glob-Kommentar hinzu:
## API documentation style
<!-- globs: docs/api/**/*.md -->
- Every endpoint must document its error responses.
- Use `snake_case` for JSON field names.
Nun wird dieser Abschnitt nur eingespeist, wenn Sie eine Datei unter docs/api/ bearbeiten. Abschnitte ohne Glob-Kommentar verbleiben im Index und werden von der KI eingebunden, wenn sie für das Gespräch relevant sind.
Tipps
- Halten Sie jede Regel unter einer klaren, aussagekräftigen Überschrift — die Überschrift wird zum Indexeintrag, gegen den die KI abgleicht.
- Gruppieren Sie breit anwendbare Regeln (Tonfall, Terminologie) ohne Globs; grenzen Sie enge Regeln (ordnerspezifische Konventionen) mit Globs ein.
- Das abgeleitete
.moraya/-Verzeichnis kann bedenkenlos gelöscht werden — es wird beim nächsten Speichern neu aufgebaut.