mindnet/docs/01_User_Manual/01_knowledge_design.md
2025-12-16 18:46:11 +01:00

6.9 KiB
Raw Blame History

doc_type audience scope status version context
user_manual user, author vault, markdown, schema active 2.7.0 Regelwerk für das Erstellen von Notizen im Vault. Die 'Source of Truth' für Autoren.

Knowledge Design Manual

Quellen: knowledge_design.md, TYPE_REGISTRY_MANUAL.md

Die 5 Goldenen Regeln (TL;DR)

Damit Mindnet als dein Digitaler Zwilling funktioniert, beachte beim Schreiben diese Grundsätze:

  1. Atomare Gedanken: Eine Notiz = Ein Thema. Wenn du über zwei Projekte schreibst, mach zwei Notizen draus.
  2. Explizite Typen: Setze immer den type im Frontmatter. Mindnet behandelt eine decision ("Wir machen X") völlig anders als ein concept ("Was ist X").
  3. Semantische Links: Schreibe nicht nur [[Link]], sondern [[rel:depends_on Link]]. Sag dem System wie Dinge zusammenhängen.
  4. Werte & Ziele definieren: Damit die Decision Engine dich beraten kann, musst du deine Kriterien (type: value, type: goal) explizit als Notizen anlegen.
  5. Emotionales Bridging: Damit die Empathie funktioniert, nutze in Erfahrungsberichten (type: experience) emotionale Schlüsselwörter ("Krise", "Freude", "Angst").

1. Zweck & Scope

Mindnet ist mehr als eine Dokumentablage. Es ist ein vernetztes System, das deine Persönlichkeit abbildet. Die Markdown-Dateien in deinem Vault sind die einzige Quelle der Wahrheit ("Source of Truth"). Was nicht im Markdown steht, existiert für das System nicht.


2. Note-Struktur & Frontmatter

Jede Notiz benötigt einen YAML-Header (Frontmatter).

Pflichtfelder:

---
id: 20251212-projekt-alpha     # Eindeutige Kennung (YYYYMMDD-slug empfohlen)
title: Projekt Alpha           # Sprechender Titel
type: project                  # Steuert Chunking & Wichtigkeit
status: active                 # active, archived, draft
created: 2025-12-12            # ISO 8601
tags: [ki, entwicklung]        # Taxonomie
---

Optionale Felder & Overrides (Advanced):

  • aliases: [Alpha Projekt] Wichtig für "Active Intelligence" (Exact Match).
  • visibility: internal (default) / public.
  • NEU: Du kannst die KI-Steuerung manuell überschreiben, wenn dir der Standard für den Typ nicht passt:
    • chunking_profile: Zwingt den Chunker in einen Modus (z.B. structured_smart_edges_strict).
    • retriever_weight: Setzt die Wichtigkeit manuell hoch/runter (z.B. 1.5 für extrem wichtig).

3. Typ-Referenz & Verhalten

Wähle den Typ, der die Rolle der Notiz am besten beschreibt. Der Typ steuert Chunking, Gewichtung und Kanten-Logik.

Typ Beschreibung & Einsatzzweck Rolle im Chat (Intent) Matrix-Logik
concept Fachbegriffe, Theorien. Zeitloses Wissen. FACT Ziel für uses
project Ein Vorhaben mit Ziel, Dauer und Aufgaben. FACT / DECISION Quelle für depends_on
experience Persönliche Erfahrung, Lektion oder Erkenntnis. EMPATHY Quelle für based_on
decision Eine bewusst getroffene Entscheidung (ADR). DECISION Quelle für caused_by
value Ein persönlicher Wert oder ein Prinzip. DECISION Ziel für based_on
principle Handlungsleitlinie. DECISION Quelle für derived_from
goal Ein strategisches Ziel. DECISION Ziel für related_to
risk Ein identifiziertes Risiko. DECISION Quelle für blocks
journal Zeitbezogener Log-Eintrag. FACT -

4. Edges & Verlinkung

Mindnet versteht Zusammenhänge durch Kanten.

