>_ DevTrendsde

Sprache

Start

Sprachen

Bereiche

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicherheit
TypeScript

Wie der InkOS-Buchgenerator den Kontext über Hunderte von Kapiteln hinweg im Griff behält

Jeder, der versucht hat, lange Fiktion mit Sprachmodellen zu schreiben, kennt den Moment, in dem alles auseinanderfällt. Im dritten oder vierten Kapitel „erweckt" der Held unerwartet einen Begleiter wieder zum Leben, der gestorben ist, verwechselt Orte, und der Erzählstil gleitet in langweilige Verallgemeinerungen ab wie „er lernte eine wichtige Lektion und machte weiter".

Das Problem hier liegt nicht nur an der Kontextfenster-Größe. Selbst wenn man fünfzigtausend vorherige Wörter in das neuronale Netz stopft, wird das Modell dennoch beginnen, Details falsch zu machen oder Klischees zu produzieren.

Kürzlich stieß ich auf ein Open-Source-Projekt namens InkOS (das bereits über 8.500 Sterne auf GitHub gesammelt hat). Es ist ein vollwertiges TypeScript-Framework für Erzählmanagement, Webroman-Generierung, interaktive Spiele und Szenarien. Die Autoren versuchten, die Kontrolle über Gedächtnis, Stil und Handlung zu konsolidieren.

System architecture

Was ist die Idee und warum gewöhnliche Prompts nicht ausreichen

InkOS verwaltet die Texterstellung durch eine Kette spezialisierter Agents. Anstatt ein einzelnes neuronales Netzwerk zu bitten, „ein Kapitel unter Berücksichtigung der Handlung zu schreiben", teilt das System den Prozess in klare Rollen auf.

Ein Agent (Planner) gestaltet die Richtung des aktuellen Kapitels, ein anderer (Writer) erstellt den Entwurf, ein dritter (Observer) extrahiert Fakten über die Welt und Charaktere aus dem Text, und ein vierter (Auditor) überprüft die fertige Version auf Widersprüche.

Der Text durchläuft einen Kontrolltrichter:

Chapter production pipeline

Wenn der Auditor bemerkt, dass ein Charakter plötzlich ein Schwert zieht, das zwei Kapitel zuvor verloren ging, wird das Kapitel zur automatischen Überarbeitung durch einen Editor-Agent zurückgeschickt.

Dreistufiges Gedächtnis und Schutz vor Halluzinationen

Der interessanteste technische Aspekt von InkOS betrifft, wie das Projekt den Zustand der fiktionalen Welt speichert. Wenn man sich darauf verlässt, dass der LLM-Agent den gesamten Zustand in einer Markdown-Datei neu schreibt, wird die Struktur schnell degradieren.

Die Autoren wandten einen hybriden Ansatz an:

Long-TERM memory scheme

  1. Strikt strukturierte Datenbank. Inventarzustand, Handlungselemente, Status von Charakterbeziehungen werden im JSON-Format gespeichert und mit Zod-Schemata validiert. Der Agent gibt nicht das gesamte JSON neu aus, sondern nur ein differenzielles Delta-Paket (JSON Delta), das der Projektcode unveränderlich auf den Zustand anwendet.
  2. Lokale SQLite-Datenbank. In Node.js 22+-Versionen verbindet das System automatisch SQLite für Vektor- und Schlüsselwortsuche vergangener Ereignisse, komprimierter Annotationen und Fakten.
  3. Projektionen in Markdown. Dateien wie current_state.md oder pending_hooks.md werden automatisch aus validiertem JSON generiert. Sie dienen als visuelle Referenz für den menschlichen Autor und für die Übergabe in den Generatorkontext.

Dank dieser Trennung kann das Modell nicht versehentlich einen Handlungszweig löschen oder das state.json-Dateiformat beschädigen.

Bekämpfung des neuronalen Netzwerk-Glanzes und automatische Prüfung

Jeder hat den charakteristischen Stil von Sprachmodellen bemerkt. Übermäßige Verwendung von Füllwörtern, einheitliche Satzlänge, eine Vorliebe für tiefe moralische Schlussfolgerungen am Ende jedes Absatzes.

InkOS enthält ein integriertes Textprüfungsmodul mit 37 Parametern. Es überwacht den Satzrhythmus, die Häufigkeit von Wortwiederholungen und jagt nach banalen Klischees.

