Future Thinking Engine (KYTREX) — LLM Constraint Graphs für Szenarioplanung

ACTIVEv0.9.0

Ein Constraint-getriebenes Graph-System, das LLMs als Vorschlagsgeneratoren nutzt und strukturelle Regeln ausserhalb des Modells erzwingt

▸ core_thesis.log[CLASSIFIED]

CORE_THESIS

Ein LLM ist ein Generator fuer Kandidaten-Hypothesen — es produziert plausible Kausalketten wie "A fuehrt zu B". Aber plausibel ist nicht dasselbe wie strukturell valide. Ohne externe Durchsetzung erzeugen LLM-generierte Graphen unweigerlich Zyklen, Abstraktionssprueenge, haengende Referenzen und kombinatorische Explosionen. Das sind keine Bugs — das sind vorhersagbare Systemeffekte.

Die Loesung: Generierung von Validierung trennen. Das LLM schlaegt vor, das System erzwingt die Physik.

LLM = VORSCHLAGS-GENERATOR

Generiert Kandidaten-Knoten, -Kanten und -Beziehungen. Optimiert auf semantische Plausibilitaet. Hat keinen globalen Blick auf den Graph-Zustand.

SYSTEM = PHYSIK-ERZWINGER

Erzwingt Typregeln, Zyklen-Constraints, referentielle Integritaet und Branching-Budgets. Maschinenpruefbar, deterministisch, nicht verhandelbar.

▸ failure_modes.sys[4 MODES]

FAILURE_MODES

Vier vorhersagbare Systemeffekte bei der Generierung von Graph-Strukturen aus LLM-Output — und wie KYTREX jeden einzelnen adressiert

[FM-001]KOMBINATORISCHE EXPLOSION
PROBLEM:

Mit Branching-Faktor b und Tiefe d waechst die Knotenzahl als b^d. Ein Graph, der sauber beginnt, wird innerhalb von 3-4 Expand-Schritten zum unlesbaren Wollknaeuel.

KYTREX:

Progressive Disclosure: nur 1-Hop pro Interaktion generieren. Der Nutzer bezahlt fuer Komplexitaet mit expliziten Klicks. Kombiniert mit MMR-basiertem Pruning fuer maximale relevante Neuheit pro Expand.

[FM-002]GRANULARITAETS-MISMATCH
PROBLEM:

LLMs erkennen semantische Naehe, erzwingen aber keine Abstraktionsebenen. Ein Makro-Trend wie "KI-Disruption" wird direkt mit einem Mikro-Feature wie "Dark-Mode-Toggle" verbunden — ein klassischer Abstraktionssprung.

KYTREX:

Typed Property Graph mit strikter Ontologie: 6 Knotentypen ueber 3 Schichten (Makro/Meso/Mikro), 7 Kantentypen. Verbindungen nur zwischen benachbarten Schichten — schichtuebergreifende Abkuerzungen erfordern Bruecken-Knoten.

[FM-003]ZYKLISCHE PARADOXA
PROBLEM:

"Mehr KI → weniger Jobs → Krise → mehr Automatisierung → mehr KI" — plausibel als Feedback-Loop, aber katastrophal fuer Vorwaertspropagation. Rekursive Traversierung wird zur Endlosschleife.

KYTREX:

DAG-Erzwingung als operationale Constraint. Zyklen-Erkennung via DFS bevor eine Kante committet wird. Feedback-Loops werden markiert und isoliert — valide im Systems Thinking, aber als separate Simulationsschicht behandelt.

[FM-004]JSON-STRUKTURBRUECHE
PROBLEM:

Selbst mit Structured Outputs produzieren LLMs semantisch kaputte Graphen: Kanten die auf nicht-existente Knoten zeigen, doppelte IDs, Typ-Verletzungen. Syntaktische Korrektheit ≠ strukturelle Validitaet.

KYTREX:

Accept-Validate-Repair Pipeline: Zod-Schema-Check → Referentielle-Integritaets-Pass (Kanten mit unbekannten IDs entfernen/flaggen) → optionaler Repair-Call. Die UI sieht nur validierte Strukturen.

▸ ontology_map.sys[STATIC]
ONTOLOGY_MAP

Drei-Schichten-Hierarchie mit 6 Knotentypen und 7 Kantentypen

[MACRO]macro-trendpolicy[MESO]industry-shiftevent[MICRO]business-modelproduct-feature
BRUECKEN_REGEL

Makro-Knoten koennen nicht direkt mit Mikro-Knoten verbunden werden — eine Meso-Bruecke ist erforderlich

✗ UNGUELTIG
macro-trend──✗──→product-feature
✓ GUELTIG
macro-trend→industry-shift→product-feature
KNOTEN_TYPEN
●
MACRO_TREND

