# config/decision_engine.yaml # Steuerung der Decision Engine (WP-06 + WP-07) # Hybrid-Modus: Keywords (Fast) + LLM Router (Smart Fallback) version: 1.3 settings: llm_fallback_enabled: true # Few-Shot Prompting für bessere SLM-Performance # Erweitert um INTERVIEW Beispiele 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 strukturieren, Notizen anlegen, Projekte starten ("Neu", "Festhalten"). - DECISION: Rat, Strategie, Vor/Nachteile, "Soll ich". - EMPATHY: Gefühle, Frust, Freude, Probleme, "Alles ist sinnlos", "Ich bin traurig". - CODING: Code, Syntax, Programmierung, Python. - FACT: Wissen, Fakten, Definitionen. BEISPIELE: User: "Wie funktioniert Qdrant?" -> FACT User: "Soll ich Qdrant nutzen?" -> DECISION User: "Ich möchte ein neues Projekt anlegen" -> INTERVIEW User: "Lass uns eine Entscheidung festhalten" -> INTERVIEW User: "Schreibe ein Python Script" -> CODING User: "Alles ist grau und sinnlos" -> EMPATHY User: "Mir geht es heute gut" -> EMPATHY NACHRICHT: "{query}" STRATEGIE: strategies: # 1. Fakten-Abfrage (Fallback & Default) FACT: description: "Reine Wissensabfrage." trigger_keywords: [] inject_types: [] 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" - "wert" - "prinzip" - "vor- und nachteile" - "abwägung" inject_types: ["value", "principle", "goal"] 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" inject_types: ["experience", "belief", "profile"] 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" inject_types: ["snippet", "reference", "source"] prompt_template: "technical_template" prepend_instruction: null # 5. Interview / Datenerfassung (WP-07) INTERVIEW: description: "Der User möchte strukturiertes Wissen erfassen (Projekt, Notiz, Idee)." trigger_keywords: - "neue notiz" - "neues projekt" - "neue entscheidung" - "neues ziel" - "festhalten" - "entwurf erstellen" - "interview" - "dokumentieren" - "erfassen" - "idee speichern" inject_types: [] # Keine RAG-Suche, reiner Kontext-Dialog prompt_template: "interview_template" prepend_instruction: null # LATE BINDING SCHEMAS: # Definition der Pflichtfelder pro Typ (korrespondiert mit types.yaml) # Wenn ein Typ hier fehlt, wird 'default' genutzt. schemas: default: fields: ["Titel", "Thema/Inhalt", "Tags"] hint: "Halte es einfach und übersichtlich." project: fields: ["Titel", "Zielsetzung (Goal)", "Status (draft/active)", "Wichtige Stakeholder", "Nächste Schritte"] hint: "Achte darauf, Abhängigkeiten zu anderen Projekten mit [[rel:depends_on]] zu erfragen." decision: fields: ["Titel", "Kontext (Warum entscheiden wir?)", "Getroffene Entscheidung", "Betrachtete Alternativen", "Status (proposed/final)"] hint: "Wichtig: Frage explizit nach den Gründen gegen die Alternativen." goal: fields: ["Titel", "Zeitrahmen (Deadline)", "Messkriterien (KPIs)", "Verbundene Werte"] hint: "Ziele sollten SMART formuliert sein." experience: fields: ["Titel", "Situation (Kontext)", "Erkenntnis (Learning)", "Emotionale Keywords (für Empathie-Suche)"] hint: "Fokussiere dich auf die persönliche Lektion." value: fields: ["Titel (Name des Werts)", "Definition (Was bedeutet das für uns?)", "Anti-Beispiel (Was ist es nicht?)"] hint: "Werte dienen als Entscheidungsgrundlage." principle: fields: ["Titel", "Handlungsanweisung", "Begründung"] hint: "Prinzipien sind härter als Werte."