- Added additional spacing for improved readability in the document. - Ensured consistent formatting throughout the section on causal retrieval for Mindnet.
7.9 KiB
id: konzept_zielbild_kausales_retrieval_mindnet title: Konzept & Zielbild – Kausalketten-Prüfung und kausales Retrieval für Mindnet (Qdrant) type: concept status: draft created: 2026-01-13 lang: de tags:
- mindnet
- obsidian
- knowledge_graph
- causal_chains
- retrieval
Konzept & Zielbild – Kausalketten-Prüfung und kausales Retrieval für Mindnet (Qdrant)
Ziel
Mindnet soll zu beliebigen Fragestellungen die richtigen Notizen nicht nur über semantische Nähe (Embeddings), sondern über kausale Relevanz finden.
Parallel soll ein Authoring-Assistent helfen, Obsidian-Notizen so anzulegen, dass Kausalketten formal konsistent und traversierbar sind.
Ausgangslage / Problem
- Der Wissensgraph wird in Qdrant gepflegt; aktuelles Retrieval basiert primär auf Gewichtung + semantischer Nähe.
- Ergebnis: thematisch nahe Treffer, aber oft nicht antwortrelevant (fehlende Ursachen-/Folgenbezüge).
- Obsidian-Notizen enthalten Edges (Vorwärts/Rückwärts); Qualität hängt von:
- korrekter Relation (Kausalität vs Chronologie),
- konsistenten Node-Namen,
- Inversen (gegenläufigen Beziehungen),
- sauberer Typisierung ab.
Grundannahmen
- Viele Antworten benötigen einen Erklärungspfad statt eines Einzel-Treffers:
- Ursache → Mechanismus/Transformation → Entscheidung → Wirkung → Rückkopplung
- Kausalität ist im Graph als gerichtete Kanten modelliert und über inverse Typen bidirektional navigierbar:
resulted_in⇄caused_byfollowed_by⇄preceeded_byderived_from⇄source_ofimpacts⇄impacted_by
System-Zielbild (2 Hauptkomponenten)
1) Authoring-Assistent (Obsidian Graph Linter + Chain Explorer)
Zweck: Qualitätssicherung beim Erstellen/Ändern von Notizen.
Kernfunktionen
- Formale Prüfungen
- Canonical Edge vs Alias (Normalisierung nach
edge_vocabulary) - Zielnoten existieren / leere Links als
open_questionoder TODO markieren - Tippfehler/Node-Splitting erkennen (mehrere Schreibweisen desselben Knoten)
- Edge-Typ zulässig für Note-Typ (z.B. keine Kausal-Edges aus
open_question)
- Canonical Edge vs Alias (Normalisierung nach
- Semantische Plausibilität (regelbasiert)
- Chronologie (
followed_by) ≠ Kausalität (resulted_in) - Hub-/Index-Noten nutzen primär
related_to/consists_ofstatt Kausalität - Prinzipien bevorzugt
derived_from/based_onstatt pauschalcaused_by
- Chronologie (
- Ketten-Integrität
- „Gap“-Warnungen (Sprünge ohne Zwischennoten)
- Zyklen ohne Sinn (A caused_by B und B caused_by A)
- Mehrfachursachen transparent markieren
Outputs
- Lint-Report pro Note (Fehler/Warnung/Empfehlung)
- Chain-Preview (2–4 Schritte vorwärts/rückwärts)
- Optional: Auto-Fix-Vorschläge (Alias→Canonical, Link-Normalisierung, Inversen ergänzen)
2) Mindnet Retrieval: Hybrid aus Embeddings + Graph Traversal + Reranking
Zweck: Aus einer Frage automatisch eine kleine, kausal zusammenhängende Menge von Notizen auswählen.
Pipeline
-
Seed Retrieval (Qdrant Embeddings)
- Top-K Kandidaten (z.B. 30) als Startpunkte
- Optional: Filter nach Node-Typ (z.B. bei „Welche Entscheidungen…“)
-
Intent-Klassifikation (Frage → Richtung & Kettenform)
- Regelbasiert (Start) oder später ML-Classifier
- Output:
{direction, preferred_edges, target_types, max_hops, need_explanation_chain}
-
Graph Expansion (Multi-Source Multi-Hop Traversal)
- Expandiert von Seeds 1–3 Hops (typisch 2–4)
- Richtungslogik:
- „Warum/Ursache“ → rückwärts (
caused_by,preceeded_by,derived_from) - „Folgen/Ergebnis“ → vorwärts (
resulted_in,followed_by,impacts) - „Entwicklung/Veränderung“ → beides (forward + backward)
- „Warum/Ursache“ → rückwärts (
- Ergebnis: Pfad-Kandidaten (nicht nur Nodes)
-
Reranking (Antwortrelevanz)
- Score = Semantik + Pfadqualität + Antwortform-Passung
-
Antwort-Bausteine (Minimal Explanation Subgraph)
- Merged Top-Pfade zu einem kleinen Subgraph (z.B. 8–12 Nodes)
- Pruning nach zentralen Knoten und erklärender Kettenform
Spezifikation: Intent → Traversal Mode (Heuristik)
Intent-Struktur
direction:backward | forward | bothpreferred_edges: Menge Edge-Typentarget_types: Menge Node-Typenmax_hops: intneed_explanation_chain: bool
Heuristik (Deutsch)
- Warum / Ursache / Auslöser / wodurch / wie kam es dazu
- direction: backward
- preferred_edges:
{caused_by, preceeded_by, derived_from} - target_types:
{experience, decision, strategy, state} - max_hops: 2–4
- Was führte zu / Folgen / Auswirkungen / resultierte in
- direction: forward
- preferred_edges:
{resulted_in, followed_by, impacts} - target_types:
{decision, strategy, state, principle} - max_hops: 2–4
- Entwicklung / Veränderung / Weltbild / Glaubenssatz / Charakter
- direction: both
- preferred_edges backward:
{caused_by, derived_from} - preferred_edges forward:
{resulted_in, impacts} - target_types:
{principle, state, strategy, decision} - max_hops: 2–4
- need_explanation_chain: true
Spezifikation: Traversal (Weighted Multi-Hop)
Gewichte (Startwerte)
Edge Weights
resulted_in: 1.00caused_by: 1.00derived_from: 0.90source_of: 0.90impacts: 0.70impacted_by: 0.70followed_by: 0.50preceeded_by: 0.50related_to: 0.25part_of/consists_of: 0.25
Node-Type Weights
experience: 1.00decision: 1.00strategy: 0.90state: 0.85principle: 0.85insight(hub): 0.35open_question/hypothesis/white_spot: 0.00 (Filter)
Hop Decay
hop_decay(h) = 0.75^h
Traversal-Logik (pseudocode-nah)
- Multi-Source-Expansion ab Seeds
- Pfade priorisiert nach kumuliertem Pfadscore
visitedverhindert endlose Wiederholungen
Spezifikation: Reranking (Semantik + Kausalität + Antwortform)
Final Score
final_score(path) = alpha*semantic + beta*coherence + gamma*shape_match
Startwerte:
alpha = 0.55(Semantik)beta = 0.30(Kausal-Kohärenz)gamma = 0.15(Passung zur Frageform)
Causal Coherence
- Bonus, wenn Pfad Kausal-Edges enthält (
resulted_in/caused_by/derived_from) - Malus, wenn nur Navigation/Chronologie enthalten ist
- Bonus für Kernform:
experience → decision → (state|strategy|principle)
Output: Minimal Explanation Subgraph (MES)
Ziel: nicht eine Liste, sondern ein erklärendes Subgraph-Set.
Regeln
- Top-Pfade (z.B. 3–5) mergen
- max_nodes: 8–12
- Pruning:
- Hubs raus, wenn sie nur Navigation sind
- Decision/Principle/State bevorzugen (Antwortanker)
- Bridge-Nodes behalten (in mehreren Pfaden vorkommend)
Authoring-Regeln (Graph-Hygiene) – harte Leitplanken
- Kausalität nur auf atomaren Noten (
experience/decision/state/strategy/principle) - Hubs/Indexnoten: primär
related_to/consists_of(keine „Hub verursacht X“-Kausalität) - Inverse Edges müssen erzeugbar sein (oder Build-Step erzeugt sie deterministisch)
- Chronologie strikt trennen (
followed_by≠resulted_in) - Prinzipien:
derived_from/based_onfür Herkunft (statt pauschalcaused_by) - Leere Links als
open_questionoder TODO ohne Kausal-Edge - Kanonische Dateinamen: Node-Splitting verhindern
Nutzen / Erfolgskriterien
- Bessere Answer Relevance: Mindnet liefert Knoten mit erklärender Kausalstruktur statt nur thematischer Nähe
- Erklärbarkeit: Antwort kann mit Pfad(en) begründet werden
- Debuggability: Fehlantworten lassen sich auf falsche/fehlende Kanten zurückführen
- Authoring-Effizienz: Assistent verhindert typische Edge-Fehler früh
Offene Punkte (für nächste Iteration)
- Intent-Taxonomie (8–12 Frageklassen) finalisieren und evaluieren
- Welche Edges werden als „kausal“ im engeren Sinne akzeptiert?
- Welche Node-Typen sind Pflichtmetadaten für Mindnet?
- Evaluation: Retrieval-Qualität mit/ohne Traversal (A/B)