Grossflaechiger technologischer oder gesellschaftlicher Wandel

●
INDUSTRY_SHIFT

Struktureller Wandel auf Marktebene

●
BUSINESS_MODEL

Monetarisierungsmuster oder Wertarchitektur

●
PRODUCT_FEATURE

Spezifische Faehigkeit oder Lieferobjekt

●
EVENT

Zeitgebundenes Ereignis mit Kaskadeneffekten

●
POLICY

Regulatorischer oder Governance-Eingriff

KANTEN_TYPEN
▸CAUSES— Direkte kausale Beziehung
▸ENABLES— Schafft Bedingungen fuer das Entstehen des Ziels
▸CONSTRAINS— Begrenzt oder beschraenkt das Ziel
▸SUBSTITUTES— Ersetzt oder verdraengt das Ziel
▸AMPLIFIES— Verstaerkt oder beschleunigt das Ziel
▸CONTRADICTS— Widerspricht oder untergraebt das Ziel
▸REQUIRES— Ziel kann ohne Quelle nicht existieren
▸ graph_explorer.svg[INTERACTIVE]
GRAPH_EXPLORER

Progressive Disclosure in Aktion: jeweils 1-Hop aufklappen. Jeder Klick zeigt Kinder — der Nutzer kontrolliert die Komplexitaet.

NODES: 6EDGES: 6EXPANDED: 1
[MACRO][MESO][MICRO]causesenablescausesamplifiesconstrainsamplifiesMACRO TRENDAI Disruption−INDUSTRY SHIFTAutomatedContent Creation+INDUSTRY SHIFTAI-native SaaSWave+POLICYRegulatory Pushfor AI Transpare..+MACRO TRENDOpen-SourceModel Commoditiz..+EVENTInference CostCollapse
Knoten klicken zum Aufklappen
LEGENDE
macro-trend
industry-shift
business-model
product-feature
event
policy

Beispielszenario: AI Disruption. Die KYTREX-Ontologie und Constraint-Regeln gelten für beliebige Domänen-Graphen.

▸ constraint_validator.ts[LIVE]
CONSTRAINT_VALIDATOR

Echte Validierung, keine Aufnahme: Kanten an-/abschalten oder hinzufügen — die Pipeline prüft Ontologie, Zyklen und referenzielle Integrität live.

INPUT
→
ONT✗
→
CYC✗
→
REF✗
→
OUTPUT
SAMPLE_LLM_OUTPUT
3 Knoten · 4 Kanten
x1macro-trendx2product-featurex3event
x1 → x2enables
x2 → x3causes
x3 → x1amplifies
x2 → x99requires
→

Kante aus-/einschalten oder neue hinzufügen — die Validierung läuft sofort neu.

SCHRITT 1: ONTOLOGIE-CHECKFAIL

Alle Knotentypen und Kanten-Typ/Knoten-Typ-Kombinationen pruefen

✗ Verletzung gefunden: macro-trend → product-feature skips a layer — bridge via industry-shift required
↳REPAIR: Insert bridge node (industry-shift) between x1 and x2
✗ Verletzung gefunden: product-feature → event is not an allowed transition
↳REPAIR: Remove illegal edge x2 → x3
SCHRITT 2: ZYKLEN-ERKENNUNGFAIL

DFS ausfuehren um sicherzustellen, dass der Graph ein DAG bleibt

✗ Verletzung gefunden: Cycle detected — x3 → x1 closes a loop (x1 → x2 → x3 → x1)
↳REPAIR: Remove edge x3 → x1 to break the cycle
SCHRITT 3: REFERENTIELLE INTEGRITAETFAIL

Bestaetigen, dass alle Kanten-Endpunkte auf existierende Knoten verweisen

✗ Verletzung gefunden: Node x99 does not exist in the graph
↳REPAIR: Remove edge x2 → x99 (dangling reference to x99)
4 Verletzungen → 4 Reparaturen
✗
▸ process_flow.dat[CLASSIFIED]

PROCESS_FLOW

┌─────────────────┐
│   USER INPUT    │
│   (scenario)    │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│  LLM GENERATOR  │
│  ══════════════ │
│  Propose Nodes  │
│  Propose Edges  │
│  Suggest Types  │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│   CONSTRAINT    │
│   VALIDATOR     │
│  ══════════════ │
│  Ontology Check │
│  Cycle Detect   │
│  Ref Integrity  │
└────────┬────────┘
         │
    ┌────┴────┐
    ▼         ▼
┌────────┐ ┌────────┐
│ GRAPH  │ │SCENARIO│
│ STATE  │ │ OUTPUT │
└────────┘ └────────┘