Context-Engines in OpenClaw
Die vier Lebenszykluspunkte der Zusammenstellung, der Legacy-Standard, eine Plugin-Engine mit commitTurn und Transkript-Semantik schreiben, akzeptierte Host-Parameter, Anforderungen an Host-Fähigkeiten, Fehlerisolation und was ownsCompaction wirklich bedeutet
Alles, was das Modell sieht, wird von irgendetwas zusammengestellt. In OpenClaw ist dieses Etwas eine Context-Engine, und sie ist austauschbar. Die integrierte Engine bewahrt das ursprüngliche Verhalten, aber die Schnittstelle darunter ist der Ort, an dem retrieval-lastige oder zusammenfassungslastige Strategien andocken. Hier sind die Lebenszykluspunkte, der Vertrag, den ein Plugin einhalten muss, und die beiden Fehlerverhalten, die verhindern, dass eine schlechte Engine den Agenten verstummen lässt.
Vier Lebenszykluspunkte
- ingest wird aufgerufen, wenn eine neue Nachricht zur Sitzung hinzukommt, damit die Engine sie speichern oder indexieren kann; assemble wird vor jedem Modelllauf aufgerufen und gibt eine geordnete Menge von Nachrichten plus eine optionale Ergänzung des System-Prompts zurück, die ins Token-Budget passt; compact wird aufgerufen, wenn das Fenster voll ist oder der Nutzer es verlangt; und ein After-Turn-Hook lässt die Engine Zustand persistieren, eine Hintergrund-Compaction starten oder Indizes aktualisieren.
- Eine optionale maintain-Methode übernimmt die Transkriptpflege nach bootstrap, einem erfolgreichen Turn oder einer Compaction, mit einem sicheren Rewrite-Helper, und sie kann als Hintergrundarbeit deklariert werden, damit sie die Antwort nicht blockiert; eine eingereihte Budget-Compaction, die Hintergrundpflege akzeptiert, hält die vorbereitete Runtime durch Pflege, Wiederholungsläufe und Freigabe hindurch am Leben, sodass Akzeptanz nicht bedeutet, dass die Bereinigung abgeschlossen ist.
- Zwei optionale Sub-Agent-Hooks bereiten gemeinsamen Zustand vor, bevor ein Kind-Lauf startet, und räumen auf, wenn er endet; der Vorbereitungs-Hook erhält die Sitzungs-Schlüssel von Eltern und Kind, den Kontextmodus, verfügbare Transkript-IDs und eine optionale Lebensdauer, und er kann ein Rollback-Handle zurückgeben, das OpenClaw aufruft, wenn der Start danach fehlschlägt.
- Die integrierte Legacy-Engine ist bewusst schlank: ingest ist ein No-op, weil der Sitzungs-Manager Nachrichten persistiert, assemble reicht an die bestehende Pipeline aus Bereinigen, Validieren und Begrenzen durch, compact delegiert an die integrierte Zusammenfassung, und der After-Turn-Hook tut nichts; sie registriert keine Tools und ergänzt nichts im System-Prompt.
ownsCompaction: false bedeutet nicht, dass OpenClaw automatisch auf den Compaction-Pfad der Legacy-Engine zurückfällt.
Eine Engine schreiben
Ein Plugin registriert eine Engine mit einer ID, einem Namen, der Angabe, ob sie die Compaction übernimmt, und den Host-Parametern, die sie akzeptiert; OpenClaw bildet die Schnittmenge dieser Deklaration mit den Feldern, die für jede Lebenszyklusmethode verfügbar sind, sodass nicht deklarierte oder unbekannte Schlüssel nie injiziert werden, und eine Engine ohne diese Deklaration erhält jedes aktuelle Host-Feld. Für dauerhaft angenommene Turns deklariert eine Engine beide Transkript-Semantiken und implementiert eine Commit-Methode als einen atomaren, idempotenten Schreibvorgang, der über einen Advancement-Schlüssel adressiert wird; sie gibt beim ersten Schreiben einen committed-Status zurück und einen duplicate-Status, wenn ein Retry des Hosts denselben Schlüssel vorlegt. Die Nutzlast umfasst nur den Bereich vom angenommenen Nutzereintrag bis zum akzeptierten Endeintrag, und früherer Verlauf wird über den Transkript-Cursor gelesen. Ohne die vollständige Deklaration und Methode verwendet OpenClaw für diesen gesamten logischen Turn einschließlich Retries den Legacy-Pfad, lässt den konfigurierten Slot unverändert und versucht es im nächsten Turn erneut mit der Engine. Das Ergebnis von assemble enthält die Nachrichten, eine geschätzte Token-Zahl, eine optionale Ergänzung des System-Prompts, ein Prompt-Authority-Flag, das entscheidet, welche Schätzung die Overflow-Vorprüfung verwendet, und einen optionalen Projektionslebenszyklus für Hosts mit persistenten Backend-Threads.
Anforderungen und Fehler
- Eine Engine kann Anforderungen an Host-Fähigkeiten deklarieren, zum Beispiel, dass sie den tatsächlichen Prompt über assemble steuern muss; native und eingebettete Agent-Läufe erfüllen diese Fähigkeit, generische Kommandozeilen-Backends nicht, daher wird eine Engine, die sie verlangt, vor dem Prozessstart abgelehnt und schlägt nach dem Fail-Closed-Prinzip mit einer aussagekräftigen Meldung fehl.
- Wenn eine Nicht-Legacy-Engine fehlt, die Vertragsvalidierung nicht besteht, bei der Erstellung eine Ausnahme wirft oder aus einer Lebenszyklusmethode heraus wirft, stellt OpenClaw sie für den aktuellen Gateway-Prozess unter Quarantäne, stuft die Kontextarbeit auf Legacy herab, damit die Antworten weiterlaufen, und protokolliert den Fehler mit der fehlgeschlagenen Operation, damit der Betreiber das Plugin reparieren, aktualisieren oder deaktivieren kann.
- Die Compaction zu übernehmen deaktiviert für diesen Lauf die integrierte Auto-Compaction innerhalb eines Versuchs und die generische Overflow-Vorprüfung vor dem Prompt, sodass die Engine für manuelle Compaction, Overflow-Recovery und jede proaktive Arbeit verantwortlich ist; sie nicht zu übernehmen lässt die integrierte Auto-Compaction verfügbar, leitet manuelle Compaction und Overflow-Recovery aber trotzdem an die Engine weiter, weshalb eine compact-Methode, die nichts tut, unsicher ist.
Compaction in OpenClaw ist das Verhalten, an das die Legacy-Engine delegiert, und Kontext in OpenClaw erklärt das, was zusammengestellt wird.
Auswählen und abwählen
Der Slot ist zur Laufzeit exklusiv: Für einen gegebenen Lauf oder eine Compaction wird nur eine registrierte Engine aufgelöst, auch wenn andere aktivierte Engine-Plugins weiterhin laden und ihren Registrierungscode ausführen. Wird das Plugin deinstalliert, das aktuell im Slot ausgewählt ist, wird der Slot auf den Standard zurückgesetzt, und dasselbe Zurücksetzen gilt für den Gedächtnis-Slot, sodass keine manuelle Konfigurationsänderung nötig ist. Ein Engine-Wechsel schreibt bestehende Sitzungen nicht um; sie laufen mit ihrem aktuellen Verlauf weiter, während die neue Engine künftige Läufe übernimmt. Gedächtnis-Plugins sind ein separater Slot, der Suche und Retrieval bereitstellt, und eine Engine kann während der Zusammenstellung über den dokumentierten Helper auf sie zugreifen, statt in ihr internes Layout zu greifen. Plugins in OpenClaw behandelt das Plugin-System und Gedächtnissuche in OpenClaw die Retrieval-Seite.
Bei Diali
Bei Diali wird die Runtime-Konfiguration aus dem Dashboard erzeugt und bei jedem Release ersetzt, daher ist die Auswahl der Engine Teil dieser erzeugten Konfiguration und keine Datei, die Kunden von Hand bearbeiten. Gehostetes OpenClaw bei Diali beschreibt den gehosteten Assistenten und die Diali-Sicherheitsseite die Grenze um jede Runtime.
- ingest, assemble, compact, After-Turn: vier Punkte, ein Vertrag.
- Eine defekte Engine kommt in Quarantäne; Legacy hält den Agenten am Antworten.
- Deklarieren Sie die Transkript-Semantik, sonst nutzt der Turn stillschweigend Legacy.
Genug gelesen, bauen Sie selbst einen
Richten Sie einen Agenten ein, wählen Sie einen Kanal und lassen Sie ihn in der App arbeiten, die Sie ohnehin geöffnet haben.
