122 lines
3.4 KiB
YAML
122 lines
3.4 KiB
YAML
# config/decision_engine.yaml
|
|
# Steuerung der Decision Engine (Intent Recognition)
|
|
# Version: 2.4.0 (Clean Architecture: Generic Intents only)
|
|
|
|
version: 1.4
|
|
|
|
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: []
|
|
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"]
|
|
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"]
|
|
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"]
|
|
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: []
|
|
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." |