From cf302e8334b42e1a05a0be0ffb2f10f073930543 Mon Sep 17 00:00:00 2001 From: Lars Date: Sat, 27 Dec 2025 09:52:17 +0100 Subject: [PATCH] Import und ingestion auf den neuen Prozess umgestellt --- docs/06_Roadmap/06_active_roadmap.md | 54 +++++++++++++++++++------- docs/06_Roadmap/06_handover_prompts.md | 43 +++++++++++++++++++- 2 files changed, 83 insertions(+), 14 deletions(-) diff --git a/docs/06_Roadmap/06_active_roadmap.md b/docs/06_Roadmap/06_active_roadmap.md index 755f66e..59df0a0 100644 --- a/docs/06_Roadmap/06_active_roadmap.md +++ b/docs/06_Roadmap/06_active_roadmap.md @@ -185,44 +185,42 @@ Der bisherige WP-15 Ansatz litt unter Halluzinationen (erfundene Kantentypen), h 2. **Single Source of Truth (SSOT):** Die Registry nutzt `01_edge_vocabulary.md` als führende Konfiguration. 3. **Self-Learning Loop:** Protokollierung unbekannter Kanten in `unknown_edges.jsonl`. -## 23: Agentic Multi-Stream Reasoning (Mindnet 2025) +### WP-23: Agentic Multi-Stream Reasoning (Mindnet 2025) -### 1. Zielsetzung & Problemstellung +#### 1. Zielsetzung & Problemstellung Das bisherige System basiert auf einem globalen Scoring-Modell, bei dem Notizen unterschiedlicher Typen (z. B. `insight` vs. `belief`) in einem einzigen Retrieval-Topf konkurrieren. Dies führt dazu, dass leiser gewichtete, aber fundamentale Identitätsmerkmale oft durch hochgewichtete aktuelle Erkenntnisse verdrängt werden. Ziel dieses Pakets ist die Einführung einer parallelen **Stream-Architektur**, um die Vielschichtigkeit menschlicher Entscheidungsprozesse (Werte + Erfahrung + Absicht) im LLM-Kontext zu garantieren. ---- - -### 2. Funktionsbeschreibung: Die Streams +#### 2. Funktionsbeschreibung: Die Streams Die Daten aus der `types.yaml` werden in drei logische Verarbeitungseinheiten unterteilt: -#### A. Identity Stream (Die Wahrheitsebene) +##### A. Identity Stream (Die Wahrheitsebene) * **Inhalt:** `value`, `belief`, `trait`, `principle`, `need`, `boundary`, `bias`. * **Zweck:** Definition des moralischen Kompasses, der psychologischen Grundbedürfnisse und kognitiven Muster. * **Wirkung:** Liefert das "Warum" hinter jeder Handlung. -#### B. History Stream (Die Evidenzebene) +##### B. History Stream (Die Evidenzebene) * **Inhalt:** `experience`, `event`, `source`, `journal`, `person`. * **Zweck:** Bereitstellung empirischer Belege aus der Vergangenheit und sozialer Kontexte. * **Wirkung:** Verankert die Antwort in real erlebten Mustern und Fakten. -#### C. Action Stream (Die Dynamikebene) +##### C. Action Stream (Die Dynamikebene) * **Inhalt:** `project`, `decision`, `goal`, `task`, `risk`, `motivation`, `habit`, `state`. * **Zweck:** Analyse der aktuellen Richtung, geplanter Vorhaben und des gegenwärtigen Zustands. * **Wirkung:** Liefert den Kontext für die Umsetzung und zukünftige Ziele. -### 3. Technische Wirkungsweise (Solution Sketch) +#### 3. Technische Wirkungsweise (Solution Sketch) -#### Schritt 1: Query-Decomposition +##### Schritt 1: Query-Decomposition Ein initialer Klassifizierungs-Agent analysiert die Nutzeranfrage und bestimmt, welcher Stream primär angesprochen werden muss (z. B. "Wie soll ich mich entscheiden?" boostet den Identity Stream). -#### Schritt 2: Parallel Stream Retrieval +##### Schritt 2: Parallel Stream Retrieval Anstelle einer Suche werden drei unabhängige Vektor-Suchen mit Typ-Filtern durchgeführt: * **Search_A (Identity):** Top-5 Ergebnisse aus Identitäts-Notizen. * **Search_B (History):** Top-5 Ergebnisse aus biografischen/externen Notizen. * **Search_C (Action):** Top-5 Ergebnisse aus operativen/strategischen Notizen. -#### Schritt 3: Agentic Synthesis (The Reasoning) +##### Schritt 3: Agentic Synthesis (The Reasoning) Ein Synthese-Agent (LLM) erhält die aggregierten Ergebnisse in getrennten Sektionen. Die Anweisung lautet: 1. **Prüfung:** Steht das aktuelle Vorhaben (Action) im Einklang mit den Werten (Identity)? 2. **Abgleich:** Welche vergangenen Erfahrungen (History) stützen oder widersprechen diesem Weg? @@ -230,12 +228,39 @@ Ein Synthese-Agent (LLM) erhält die aggregierten Ergebnisse in getrennten Sekti -### 4. Erwartete Ergebnisse +#### 4. Erwartete Ergebnisse * **Höhere Resonanz:** Antworten wirken authentischer, da sie explizit auf das Wertesystem des Nutzers Bezug nehmen. * **Widerspruchs-Erkennung:** Das System kann den Nutzer aktiv warnen, wenn ein Projekt gegen seine `principles` oder `needs` verstößt. * **Robustes Retrieval:** Wichtige Identitäts-Informationen gehen nicht mehr im "Rauschen" von hunderten Journal-Einträgen verloren. --- +### WP-24 – Proactive Discovery & Agentic Knowledge Mining +**Status:** 🚀 In Planung (Nächster Architektur-Sprung) +**Ziel:** Transformation von Mindnet von einem reaktiven Archiv zu einem aktiven Denkpartner. Das System soll aktiv Wissenslücken schließen und verborgene Querverbindungen in großen Vaults sowie in Chat-Dialogen aufspüren. + +**Herausforderung:** +1. **Silo-Effekt:** Bei wachsenden Vaults vergisst der Nutzer existierende Notizen und erstellt redundante Inhalte ohne Verknüpfung. +2. **Insight-Verlust:** Im Chat entstehen wertvolle Synthesen, die momentan im flüchtigen Chat-Log vergraben bleiben. + +**Lösungsskizze & Strategie:** + +#### A. Proactive Discovery (Vault-Scanning) +Das System nutzt die existierende `candidate_pool` Logik aus WP-15b, befüllt diese jedoch automatisiert: +* **Vector Similarity Search**: Beim Import einer Note (oder als periodischer Hintergrundprozess) sucht der neue `RecommenderService` in Qdrant nach den Top-X semantisch ähnlichsten Chunks im gesamten Vault. +* **Auto-Injection**: Diese Funde werden automatisch als `related_to` Kandidaten in den `candidate_pool` der neuen Note injiziert. +* **WP-15b Filter**: Das LLM validiert diese Vorschläge im zweiten Pass der Ingestion gegen den Kontext. Nur was semantisch wirklich passt, wird als Kante im Graphen persistiert. + +#### B. Agentic Knowledge Mining (Chat-to-Vault) +Integration von Informationen aus dem Dialog direkt in den Graphen: +* **Intent Detection**: Das Chat-Backend erkennt „notierwürdige“ Informationen (z.B. neue Prinzipien, Strategie-Entwürfe oder Werte-Anpassungen). +* **Auto-Drafting**: Das LLM nutzt das `interview_template`, um aus dem Chat-Fragment eine valide Markdown-Datei mit Frontmatter (Status: `draft`) zu generieren. +* **Real-Time Linking**: Die neue Datei wird sofort dem „Discovery-Lauf“ (Teil A) unterzogen, um sie mit dem bestehenden Wissensschatz zu vernetzen. +* **User Review**: Die generierte Notiz erscheint im `00_Inbox` Ordner. Der Nutzer muss lediglich den Status auf `stable` setzen, um die Entdeckungen final zu integrieren. + +**Erwartete Ergebnisse:** +* Eliminierung von Wissens-Silos durch automatische Vernetzung. +* Nahtloser Übergang von der Exploration (Chat) zur Konsolidierung (Vault). +* Vermeidung von Dubletten durch Ähnlichkeits-Warnungen beim Import. ## 4. Abhängigkeiten & Release-Plan ```mermaid @@ -244,6 +269,8 @@ graph TD WP19a --> WP17(Memory) WP15(Smart Edges) --> WP16(Auto-Discovery) WP15 --> WP14(Refactoring) + WP15(Smart Edges) --> WP15b(Candidate Validation) + WP15b --> WP24(Proactive Discovery) WP03(Import) --> WP18(Health Check) WP03 --> WP13(MCP) WP04 --> WP13(MCP) @@ -253,4 +280,5 @@ graph TD WP22 --> WP14 WP15(Smart Edges) --> WP21 WP20(Cloud Hybrid) --> WP15b + WP24 --> WP23(Multi-Stream Reasoning) ``` \ No newline at end of file diff --git a/docs/06_Roadmap/06_handover_prompts.md b/docs/06_Roadmap/06_handover_prompts.md index 3aab30f..9e7edef 100644 --- a/docs/06_Roadmap/06_handover_prompts.md +++ b/docs/06_Roadmap/06_handover_prompts.md @@ -315,4 +315,45 @@ Die Gewichtung findet **Pre-Retrieval** (im Scoring-Algorithmus) statt, **nicht* 2. Zeige die Integration in `ingestion.py` (Status-Filter & Edge-Validierung). 3. Zeige die Erweiterung in `scoring.py` (Status-Gewicht & Dynamic Edge Boosting). -Bitte bestätige die Übernahme dieses Architektur-Pakets. \ No newline at end of file +Bitte bestätige die Übernahme dieses Architektur-Pakets. + +--- + +# Übergabe Arbeitspaket: WP-24 – Proactive Discovery & Agentic Knowledge Mining + +## 1. Projekt-Kontext +Wir arbeiten an **Mindnet**, einem System für einen "digitalen Zwilling". Das System nutzt einen Wissensgraph (Qdrant), asynchrone Ingestion und eine hybride LLM-Infrastruktur (Cloud/Lokal). + +## 2. Status Quo (Abgeschlossen: WP-15b) +Das Arbeitspaket **WP-15b (Candidate-Based Validation)** wurde gerade erfolgreich implementiert. +* **Two-Pass Workflow:** In Pass 1 wird ein globaler `LocalBatchCache` aufgebaut (ID, Titel, Dateiname). In Pass 2 findet eine semantische binäre Validierung (YES/NO) statt. +* **Edge Inheritance:** Kanten werden aus Sektionen und Frontmatter an Chunks vererbt. +* **Candidate Pool:** Nur Kanten in der Sektion `## Unzugeordnete Kanten` (Provenienz: `global_pool`) werden vom LLM geprüft. Explizite Kanten (`[!edge]` im Text) werden direkt übernommen. + +## 3. Auftrag: WP-24 – Proactive Discovery & Agentic Knowledge Mining +Das Ziel ist die Transformation von Mindnet zu einem aktiven Denkpartner. + +### Teil A: Proactive Discovery (Vault-Scanning) +* **Mechanismus:** Automatisches Befüllen des `candidate_pool` via Vektor-Ähnlichkeit. +* **Logik:** Beim Import einer Note sucht ein neuer Service in Qdrant nach den semantisch ähnlichsten Chunks im Vault und fügt diese als `related_to` Kandidaten hinzu. +* **Filter:** Die WP-15b Validierungs-Logik filtert diese Vorschläge anschließend. + +### Teil B: Agentic Knowledge Mining (Chat-to-Vault) +* **Mechanismus:** Extraktion notierwürdiger Informationen aus dem Chat. +* **Logik:** Erstellung von Markdown-Drafts im `00_Inbox` Ordner basierend auf dem Chat-Kontext unter Nutzung des `interview_template`. + +## 4. Erforderliche Code-Basis (Dateien) +Stelle sicher, dass dir folgende Dateien vorliegen, um die Logik zu verstehen und zu erweitern: + +1. **`app/core/ingestion.py` (v2.12.2):** Zentraler Two-Pass Workflow und Validierungsgate. +2. **`app/core/chunker.py` (v3.2.0):** Vorbereitung des Candidate-Pools und Vererbungslogik. +3. **`scripts/import_markdown.py` (v2.4.1):** Entry-Point und Pre-Scan Harvester für den Cache. +4. **`app/core/derive_edges.py` (v2.1.0):** Aggregator für Kanten mit Provenance-Priorisierung. +5. **`app/services/edge_registry.py` (v0.8.0):** Validierung gegen das Kanten-Vokabular. +6. **`config/prompts.yaml` (v2.6.0):** Enthält die `edge_validation` und `interview_template` Prompts. +7. **`06_active_roadmap.md` (v2.9.0):** Enthält die detaillierte Planung für WP-24. + +## 5. Nächste technische Schritte +1. Entwurf eines `RecommenderService` für die Vektor-Suche in Qdrant. +2. Integration des Services in die `ingestion.py` zur automatischen Befüllung des `candidate_pool`. +3. Erweiterung des Chat-Backends um die "Capture-to-Vault" Funktionalität. \ No newline at end of file