mindnet/docs/knowledge_design.md
Lars c9cbbbfcb9
Some checks failed
Deploy mindnet to llm-node / deploy (push) Failing after 2s
docs/knowledge_design.md aktualisiert
2025-09-09 11:57:34 +02:00

2.9 KiB
Raw Blame History

knowledge_design.md

Ziel & Anspruch

Dieses Dokument definiert die Wissensarchitektur von mindnet.
Ziele:

  • Persönliches Wissen, Erfahrungen, Pläne und Ideen konsistent speichern.
  • Vernetzung durch Backlinks und Wikilinks, auch bei noch nicht vorhandenen Zielen.
  • LLM-fähige Abfragen durch semantische Vektoren und strukturierte Graph-Kanten.
  • Vollständiger Roundtrip: Markdown ↔ Qdrant ↔ Markdown.

YAML-Frontmatter-Schema

Pflichtfelder

  • id: eindeutige Note-ID
  • title: kurzer Titel
  • type: z. B. concept, plan, journal
  • created: ISO-Datum
  • updated: ISO-Datum

Optionale Felder

  • status, area, project, tags, lang, slug, aliases, priority, effort_min, due, people, depends_on, assigned_to

Dateinamen-Konvention

  • Format: YYYY-MM-DD_title.md oder slug.md
  • Pfade relativ zum Vault, z. B. area/project/note.md

Tagging-Regeln

  • Tags im Frontmatter als YAML-Liste (tags: [#karate, #projektX]).
  • Im Text: #Tag erlaubt, aber nicht für die Kantenbildung verwendet.
  • Wikilinks: [[note-id]] oder [[Titel|note-id]] → erzeugen Edges.
  • Forwardlinks (references): Chunk-Scope.
  • Backlinks: Note-Scope, automatisch generiert.
  • Unresolved-Links: bleiben als Edge mit status=unresolved bestehen, bis Zielnote existiert.

Edge-Typen

  • belongs_to: Chunk → Note
  • references: Chunk → Note (aus Wikilinks im Text)
  • backlink: Note → Note (automatisch, invers von references)
  • prev / next: Chunk → Chunk (symmetrisch)
  • unresolved: Edge mit status=unresolved, wenn Ziel fehlt
  • weitere (Tasks/Projekte): depends_on, assigned_to, related, etc.

Optional: references:note (Note-Scope-References), standardmäßig deaktiviert; aktivierbar via ENV/Flag.

Qdrant-Ablage

  • Collections: {prefix}_notes, {prefix}_chunks, {prefix}_edges
  • Vektoren:
    • Notes: Nullvektor oder Zentroid (optional)
    • Chunks: 384-d Embeddings
    • Edges: 1-d Dummy-Vektor
  • IDs: deterministisch via UUIDv5 (idempotent)

Payload-Indizes (Performance)

  • Notes: note_id
  • Chunks: note_id, chunk_index
  • Edges: note_id, kind, scope, source_id, target_id

Jede Note kann am Ende eine Sektion „Mögliche Verbindungen“ enthalten. Diese ist optional, wird chunked, erzeugt aber keine Kanten dient nur als Inspirationsquelle.

Graph-Layer (optional)

Für Multi-Hop-Queries kann zusätzlich eine SQL-Tabelle nodes/edges/aliases gepflegt werden. Der Importer schreibt parallel in Qdrant und SQL (UPSERT).
→ Vorteil: effiziente Abfragen wie „2-Hop Pfade“, „Top-Hubs“, Community-Erkennung.

Nutzen

  • Speicherung und Vernetzung persönlicher Wissensressourcen.
  • LLM kann mit Hybrid-Retrieval (Vektor + Graph) antworten.
  • Neue Inhalte können vom Agenten semantisch eingeordnet und durch vorgeschlagene Edges ergänzt werden.