Zusätzlich enthält die Engine einen Stil-Analytics-Befehl:

inkos style analyze sample_author.txt
inkos style import sample_author.json --book my-novel

Das Dienstprogramm extrahiert einen numerischen Fingerabdruck aus Referenztext (Satzlängenverteilung, Häufigkeitswörterbuch, Dialogdichte) und generiert eine Richtlinie. Bei der Generierung neuer Kapitel erzeugt es nicht abstrakten Text, sondern Material, das strikt an diesen Fingerabdruck angepasst ist.

Interaktive Welten und Text-RPGs

In Version 1.5 fügten Entwickler den InkOS Play-Modus hinzu. Dies ist ein Werkzeug zum Starten von Textwelten mit freien Aktionen oder turnusbasierter Verzweigung.

Studio web interface

Im Play-Modus wird ein sogenannter Weltvertrag festgelegt. Zum Beispiel Detektiv-Ermittlungsregeln oder ein Überlebenssimulator. Ein System-Agent verfolgt Zeit, Inventar, Gegenstände und Beweise, generiert Auswahloberflächen oder verarbeitet Benutzereingaben in natürlicher Sprache.

Unter der Haube werden Mechanismen für die dynamische Szenen- und Gegenstandsgenerierung verwendet, sowie Unterstützung für Standard-Skill-Pakete SKILL.md.

Wie es intern funktioniert

Das Projekt ist vollständig in TypeScript geschrieben. Die Weboberfläche (Studio) läuft auf Vite, React und Hono. Die interaktive Konsole ist über TUI implementiert, und eine traditionelle CLI ist für Automatisierungsbegeisterte verfügbar.

Das Agent-Framework basiert auf der pi-mono-Bibliothek (@mariozechner/pi-agent-core).

Eine praktische Lösung ist flexibles Model-Routing. Das Schreiben von Fiktion kann beispielsweise Claude 3.5 Sonnet oder Kimi K2.7 zugewiesen werden, während Prüfaufgaben, JSON-Delta-Assemblierung und Validierung an schnellere und günstigere Modelle über OpenRouter, Gemini oder lokales Ollama delegiert werden können.

Die Routing-Konfiguration wird über Modellpaare festgelegt:

inkos config set-model writer kimi-k2.5 --provider custom --base-url https://api.moonshot.cn/v1
inkos config set-model auditor gemini-2.5-flash --provider google

Lokale Ausführung

Das Paket ist auf npm verfügbar:

npm i -g @actalk/inkos

Das Erstellen Ihres ersten Buches und das Starten eines lokalen Studios erfordert nur drei Befehle:

inkos init my-story
cd my-story
inkos studio

Ein Web-Panel öffnet sich im Browser auf Port 45.67. Dort können Sie API-Schlüssel für die erforderlichen Anbieter eingeben, die Konzeption des Werks festlegen und den Prozess der Planung der ersten Kapitel starten.

Direktbefehle sind für die Konsolenarbeit verfügbar:

inkos book create --title "Забытый код" --genre sci-fi
inkos plan chapter Забытый код --context "Герой обнаруживает странный архив в серверной"
inkos write next Забытый код

Für wen dieses Projekt nützlich ist

InkOS ist nicht nur ein weiterer Wrapper um ChatGPT. Es ist eine strukturierte Entwicklungsumgebung für diejenigen, die systematisch mit Erzählungen arbeiten.

Das Projekt ist nützlich für:

  • Narrative Designer und Spielautoren für die Entwicklung von Quests und verzweigenden Dialogen.
  • Webroman-Autoren, die einen Assistenten benötigen, der Chronologie und Fakten aufrechterhält.
  • Entwickler, die textbasierte KI-Bots mit Gedächtnis und internen Weltregeln erstellen.

Natürlich sind der Quellcode und die Prompts auf Chinesisch und Englisch ausgerichtet, aber die flexible Prompt-Paket-Konfiguration im Ordner prompt/ ermöglicht die Anpassung der Generierung an jede Sprache. Die AGPL-3.0-Lizenzierung ermöglicht die Bereitstellung des Systems lokal auf Ihrem eigenen Server, ohne an proprietäre Clouds gebunden zu sein.

Ähnliche Projekte