diff --git a/docs/01_User_Manual/01_knowledge_design.md b/docs/01_User_Manual/01_knowledge_design.md index 8aee9bb..b64615c 100644 --- a/docs/01_User_Manual/01_knowledge_design.md +++ b/docs/01_User_Manual/01_knowledge_design.md @@ -9,7 +9,7 @@ context: "Regelwerk für das Erstellen von Notizen im Vault. Die 'Source of Trut # Knowledge Design Manual -**Quellen:** `knowledge_design.md`, `TYPE_REGISTRY_MANUAL.md` +**Quellen:** `knowledge_design.md`, `types.yaml` ## ⚡ Die 5 Goldenen Regeln (TL;DR) @@ -46,30 +46,63 @@ 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). +### 2.1 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.
**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. Typ-Referenz & Verhalten -Wähle den Typ, der die **Rolle** der Notiz am besten beschreibt. Der Typ steuert Chunking, Gewichtung und Kanten-Logik. +Wähle den Typ, der die **Rolle** der Notiz am besten beschreibt. Der Typ setzt die Defaults für die oben genannten Parameter. -| Typ | Beschreibung & Einsatzzweck | Rolle im Chat (Intent) | Matrix-Logik | +| Typ | Default Profil | Default Gewicht | Einsatzzweck | | :--- | :--- | :--- | :--- | -| **`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** | - | +| **`concept`** | `sliding_smart_edges` | 0.60 | Fachbegriffe, Theorien. Zeitloses Wissen. | +| **`project`** | `sliding_smart_edges` | 0.97 | Aktive Vorhaben mit Ziel und Status. | +| **`experience`**| `sliding_smart_edges` | 0.90 | Persönliche Lektionen (für Empathie). | +| **`decision`** | **`structured_..._strict`** | **1.00** | Entscheidungen. Muss atomar getrennt sein (Optionen vs. Ergebnis). | +| **`value`** | **`structured_..._strict`** | **1.00** | Werte/Prinzipien. | +| **`principle`**| `structured_..._strict_L3`| 0.95 | Handlungsleitlinien (Trennt bis Ebene H3). | +| **`goal`** | `sliding_smart_edges` | 0.95 | Strategische Ziele. | +| **`risk`** | `sliding_short` | 0.85 | Risiken (kurz und prägnant). | +| **`journal`** | `sliding_standard` | 0.80 | Zeitbezogene Logs. | +| **`source`** | `sliding_standard` | 0.50 | Externe Quellen (niedrig gewichtet). | --- @@ -171,7 +204,9 @@ title: ADR: Wahl von Qdrant type: decision status: final tags: [architektur, db] -# OVERRIDES: Wir wollen diese Notiz extrem wichtig machen und strikt trennen +# OVERRIDES: Wir wollen diese Notiz extrem wichtig machen und strikt trennen. +# Da "strict" genutzt wird, landet "Alternativen" in einem eigenen Chunk +# und vermischt sich nicht mit der Entscheidung selbst. chunking_profile: structured_smart_edges_strict retriever_weight: 1.5 ---