4.1 Inline-Relationen (Semantische Verknüpfung)

Dies ist die mächtigste Methode. Du sagst dem System explizit, wie Dinge zusammenhängen.

"Daher rel:depends_on Qdrant." "Dieses Konzept ist rel:similar_to Pinecone."

Gültige Relationen:

  • depends_on: Hängt ab von / Benötigt.
  • blocks: Blockiert oder gefährdet (z.B. Risiko -> Projekt).
  • caused_by: Wurde verursacht durch (Kausalität).
  • similar_to: Ähnelt / Ist vergleichbar mit.
  • solves: Löst (Problem).
  • based_on: Basiert auf (Fundament).

4.2 Callout-Edges

Für Zusammenfassungen am Ende einer Notiz:

> [!edge] related_to: [[Vector Embeddings]] [[AI Agents]]

5. Schreiben für den KI-Zwilling (Szenarien)

Damit der RAG-Chat dich berät, musst du "Futter" für die Decision Engine liefern.

Szenario A: Decision Engine (DECISION)

  • Ziel: Das System soll abwägen: "Passt Tool X zu mir?"
  • Vorgehen: Erstelle Notizen mit type: value oder type: goal.

Beispiel Notiz:

---
type: value
title: Prinzip: Datensparsamkeit
---
Wir speichern nur das Minimum an Daten. Cloud-Uploads persönlicher Daten sind verboten, es sei denn, sie sind E2E-verschlüsselt.
  • Effekt: Wenn du fragst "Soll ich Notion nutzen?", lädt die Engine diese Notiz und antwortet: "Nein, Notion ist SaaS ohne E2E. Das verletzt dein Prinzip der Datensparsamkeit."

Szenario B: Empathie (EMPATHY)

  • Ziel: Das System soll dich verstehen.
  • Vorgehen: Erstelle type: experience mit emotionalen Brückenwörtern.

Beispiel Notiz:

---
type: experience
title: Erfahrung: Der Durchbruch nach der Krise
tags: [krise, hoffnung, grau, angst]
---
Es gibt Projektphasen, da wirkt alles **sinnlos** und **grau**.
Ich habe gelernt: Das ist oft das Zeichen kurz vor dem Durchbruch.
  • Effekt: Bei "Alles ist grau" findet das System diese Notiz und spiegelt die Lektion zurück.

6. Best Practices & Beispiele

6.1 Beispiel: Projekt-Notiz (Standard)

Projekte profitieren von depends_on, um Abhängigkeiten zu klären.

---
id: 20251115-proj-mindnet
title: Mindnet Implementierung
type: project
status: active
---

# Mindnet Implementierung

Wir bauen ein persönliches Wissensnetz.

## Tech Stack
Wir nutzen [[rel:depends_on Qdrant]] für die Vektorsuche und [[rel:depends_on FastAPI]] für das Backend.

## Architektur
Das Konzept basiert auf [[RAG Architecture]].

6.2 Beispiel: Advanced Tuning (Manuelles Override)

Hier zwingen wir das System, eine Entscheidung extrem kleinteilig (strict) zu zerlegen und in der Suche maximal zu priorisieren.

---
id: 20251120-adr-vektordb
title: ADR: Wahl von Qdrant
type: decision
status: final
tags: [architektur, db]
# OVERRIDES: Wir wollen diese Notiz extrem wichtig machen und strikt trennen
chunking_profile: structured_smart_edges_strict
retriever_weight: 1.5
---

# Entscheidung: Qdrant

Wir haben uns für Qdrant entschieden.

## Alternativen
Wir haben auch [[rel:similar_to Pinecone]] und [[rel:similar_to Weaviate]] betrachtet.

7. Virtual Schema Layer

Grundsätzlich gilt das Prinzip des Virtual Schema Layers. Die Logik (wie chunk_size) wird zentral in der types.yaml verwaltet. Aber: Als Power-User hast du über die oben genannten Overrides (chunking_profile) jederzeit die Möglichkeit, aus diesem Standard auszubrechen, wenn eine spezifische Notiz eine Sonderbehandlung benötigt.