6.8 KiB
| doc_type | audience | scope | status | version | context |
|---|---|---|---|---|---|
| user_manual | user, author | vault, markdown, schema | active | 2.6 | 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:
- Atomare Gedanken: Eine Notiz = Ein Thema. Wenn du über zwei Projekte schreibst, mach zwei Notizen draus.
- Explizite Typen: Setze immer den
typeim Frontmatter. Mindnet behandelt einedecision("Wir machen X") völlig anders als einconcept("Was ist X"). - Semantische Links: Schreibe nicht nur
[[Link]], sondern[[rel:depends_on Link]]. Sag dem System wie Dinge zusammenhängen. - Werte & Ziele definieren: Damit die Decision Engine dich beraten kann, musst du deine Kriterien (
type: value,type: goal) explizit als Notizen anlegen. - 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:
aliases: [Alpha Projekt] – Wichtig für "Active Intelligence" (Exact Match).visibility: internal (default) / public.
Wichtig: Felder wie
retriever_weightoderchunk_profilewerden zentral übertypes.yamlgesteuert und müssen nicht mehr manuell gesetzt werden (Virtual Schema Layer).
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: valueodertype: 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: experiencemit 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 (Klassik)
Hier sind vollständige Vorlagen für häufige Typen.
6.1 Beispiel: Projekt-Notiz
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]]. (Automatisch 'depends_on' durch Typ-Default, falls konfiguriert).
6.2 Beispiel: Entscheidung (Decision Record)
Entscheidungen sind hoch gewichtet (retriever_weight: 1.0).
---
id: 20251120-adr-vektordb
title: ADR: Wahl von Qdrant
type: decision
status: final
tags: [architektur, db]
---
# Entscheidung: Qdrant
Wir haben uns für Qdrant entschieden.
## Alternativen
Wir haben auch [[rel:similar_to Pinecone]] und [[rel:similar_to Weaviate]] betrachtet.
## Begründung
Qdrant erlaubt lokalen Betrieb und [[rel:solves Payload Filtering Requirements]].
7. Langfristige Stabilität
Wir nutzen das Prinzip des Virtual Schema Layers. Wir kodieren keine Logik (wie chunk_size) in die Notizen. Das wird zentral in der types.yaml verwaltet. Das bedeutet für dich: Du kannst dich rein auf den Inhalt konzentrieren. Wenn wir die Chunking-Strategie ändern, müssen wir nicht 1000 Markdown-Dateien anfassen.