mindnet/config/decision_engine.yaml

144 lines
4.7 KiB
YAML

# config/decision_engine.yaml
# VERSION: 3.1.6 (WP-25: Multi-Stream Agentic RAG - Final Release)
# STATUS: Active
# DoD:
# - Strikte Nutzung der Typen aus types.yaml (v2.7.0).
# - Fix für Projekt-Klassifizierung via Keyword-Fast-Path (Auflösung Kollision).
# - 100% Erhalt aller Stream-Parameter und Edge-Boosts.
version: 3.1
settings:
llm_fallback_enabled: true
# "auto" nutzt den in MINDNET_LLM_PROVIDER gesetzten Standard.
router_provider: "auto"
# Verweist auf das Template in prompts.yaml
router_prompt_key: "intent_router_v1"
# --- EBENE 1: STREAM-LIBRARY (Bausteine basierend auf types.yaml) ---
# Synchronisiert mit types.yaml v2.7.0
streams_library:
values_stream:
name: "Identität & Ethik"
query_template: "Welche meiner Werte und Prinzipien betreffen: {query}"
# Nur Typen aus types.yaml
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"
query_template: "Status, Ressourcen und Fakten zu: {query}"
# Nur Typen aus types.yaml
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"
query_template: "Welche Erlebnisse habe ich im Kontext von {query} gemacht?"
# Nur Typen aus types.yaml
filter_types: ["experience", "journal", "profile", "person"]
top_k: 3
edge_boosts:
related_to: 1.5
experienced_in: 2.0
risk_stream:
name: "Risiko-Radar"
query_template: "Gefahren, Hindernisse oder Risiken bei: {query}"
# Nur Typen aus types.yaml
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"
query_template: "Inhaltliche Details und Definitionen zu: {query}"
# Nur Typen aus types.yaml
filter_types: ["concept", "source", "glossary", "idea", "insight", "skill", "habit"]
top_k: 5
edge_boosts:
uses: 2.5
implemented_in: 3.0
# --- EBENE 2: STRATEGIEN (Komposition & Routing) ---
# Orchestriert das Zusammenspiel der Streams basierend auf dem Intent.
strategies:
# Spezialisierte Fact-Strategie für zeitliche Fragen
FACT_WHEN:
description: "Abfrage von exakten Zeitpunkten und Terminen."
preferred_provider: "openrouter"
# FAST PATH: Harte Keywords für zeitliche Fragen
trigger_keywords: ["wann", "datum", "uhrzeit", "zeitpunkt"]
use_streams:
- "facts_stream"
- "biography_stream"
- "tech_stream"
prompt_template: "fact_synthesis_v1"
# Spezialisierte Fact-Strategie für inhaltliche Fragen & Listen
FACT_WHAT:
description: "Abfrage von Definitionen, Listen und Inhalten."
preferred_provider: "openrouter"
# FIX v3.1.6: "projekt" entfernt, um Kollision mit DECISION ("Soll ich Projekt...") zu vermeiden.
trigger_keywords: ["was ist", "welche sind", "liste", "übersicht", "zusammenfassung"]
use_streams:
- "facts_stream"
- "tech_stream"
- "biography_stream"
prompt_template: "fact_synthesis_v1"
# Entscheidungs-Frage
DECISION:
description: "Der User sucht Rat, Strategie oder Abwägung."
preferred_provider: "gemini"
# FIX v3.1.6: Trigger erweitert, um "Soll ich... Projekt..." sicher zu fangen.
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.
# Emotionale Reflexion
EMPATHY:
description: "Reaktion auf emotionale Zustände."
preferred_provider: "openrouter"
trigger_keywords: ["fühle", "traurig", "glücklich", "stress", "angst"]
use_streams:
- "biography_stream"
- "values_stream"
prompt_template: "empathy_template"
# Technischer Support
CODING:
description: "Technische Anfragen und Programmierung."
preferred_provider: "gemini"
trigger_keywords: ["code", "python", "script", "bug", "syntax"]
use_streams:
- "tech_stream"
- "facts_stream"
prompt_template: "technical_template"
# Eingabe-Modus (WP-07)
INTERVIEW:
description: "Der User möchte Wissen erfassen (Eingabemodus)."
preferred_provider: "openrouter"
use_streams: []
prompt_template: "interview_template"