# config/decision_engine.yaml # VERSION: 3.2.2 (WP-25a: Decoupled MoE Logic) # STATUS: Active # DESCRIPTION: Zentrale Orchestrierung der Multi-Stream-Engine. # FIX: # - Auslagerung der LLM-Profile in llm_profiles.yaml zur zentralen Wartbarkeit. # - Integration von compression_thresholds zur Inhaltsverdichtung (WP-25a). # - 100% Erhalt aller WP-25 Edge-Boosts und Filter-Typen (v3.1.6). version: 3.2 settings: llm_fallback_enabled: true # "auto" nutzt den globalen Default-Provider aus der .env router_provider: "auto" # Verweis auf den Intent-Klassifizierer in der prompts.yaml router_prompt_key: "intent_router_v1" # Pfad zur neuen Experten-Konfiguration (WP-25a Architektur-Cleanliness) profiles_config_path: "config/llm_profiles.yaml" router_profile: "compression_fast" # --- EBENE 1: STREAM-LIBRARY (Bausteine basierend auf types.yaml v2.7.0) --- streams_library: values_stream: name: "Identität & Ethik" # Referenz auf Experten-Profil (z.B. lokal via Ollama für Privacy) llm_profile: "identity_safe" compression_profile: "identity_safe" compression_threshold: 2500 query_template: "Welche meiner Werte und Prinzipien betreffen: {query}" filter_types: ["value", "principle", "belief", "trait", "boundary", "need", "motivation"] top_k: 5 edge_boosts: guides: 3.0 enforced_by: 2.5 based_on: 2.0 facts_stream: name: "Operative Realität" llm_profile: "synthesis_pro" compression_profile: "compression_fast" compression_threshold: 3500 query_template: "Status, Ressourcen und Fakten zu: {query}" filter_types: ["project", "decision", "task", "goal", "event", "state"] top_k: 5 edge_boosts: part_of: 2.0 depends_on: 1.5 implemented_in: 1.5 biography_stream: name: "Persönliche Erfahrung" llm_profile: "synthesis_pro" compression_profile: "compression_fast" compression_threshold: 3000 query_template: "Welche Erlebnisse habe ich im Kontext von {query} gemacht?" filter_types: ["experience", "journal", "profile", "person"] top_k: 3 edge_boosts: related_to: 1.5 experienced_in: 2.0 expert_for: 2.5 risk_stream: name: "Risiko-Radar" llm_profile: "synthesis_pro" compression_profile: "compression_fast" compression_threshold: 2500 query_template: "Gefahren, Hindernisse oder Risiken bei: {query}" filter_types: ["risk", "obstacle", "bias"] top_k: 3 edge_boosts: blocks: 2.5 impacts: 2.0 risk_of: 2.5 tech_stream: name: "Wissen & Technik" llm_profile: "tech_expert" compression_profile: "compression_fast" compression_threshold: 4500 query_template: "Inhaltliche Details und Definitionen zu: {query}" filter_types: ["concept", "source", "glossary", "idea", "insight", "skill", "habit"] top_k: 5 edge_boosts: uses: 2.5 implemented_in: 3.0 # --- EBENE 2: STRATEGIEN (Finale Komposition via MoE-Profile) --- strategies: FACT_WHEN: description: "Abfrage von exakten Zeitpunkten und Terminen." llm_profile: "synthesis_pro" trigger_keywords: ["wann", "datum", "uhrzeit", "zeitpunkt"] use_streams: ["facts_stream", "biography_stream", "tech_stream"] prompt_template: "fact_synthesis_v1" FACT_WHAT: description: "Abfrage von Definitionen, Listen und Inhalten." llm_profile: "synthesis_pro" trigger_keywords: ["was ist", "welche sind", "liste", "übersicht", "zusammenfassung"] use_streams: ["facts_stream", "tech_stream", "biography_stream"] prompt_template: "fact_synthesis_v1" DECISION: description: "Der User sucht Rat, Strategie oder Abwägung." llm_profile: "synthesis_pro" trigger_keywords: ["soll ich", "sollte ich", "entscheidung", "abwägen", "priorität", "empfehlung"] use_streams: ["values_stream", "facts_stream", "risk_stream"] prompt_template: "decision_synthesis_v1" prepend_instruction: | !!! ENTSCHEIDUNGS-MODUS (AGENTIC MULTI-STREAM) !!! Analysiere die Fakten vor dem Hintergrund meiner Werte und evaluiere die Risiken. Wäge ab, ob das Vorhaben mit meiner langfristigen Identität kompatibel ist. EMPATHY: description: "Reaktion auf emotionale Zustände." llm_profile: "synthesis_pro" trigger_keywords: ["fühle", "traurig", "glücklich", "stress", "angst"] use_streams: ["biography_stream", "values_stream"] prompt_template: "empathy_template" CODING: description: "Technische Anfragen und Programmierung." llm_profile: "tech_expert" trigger_keywords: ["code", "python", "script", "bug", "syntax"] use_streams: ["tech_stream", "facts_stream"] prompt_template: "technical_template" INTERVIEW: description: "Der User möchte Wissen erfassen (Eingabemodus)." llm_profile: "compression_fast" use_streams: [] prompt_template: "interview_template"