Introduce a new method for persisting rejected edges for audit purposes, enhancing traceability and validation logic. Update the decision engine to utilize a generic fallback template for improved error handling during LLM validation. Revise documentation across multiple files to reflect the new versioning, context, and features related to Phase 3 validation, including automatic mirror edges and note-scope zones. This update ensures better graph integrity and validation accuracy in the ingestion process.
460 lines
23 KiB
Markdown
460 lines
23 KiB
Markdown
---
|
||
doc_type: user_manual
|
||
audience: user, author
|
||
scope: vault, markdown, schema, agentic_validation, note_scope
|
||
status: active
|
||
version: 4.5.8
|
||
context: "Regelwerk für das Erstellen von Notizen im Vault. Die 'Source of Truth' für Autoren. Inkludiert WP-24c Phase 3 Agentic Edge Validation, automatische Spiegelkanten und Note-Scope Zonen."
|
||
---
|
||
|
||
# Knowledge Design Manual
|
||
|
||
**Quellen:** `knowledge_design.md`, `types.yaml`
|
||
|
||
## ⚡ Die 6 Goldenen Regeln (TL;DR)
|
||
|
||
1. **Atomare Gedanken:** Eine Notiz = Ein Thema. Vermischung führt zu "Context-Pollution", wodurch die KI unpräzise berät.
|
||
2. **Explizite Typen:** Der `type` im Frontmatter ist der wichtigste Hebel. Er entscheidet über die mathematische Gewichtung im System.
|
||
3. **Semantische Links:** Nutze das Vokabular aus der `01_edge_vocabulary.md`. Ersetze einfache Verweise durch funktionale Beziehungen wie `caused_by` oder `based_on`.
|
||
4. **Werte & Ziele definieren:** Ohne explizite Kriterien (`type: value`) fehlt dem System der Maßstab für eine Bewertung.
|
||
5. **Emotionales Bridging:** Dokumentiere deine Gefühle. Begriffe wie „Druck“ oder „Euphorie“ sind die Schnittstelle für die Empathie-Logik.
|
||
6. **Narrative Tiefe (Fleisch am Knochen):** Ein „Was“ ohne „Warum“ ist für die KI nur ein Fakt, für dich als Mensch aber bedeutungslos. Dokumentiere die Intention hinter deinen Taten.
|
||
---
|
||
|
||
## 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:**
|
||
|
||
```yaml
|
||
---
|
||
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
|
||
aliases: [KI Projekt, Codename Quickhack]
|
||
---
|
||
```
|
||
|
||
### **2.1 [NEU] Naming Convention: Intuitiv vs. Technisch**
|
||
Für die Benutzerfreundlichkeit und die intuitive Navigation in Obsidian wird die Nutzung von **menschenlesbaren Titeln** bevorzugt (z. B. `Mein Persönliches Leitbild 2025` statt `leitbild_identity`).
|
||
- Die technische Eindeutigkeit wird primär über die `id` im Frontmatter sichergestellt.
|
||
- Die KI nutzt die Semantik des Dateinamens als zusätzlichen Kontext-Vektor.
|
||
|
||
### 2.2 Advanced Overrides: Die KI-Steuerung übernehmen
|
||
|
||
|
||
In 95% der Fälle setzt der `type` (z.B. "concept") automatisch die richtigen Einstellungen. In Spezialfällen kannst du diese manuell im Frontmatter überschreiben, um das Verhalten der KI zu erzwingen.
|
||
|
||
#### A. `retriever_weight`: Die Sichtbarkeit steuern
|
||
Dieser Faktor (Default: 1.0) ist ein Multiplikator für das Ranking in der Vektorsuche. Er entscheidet, welche Notiz "gewinnt", wenn zwei Texte inhaltlich ähnlich sind.
|
||
|
||
* **Standard (1.0):** Normale Wichtigkeit.
|
||
* **Boost (1.2 - 2.0):** "Das hier ist die Wahrheit."
|
||
* *Einsatz:* Finale Entscheidungen, Kernprinzipien, die "Single Source of Truth".
|
||
* *Effekt:* Verdrängt weniger wichtige Notizen (z.B. Meeting-Protokolle) aus dem Kontext-Fenster der KI.
|
||
* **Deboost (0.5 - 0.8):** "Nur Kontext, keine Fakten."
|
||
* *Einsatz:* Glossare, externe Quellen (`source`), reine Datensammlungen.
|
||
* *Effekt:* Die Notiz wird nur gefunden, wenn man sehr spezifisch danach sucht.
|
||
|
||
#### B. `chunking_profile`: Die Zerstückelung steuern
|
||
Das Profil bestimmt, wie der Text für die Datenbank zerschnitten wird. Falsches Chunking zerreißt den Kontext. Wähle das Profil basierend auf der **Struktur** deines Textes.
|
||
|
||
| Profil-Name | Strategie | Einsatzzweck & Wirkung |
|
||
| :--- | :--- | :--- |
|
||
| **`sliding_standard`** | Sliding Window | **Der Allrounder.** Für Fließtexte (Tagebuch, Artikel). Der Text wird in überlappende Fenster geschnitten. Gut, wenn der Inhalt von oben nach unten fließt. |
|
||
| **`sliding_short`** | Sliding Window (Klein) | **Für Dichte.** Für Texte mit sehr hoher Informationsdichte (Glossare, Task-Listen), wo jeder Satz wichtig ist. Erzeugt viele kleine Chunks. |
|
||
| **`sliding_smart_edges`** | Sliding + AI | **Der Intelligente.** Wie Standard, aber das LLM analysiert jeden Chunk zusätzlich auf implizite Querverweise. Standard für `concept` und `project`. |
|
||
| **`structured_smart_edges`** | Heading Split (Soft) | **Für Strukturierte Texte.** Trennt an Überschriften (H2). *Besonderheit:* Wenn ein Abschnitt sehr kurz ist, wird er mit dem nächsten verschmolzen ("Soft Mode"), um den Kontext zu wahren. |
|
||
| **`structured_smart_edges_strict`** | Heading Split (Hard) | **Für Listen & Kataloge.** Trennt *zwingend* an jeder H2-Überschrift. Verhindert das Verschmelzen. <br>**Wichtig für:** `decision` (Option A darf nicht mit Option B verschmelzen), `value`, `profile`. |
|
||
|
||
**Beispiel für ein Override:**
|
||
|
||
```yaml
|
||
---
|
||
title: Sammlung meiner Passwörter-Regeln
|
||
type: list
|
||
# Wir erzwingen eine strikte Trennung, damit Regel 1 nicht mit Regel 2 vermischt wird.
|
||
chunking_profile: structured_smart_edges_strict
|
||
# Extrem wichtig, soll immer beachtet werden.
|
||
retriever_weight: 1.5
|
||
---
|
||
```
|
||
|
||
---
|
||
## 3. Frontmatter Felder und ihre Bedeutung
|
||
### 3.1 Typ-Referenz & Stream-Logik
|
||
|
||
Das System euriert Informationen in funktionalen Streams. Wähle den Typ danach aus, in welchem "Gedächtnis-Bereich" die Information landen soll.
|
||
|
||
### 3.1 Identity Stream (Der Kern / Das „Warum“)
|
||
Dieser Stream definiert deine stabilen Merkmale und inneren Kompasse.
|
||
|
||
| Typ | Gewicht | Chunking Profil | Zweck & Inhalt |
|
||
| :--- | :--- | :--- | :--- |
|
||
| **`value`** | 1.00 | `structured_strict` | Fundamentale Werte und moralische Maßstäbe. |
|
||
| **`principle`** | 0.95 | `structured_strict_L3` | Handlungsleitlinien mit tiefer Hierarchie (H3-Split). |
|
||
| **`trait`** | 1.10 | `structured_strict` | Charakterliche Stärken und Talente. |
|
||
| **`belief`** | 0.90 | `sliding_short` | Tiefe Überzeugungen über dich und die Gesellschaft. |
|
||
| **`profile`** | 0.70 | `structured_strict` | Rollenidentitäten (z. B. Vater, Mentor, Unternehmer). |
|
||
| **`need`** | 1.05 | `sliding_smart_edges` | Psychologische Grundbedürfnisse (z. B. Autonomie, Bindung). |
|
||
| **`motivation`**| 0.95 | `sliding_smart_edges` | Innere Antreiber und Quellen deiner Energie. |
|
||
| **`boundary`** | 0.90 | `sliding_smart_edges` | Deine persönlichen Grenzen und Integritäts-Leitplanken. |
|
||
| **`bias`** | 0.80 | `sliding_short` | Bekannte kognitive Verzerrungen und Denkfallen. |
|
||
|
||
### 3.1.2 Action Stream (Die Dynamik / Das „Was“)
|
||
Dieser Stream umfasst alles, was auf Umsetzung, Planung und aktuelle Zustände zielt.
|
||
|
||
| Typ | Gewicht | Chunking Profil | Zweck & Inhalt |
|
||
| :--- | :--- | :--- | :--- |
|
||
| **`project`** | 0.97 | `sliding_smart_edges` | Aktive Vorhaben mit Mission und Zielsetzung. |
|
||
| **`goal`** | 0.95 | `sliding_smart_edges` | Strategische Nordsterne und Zielzustände. |
|
||
| **`decision`** | 1.00 | `structured_strict` | Getroffene Entscheidungen (ADR-Logik). |
|
||
| **`risk`** | 0.85 | `sliding_short` | Potenzielle Gefahren und Bedrohungsszenarien. |
|
||
| **`obstacle`** | 1.00 | `structured_strict` | Aktuelle Hürden, Ängste und Blockaden. |
|
||
| **`task`** | 0.80 | `sliding_short` | Operative Aufgaben und Definition of Done. |
|
||
| **`skill`** | 0.90 | `sliding_smart_edges` | Fertigkeiten, Lernpfade und Meisterschaft. |
|
||
| **`habit`** | 0.85 | `sliding_short` | Routinen, Automatismen und Verhaltensmuster. |
|
||
| **`idea`** | 0.70 | `sliding_short` | Flüchtige Einfälle und Rohmaterial für Projekte. |
|
||
| **`state`** | 0.60 | `sliding_short` | Momentane Verfassung, Stimmung und Energielevel. |
|
||
|
||
### 3.1.3 History & Basis Stream (Die Evidenz / Das „Wann“)
|
||
Dieser Stream speichert deine Erlebnisse, Fakten und externes Wissen als Belege.
|
||
|
||
| Typ | Gewicht | Chunking Profil | Zweck & Inhalt |
|
||
| :--- | :--- | :--- | :--- |
|
||
| **`insight`** | 1.20 | `sliding_smart_edges` | Hochrelevante Erkenntnisse und Verhaltensmuster. |
|
||
| **`experience`**| 1.10 | `sliding_smart_edges` | Biografische Lektionen und prägende Erlebnisse. |
|
||
| **`event`** | 0.60 | `sliding_standard` | Chronologische Protokolle und Ereignisse. |
|
||
| **`journal`** | 0.80 | `sliding_standard` | Tägliche Logs und ungefilterte Gedanken. |
|
||
| **`person`** | 0.50 | `sliding_standard` | Kontaktprofile und soziale Vernetzung. |
|
||
| **`source`** | 0.50 | `sliding_standard` | Externe Quellen wie Bücher, Videos oder Artikel. |
|
||
| **`concept`** | 0.60 | `sliding_smart_edges` | Fachbegriffe, Theorien und zeitloses Wissen. |
|
||
| **`glossary`** | 0.40 | `sliding_short` | Kurze Begriffsdefinitionen. |
|
||
| **`default`** | 1.00 | `sliding_standard` | Fallback für alle nicht klassifizierten Notizen. |
|
||
|
||
### 3.2 Status und Bedeutung
|
||
|
||
| Status | Bedeutung | Auswirkung auf die KI |
|
||
| :--- | :--- | :--- |
|
||
| **`stable`** | **Geprüftes Wissen.** Die Notiz ist inhaltlich korrekt, finalisiert und verlässlich (Gold-Standard). | **🚀 Bevorzugt (Bonus):** Die KI vertraut diesen Inhalten mehr (+20% Relevanz-Score). Bei widersprüchlichen Infos gewinnt `stable`. |
|
||
| **`active`** | **Standard.** Aktuelle Arbeitsnotizen, Projekte oder Dokumentationen (Default, wenn leer). | **🔵 Neutral:** Standard-Gewichtung (Faktor 1.0). |
|
||
| **`draft`** | **Entwurf.** Brainstorming, unstrukturierte Mitschriften oder rohe Ideen. | **🔻 Gedämpft (Malus):** Die KI nutzt diese Infos nur, wenn es keine besseren Treffer gibt (Relevanz auf 50% reduziert). Reduziert "Rauschen" in den Antworten. |
|
||
| **`system`** | **Intern.** Konfigurationsdateien, technische Logs oder Admin-Skripte. | **❌ Ignoriert (Hard Skip):** Die Datei wird **nicht** in den Suchindex aufgenommen und ist für den Chat unsichtbar. |
|
||
| **`template`**| **Vorlage.** Leere Gerüste für neue Notizen (z.B. für Obsidian). | **❌ Ignoriert (Hard Skip):** Verhindert, dass leere Vorlagen als Suchergebnisse auftauchen. |
|
||
|
||
### Wann nutze ich welchen Status?
|
||
|
||
1. **Ideenfindung:** Setzen Sie neue Ideen immer auf **`draft`**. So können Sie frei schreiben, ohne dass die KI sofort "Halbwissen" als Fakten verkauft.
|
||
2. **Finalisierung:** Sobald eine Entscheidung getroffen oder ein Konzept fertig ist, ändern Sie den Status auf **`stable`**.
|
||
3. **Konfiguration:** Nutzen Sie **`system`** für Dateien wie die `01_edge_vocabulary.md`, damit die KI nicht die Definition der Kanten zitiert, wenn Sie eigentlich nach Inhalten suchen.
|
||
|
||
### 3.3 Aliases (Synonyme & Verlinkung)
|
||
|
||
Nutze `aliases: [Synonym]` für:
|
||
1. **Flüssiges Schreiben:** `[[RAG]]` statt `[[Retrieval Augmented Generation]]`.
|
||
2. **Semantische Anker:** Der Chat findet die Notiz auch über den Alias-Begriff.
|
||
|
||
|
||
Das optionale Feld `aliases` erlaubt es dir, einer Notiz alternative Titel oder Synonyme zu geben. Dies ist ein mächtiges Werkzeug für die Usability und die Suche.
|
||
|
||
```yaml
|
||
---
|
||
title: Leitbild – Handlungsprinzipien
|
||
aliases: [Prinzipien, Handlungsleitlinien, Entscheidungsprinzipien]
|
||
---
|
||
|
||
**Best Practices für Aliases**
|
||
|
||
Damit dein System sauber bleibt, beachte diese Regeln:
|
||
|
||
* ✅ **Akronyme & Abkürzungen:**
|
||
Nutze Aliases für technische Kürzel.
|
||
* *Note:* `Retrieval Augmented Generation`
|
||
* *Alias:* `[RAG, RAG-Architektur]`
|
||
* *Vorteil:* Du tippst im Fließtext nur `[[RAG]]` und bist fertig.
|
||
|
||
* ✅ **Projekt-Codenamen:**
|
||
Verbinde den offiziellen Titel mit dem Flur-Namen.
|
||
* *Note:* `Projekt Phoenix – Cloud Migration`
|
||
* *Alias:* `[Phoenix, Cloud-Projekt]`
|
||
|
||
* ❌ **Vermeide generische Begriffe (Namespace Pollution):**
|
||
Gib einer spezifischen Notiz niemals einen Alias, der ein allgemeines Wort ist.
|
||
* *Schlecht:* Alias `[Meeting]` für `2025-10-JourFixe`.
|
||
* *Folge:* Jedes Mal, wenn du das Wort "Meeting" tippst, schlägt Obsidian dir diesen einen alten Jour Fixe vor. Das zerstört den Schreibfluss.
|
||
|
||
* ❌ **Keine Plural-Wahn:**
|
||
Mindnet und Obsidian finden meist auch den Plural (Fuzzy Search). Du musst nicht `[Prinzip, Prinzipien, Prinzips]` anlegen. Ein Stammbegriff reicht oft.
|
||
|
||
---
|
||
|
||
## 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]]."
|
||
|
||
**Deep-Links zu Abschnitten (v2.9.1):**
|
||
Du kannst auch auf spezifische Abschnitte innerhalb einer Note verlinken:
|
||
> "Siehe [[rel:based_on Mein Leitbild#P3 – Disziplin]]."
|
||
|
||
Das System trennt automatisch den Note-Namen (`Mein Leitbild`) vom Abschnitts-Namen (`P3 – Disziplin`), sodass mehrere Links zur gleichen Note möglich sind, wenn sie auf verschiedene Abschnitte zeigen.
|
||
|
||
**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).
|
||
* **`prev` / `next` [NEU]**: Markiert chronologische oder evolutionäre Abfolgen (z.B. Leitbild-Evolution).
|
||
|
||
### 4.2 Callout-Edges (empfohlen)
|
||
Für Zusammenfassungen am Ende einer Notiz, oder eines Absatzes:
|
||
|
||
```markdown
|
||
> [!edge] related_to
|
||
> [[Vector Embeddings]]
|
||
> [[AI Agents]]
|
||
```
|
||
|
||
**Multi-Line Support (v2.9.1):**
|
||
Callout-Blocks mit mehreren Zeilen werden korrekt verarbeitet. Das System erkennt automatisch, wenn mehrere Links im gleichen Callout-Block stehen, und erstellt für jeden Link eine separate Kante (auch bei Deep-Links zu verschiedenen Sections).
|
||
|
||
**Format-agnostische De-Duplizierung:**
|
||
Wenn Kanten bereits via `[!edge]` Callout vorhanden sind, werden sie nicht mehrfach injiziert. Das System erkennt vorhandene Kanten unabhängig vom Format (Inline, Callout, Wikilink).
|
||
|
||
### 4.3 Automatische Spiegelkanten (Invers-Logik) - WP-24c v4.5.8
|
||
|
||
In Mindnet musst du Kanten **nicht** manuell in beide Richtungen pflegen. Das System erzeugt automatisch **Spiegelkanten** (Invers-Kanten) im Hintergrund.
|
||
|
||
**Wie es funktioniert:**
|
||
1. **Du setzt eine explizite Kante:** Z.B. `[[rel:depends_on Projekt Alpha]]` in Note A
|
||
2. **System erzeugt automatisch die Spiegelkante:** Note "Projekt Alpha" erhält automatisch `enforced_by: Note A`
|
||
3. **Vorteil:** Beide Richtungen sind durchsuchbar, ohne dass du beide manuell setzen musst
|
||
|
||
**Deine Aufgabe:** Setze die Kante in der Datei, die du gerade bearbeitest, so wie es der **logische Fluss** vorgibt.
|
||
|
||
* **Blick zurück (Rückwärtslink):** Wenn du ein Ergebnis dokumentierst, nutze `derived_from`, `based_on` oder `prev`.
|
||
* **Blick nach vorn (Vorwärtslink):** Wenn du einen Plan oder ein Protokoll schreibst, nutze `resulted_in`, `supports` oder `next`.
|
||
|
||
**System-Logik (Beispiele):**
|
||
- Schreibst du in Note A: `[[rel:next Projekt B]]`, erzeugt das System automatisch: `Projekt B prev: Note A`
|
||
- Schreibst du in Note B: `[[rel:derived_from Note A]]`, erzeugt das System automatisch: `Note A resulted_in: Note B`
|
||
- Schreibst du in Note A: `[[rel:impacts Projekt B]]`, erzeugt das System automatisch: `Projekt B impacted_by: Note A`
|
||
|
||
**Wichtig:**
|
||
- **Explizite Kanten haben Vorrang:** Wenn du bereits beide Richtungen explizit gesetzt hast, wird keine automatische Spiegelkante erzeugt (keine Duplikate)
|
||
- **Höhere Wirksamkeit expliziter Kanten:** Explizit gesetzte Kanten haben höhere Priorität und Confidence-Werte als automatisch generierte Spiegelkanten
|
||
- **Schutz vor Manipulation:** System-Kanten (`belongs_to`, `next`, `prev`) können nicht manuell überschrieben werden (Provenance Firewall)
|
||
|
||
**Vorteil:** Keine redundante Datenpflege, kein "Link-Nightmare", volle Konsistenz im Graphen. Beide Richtungen sind durchsuchbar, was die Auffindbarkeit von Informationen verdoppelt.
|
||
|
||
### 4.4 Explizite vs. Validierte Kanten (Phase 3 Validierung) - WP-24c v4.5.8
|
||
|
||
Mindnet unterscheidet zwischen **expliziten Kanten** (sofort übernommen) und **validierten Kanten** (Phase 3 LLM-Prüfung).
|
||
|
||
#### Explizite Kanten (Höchste Priorität)
|
||
|
||
Diese Kanten werden **sofort** in den Graph übernommen, ohne LLM-Validierung:
|
||
|
||
1. **Typed Relations im Text:**
|
||
```markdown
|
||
Diese Entscheidung [[rel:depends_on Performance-Analyse]] wurde getroffen.
|
||
```
|
||
|
||
2. **Callout-Edges:**
|
||
```markdown
|
||
> [!edge] depends_on
|
||
> [[Performance-Analyse]]
|
||
> [[Projekt Alpha]]
|
||
```
|
||
|
||
3. **Note-Scope Zonen:**
|
||
```markdown
|
||
## Smart Edges
|
||
[[rel:depends_on|System-Architektur]]
|
||
[[rel:part_of|Gesamt-System]]
|
||
```
|
||
*(Siehe auch: [Note-Scope Zonen](NOTE_SCOPE_ZONEN.md))*
|
||
|
||
**Vorteil expliziter Kanten:**
|
||
- ✅ **Sofortige Übernahme:** Keine Wartezeit auf LLM-Validierung
|
||
- ✅ **Höchste Priorität:** Werden immer beibehalten, auch bei Duplikaten
|
||
- ✅ **Höhere Confidence:** Explizite Kanten haben `confidence: 1.0` (maximal)
|
||
- ✅ **Keine Validierungs-Kosten:** Keine LLM-Aufrufe erforderlich
|
||
|
||
#### Validierte Kanten (Phase 3 - candidate: Präfix)
|
||
|
||
Kanten, die in speziellen Validierungs-Zonen stehen, erhalten das `candidate:` Präfix und werden in **Phase 3** durch ein LLM semantisch geprüft:
|
||
|
||
**Format:**
|
||
```markdown
|
||
### Unzugeordnete Kanten
|
||
|
||
related_to:Mögliche Verbindung
|
||
depends_on:Unsicherer Link
|
||
uses:Experimentelle Technologie
|
||
```
|
||
|
||
**Validierungsprozess:**
|
||
1. **Extraktion:** Links aus `### Unzugeordnete Kanten` erhalten `candidate:` Präfix
|
||
2. **Phase 3 Validierung:** LLM prüft semantisch: "Passt diese Verbindung zum Kontext?"
|
||
3. **Erfolg (VERIFIED):** `candidate:` Präfix wird entfernt, Kante wird persistiert
|
||
4. **Ablehnung (REJECTED):** Kante wird **nicht** in die Datenbank geschrieben
|
||
|
||
**Kontext-Optimierung:**
|
||
- **Note-Scope Kanten:** LLM nutzt Note-Summary oder gesamten Note-Text (besser für globale Verbindungen)
|
||
- **Chunk-Scope Kanten:** LLM nutzt spezifischen Chunk-Text (besser für lokale Referenzen)
|
||
|
||
**Wann nutze ich validierte Kanten?**
|
||
- ✅ **Explorative Verbindungen:** Du bist unsicher, ob die Verbindung wirklich passt
|
||
- ✅ **Experimentelle Links:** Du willst testen, ob eine Verbindung semantisch Sinn macht
|
||
- ✅ **Automatische Vorschläge:** Das System hat Links vorgeschlagen, die du prüfen lassen willst
|
||
|
||
**Wann nutze ich explizite Kanten?**
|
||
- ✅ **Sichere Verbindungen:** Du bist dir sicher, dass die Verbindung korrekt ist
|
||
- ✅ **Schnelle Übernahme:** Du willst keine Wartezeit auf Validierung
|
||
- ✅ **Höchste Priorität:** Die Verbindung soll definitiv im Graph sein
|
||
|
||
*(Siehe auch: [LLM-Validierung von Links](LLM_VALIDIERUNG_VON_LINKS.md))*
|
||
|
||
### 4.5 Note-Scope Zonen (Globale Verbindungen) - WP-24c v4.2.0
|
||
|
||
Für Verbindungen, die der **gesamten Note** zugeordnet werden sollen (nicht nur einem spezifischen Chunk), nutze **Note-Scope Zonen**:
|
||
|
||
```markdown
|
||
## Smart Edges
|
||
|
||
[[rel:depends_on|Projekt-Übersicht]]
|
||
[[rel:part_of|Größeres System]]
|
||
```
|
||
|
||
**Vorteile:**
|
||
- ✅ **Globale Verbindungen:** Links gelten für die gesamte Note, nicht nur einen Abschnitt
|
||
- ✅ **Höchste Priorität:** Note-Scope Links haben Vorrang bei Duplikaten
|
||
- ✅ **Bessere Validierung:** In Phase 3 nutzt das LLM den gesamten Note-Kontext (Note-Summary/Text)
|
||
|
||
**Wann nutze ich Note-Scope?**
|
||
- ✅ **Projekt-Abhängigkeiten:** "Dieses Projekt hängt von X ab" (gilt für die ganze Note)
|
||
- ✅ **System-Zugehörigkeit:** "Dieses Konzept ist Teil von Y" (gilt für die ganze Note)
|
||
- ✅ **Globale Prinzipien:** "Diese Entscheidung basiert auf Prinzip Z" (gilt für die ganze Note)
|
||
|
||
**Wann nutze ich Chunk-Scope (Standard)?**
|
||
- ✅ **Lokale Referenzen:** "In diesem Abschnitt nutzen wir Technologie X" (nur für diesen Abschnitt)
|
||
- ✅ **Spezifische Kontexte:** Links, die nur in einem bestimmten Textabschnitt relevant sind
|
||
|
||
*(Siehe auch: [Note-Scope Zonen - Detaillierte Anleitung](NOTE_SCOPE_ZONEN.md))*
|
||
|
||
---
|
||
|
||
## 5. Schreiben für den KI-Zwilling (Szenarien)
|
||
|
||
Damit der **RAG-Chat** dich berät, musst du "Futter" für die Decision Engine liefern.
|
||
|
||
### 5.1 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`.
|
||
|
||
* **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:**
|
||
```yaml
|
||
---
|
||
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.
|
||
|
||
### 5.2 **Szenario C: Forward-Mapping (Lücken-Analyse) [NEU]**
|
||
* **Ziel:** Strategische Wissenslücken füllen.
|
||
* **Vorgehen:** Erstelle Hub-Notizen mit Forward-Links auf noch nicht existierende Dateien (z. B. `[[Besten Version meiner Selbst]]`).
|
||
* **Effekt:** Das System erkennt die semantische Bedeutung des geplanten Wissens und kann proaktiv Fragen stellen, um diese Lücken zu schließen.
|
||
|
||
### 5.3 **Szenario D: Narratives Gedächtnis (Intention) [NEU]**
|
||
* **Ziel:** Das System soll verstehen, *warum* eine Entscheidung getroffen wurde, um in ähnlichen künftigen Situationen konsistent zu beraten.
|
||
* **Vorgehen:** Nutze in `journal`- oder `experience`-Notizen Abschnitte für "Hintergrund" und "Interpretation".
|
||
* **Beispiel:** Statt "Wert: Disziplin" schreibe "Ich wähle Disziplin, weil ich in meiner Kindheit erlebt habe, wie Willkür schadet."
|
||
* **Effekt:** Die KI spiegelt nicht nur die Regel, sondern die Überzeugung dahinter.
|
||
|
||
### 5.4 Szenario C: Forward-Mapping (Lücken-Analyse)
|
||
Setze bewusst Links auf Dateien, die noch nicht existieren (z.B. `[[Die beste Version meiner selbst]]`). Die KI erkennt diese semantischen Lücken und stellt im Chat proaktive Fragen, um diese Felder mit dir zu füllen.
|
||
|
||
### 5.5 Szenario D: Narratives Gedächtnis
|
||
Dokumentiere das "Warum" (Fleisch am Knochen). Wenn du schreibst: *"Ich wähle Disziplin, weil ich Willkür als Kind schmerzhaft erlebt habe"*, versteht die KI die emotionale Kausalität und kann dich in Krisen an diesen Ursprung erinnern.
|
||
---
|
||
|
||
## 6. Best Practices & Beispiele
|
||
|
||
### 6.1 Beispiel: Projekt-Notiz (Standard)
|
||
Projekte profitieren von `depends_on`, um Abhängigkeiten zu klären.
|
||
|
||
```markdown
|
||
---
|
||
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.
|
||
|
||
```markdown
|
||
---
|
||
id: 20251120-adr-vektordb
|
||
title: ADR: Wahl von Qdrant
|
||
type: decision
|
||
status: final
|
||
tags: [architektur, db]
|
||
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 Overrides jederzeit die Möglichkeit, aus diesem Standard auszubrechen. |