From 58e414041acfb65e3caaaa06a9711b8b42cc06e4 Mon Sep 17 00:00:00 2001 From: Lars Date: Tue, 30 Dec 2025 16:26:38 +0100 Subject: [PATCH] docs/06_Roadmap/06_handover_prompts.md aktualisiert --- docs/06_Roadmap/06_handover_prompts.md | 75 +++++++++++++++++++++++++- 1 file changed, 74 insertions(+), 1 deletion(-) diff --git a/docs/06_Roadmap/06_handover_prompts.md b/docs/06_Roadmap/06_handover_prompts.md index 9e7edef..3d1bbf7 100644 --- a/docs/06_Roadmap/06_handover_prompts.md +++ b/docs/06_Roadmap/06_handover_prompts.md @@ -356,4 +356,77 @@ Stelle sicher, dass dir folgende Dateien vorliegen, um die Logik zu verstehen un ## 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 +3. Erweiterung des Chat-Backends um die "Capture-to-Vault" Funktionalität. + +## WP-25: Advanced Reasoning Engine (Agentic RAG) + +**Status:** 🚀 High-Priority Upgrade +**Ziel:** Implementierung einer mehrstufigen Entscheidungs-Architektur ("Multi-Hop"). + +**Das Problem:** +Single-Step-Retrieval verwässert Ergebnisse. Eine Suche nach "Projekt-Entscheidung" findet oft operative Details, übersieht aber fundamentale Werte ("Wertekompass"), weil diese semantisch distanziert sind. + +**Die Lösung (Architektur):** +Wir ersetzen die flache Suche durch eine **Orchestrator-Logik**, die parallele Streams ausführt. + +--- + +### Teil A: Configuration Upgrade (`decision_engine.yaml`) +Erweitere die Config-Struktur, um statt einfacher Listen echte **Sub-Queries** zu definieren. + +*Neu (Vorschlag):* +```yaml +strategies: + DECISION: + description: "Komplexe Abwägung" + # Der Orchestrator führt diese 3 Streams parallel aus: + streams: + - name: "facts" + query_template: "Status und Fakten zu: {query}" + filter_types: ["project", "journal", "decision"] + edge_boosts: {part_of: 1.5} + + - name: "values" + query_template: "Welche Werte und Prinzipien sind relevant für: {query}" + filter_types: ["value", "principle", "belief"] + edge_boosts: {derived_from: 2.0, enforced_by: 2.0} # Findet den "Wertekompass"! + + - name: "risks" + query_template: "Risiken und Gefahren bei: {query}" + filter_types: ["risk", "obstacle"] + edge_boosts: {blocks: 2.5, impacts: 2.0} +``` + +### Teil B: Implementation (`DecisionEngine.py`) +1. **Decomposition:** Wenn eine Strategie `streams` definiert, darf nicht mehr *ein* `retrieve()` Aufruf erfolgen. +2. **Parallel Execution:** + * Iteriere über alle Streams. + * Führe für jeden Stream einen eigenen `retriever.retrieve()` aus – mit dessen spezifischen Filtern, Query und Edge-Boosts. +3. **Intermediate Summarization (Optional/Later):** + * (Für Version 1 reicht es, die Ergebnisse der Streams in markierten Blöcken an den Prompt zu geben). + +### Teil C: The Synthesis (Prompting) +Passe das Prompt-Template an, um die getrennten Streams zu nutzen: +```text +... +HIER SIND DIE FAKTEN: +{stream_results_facts} + +HIER SIND DIE RELEVANTEN WERTE/PRINZIPIEN: +{stream_results_values} + +HIER SIND DIE RISIKEN: +{stream_results_risks} + +AUFGABE: Wäge die Fakten gegen die Werte ab. +``` + +--- + +**Deine Aufgaben:** +1. **Refactor Config:** Zeige, wie die `decision_engine.yaml` für Multi-Stream angepasst wird. +2. **Orchestrator Logic:** Schreibe die Python-Logik, die diese Streams parallel abfeuert und die Ergebnisse aggregiert. +3. **Integration:** Nutze die `EdgeRegistry` (aus WP-22) für die Boosts in jedem Stream. + +Bitte bestätige die Übernahme dieser "Agentic Architecture" (WP-25). +