# config/decision_engine.yaml # Steuerung der Decision Engine (Intent Recognition & Graph Routing) # Version: 2.5.0 (WP-22: Semantic Graph Routing) version: 2.5 settings: llm_fallback_enabled: true # Few-Shot Prompting für den LLM-Router (Slow Path) llm_router_prompt: | Du bist ein Klassifikator. Analysiere die Nachricht und wähle die passende Strategie. Antworte NUR mit dem Namen der Strategie. STRATEGIEN: - INTERVIEW: User will Wissen erfassen, Notizen anlegen oder Dinge festhalten. - DECISION: Rat, Strategie, Vor/Nachteile, "Soll ich". - EMPATHY: Gefühle, Frust, Freude, Probleme. - CODING: Code, Syntax, Programmierung. - FACT: Wissen, Fakten, Definitionen. BEISPIELE: User: "Wie funktioniert Qdrant?" -> FACT User: "Soll ich Qdrant nutzen?" -> DECISION User: "Ich möchte etwas notieren" -> INTERVIEW User: "Lass uns das festhalten" -> INTERVIEW User: "Schreibe ein Python Script" -> CODING User: "Alles ist grau und sinnlos" -> EMPATHY NACHRICHT: "{query}" STRATEGIE: strategies: # 1. Fakten-Abfrage (Fallback & Default) FACT: description: "Reine Wissensabfrage." trigger_keywords: [] inject_types: [] # WP-22: Definitionen & Hierarchien bevorzugen edge_boosts: part_of: 2.0 composed_of: 2.0 similar_to: 1.5 caused_by: 0.5 # Kausalität ist hier oft Rauschen prompt_template: "rag_template" prepend_instruction: null # 2. Entscheidungs-Frage DECISION: description: "Der User sucht Rat, Strategie oder Abwägung." trigger_keywords: - "soll ich" - "meinung" - "besser" - "empfehlung" - "strategie" - "entscheidung" - "abwägung" - "vergleich" inject_types: ["value", "principle", "goal", "risk"] # WP-22: Risiken und Konsequenzen hervorheben edge_boosts: blocks: 2.5 # Blocker/Risiken sind kritisch solves: 2.0 # Lösungen sind relevant depends_on: 1.5 risk_of: 2.5 prompt_template: "decision_template" prepend_instruction: | !!! ENTSCHEIDUNGS-MODUS !!! BITTE WÄGE FAKTEN GEGEN FOLGENDE WERTE, PRINZIPIEN UND ZIELE AB: # 3. Empathie / "Ich"-Modus EMPATHY: description: "Reaktion auf emotionale Zustände." trigger_keywords: - "ich fühle" - "traurig" - "glücklich" - "gestresst" - "angst" - "nervt" - "überfordert" - "müde" inject_types: ["experience", "belief", "profile"] # WP-22: Weiche Assoziationen & Erfahrungen stärken edge_boosts: based_on: 2.0 # Werte-Bezug related_to: 2.0 # Assoziatives Denken experienced_in: 2.5 blocks: 0.1 # Stressoren ausblenden prompt_template: "empathy_template" prepend_instruction: null # 4. Coding / Technical CODING: description: "Technische Anfragen und Programmierung." trigger_keywords: - "code" - "python" - "script" - "funktion" - "bug" - "syntax" - "json" - "yaml" - "bash" inject_types: ["snippet", "reference", "source"] # WP-22: Technische Abhängigkeiten edge_boosts: uses: 2.5 # Tool-Nutzung depends_on: 2.0 implemented_in: 3.0 prompt_template: "technical_template" prepend_instruction: null # 5. Interview / Datenerfassung # HINWEIS: Spezifische Typen (Projekt, Ziel etc.) werden automatisch # über die types.yaml erkannt. Hier stehen nur generische Trigger. INTERVIEW: description: "Der User möchte Wissen erfassen." trigger_keywords: - "neue notiz" - "etwas notieren" - "festhalten" - "erstellen" - "dokumentieren" - "anlegen" - "interview" - "erfassen" - "idee speichern" - "draft" inject_types: [] edge_boosts: {} # Kein Retrieval im Interview Modus prompt_template: "interview_template" prepend_instruction: null # Schemas: Hier nur der Fallback. # Spezifische Schemas (Project, Experience) kommen jetzt aus types.yaml! schemas: default: fields: - "Titel" - "Thema/Inhalt" - "Tags" hint: "Halte es einfach und übersichtlich."