WP25 #19
|
|
@ -1,100 +1,133 @@
|
||||||
# config/decision_engine.yaml
|
# config/decision_engine.yaml
|
||||||
# VERSION: 3.1.3 (WP-25: Multi-Stream Sync Fix)
|
# VERSION: 3.1.5 (WP-25: Multi-Stream Agentic RAG)
|
||||||
# STATUS: Active
|
# STATUS: Active
|
||||||
# DoD: Harmonisierung der Streams mit prompts.yaml zur Vermeidung von KeyErrors.
|
# DoD: Strikte Nutzung der Typen aus types.yaml (v2.7.0).
|
||||||
|
# Fix für Projekt-Klassifizierung via Keyword-Fast-Path.
|
||||||
|
|
||||||
version: 3.1
|
version: 3.1
|
||||||
|
|
||||||
settings:
|
settings:
|
||||||
llm_fallback_enabled: true
|
llm_fallback_enabled: true
|
||||||
router_provider: "auto"
|
# "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"
|
router_prompt_key: "intent_router_v1"
|
||||||
|
|
||||||
# --- EBENE 1: STREAM-LIBRARY ---
|
# --- EBENE 1: STREAM-LIBRARY (Bausteine basierend auf types.yaml) ---
|
||||||
streams_library:
|
streams_library:
|
||||||
values_stream:
|
values_stream:
|
||||||
name: "Identität & Ethik"
|
name: "Identität & Ethik"
|
||||||
query_template: "Welche meiner Werte und Prinzipien betreffen: {query}"
|
query_template: "Welche meiner Werte und Prinzipien betreffen: {query}"
|
||||||
filter_types: ["value", "principle", "belief"]
|
# Nur Typen aus types.yaml
|
||||||
|
filter_types: ["value", "principle", "belief", "trait", "boundary", "need", "motivation"]
|
||||||
top_k: 5
|
top_k: 5
|
||||||
edge_boosts: {guides: 3.0, enforced_by: 2.5, based_on: 2.0}
|
edge_boosts:
|
||||||
|
guides: 3.0
|
||||||
|
enforced_by: 2.5
|
||||||
|
based_on: 2.0
|
||||||
|
|
||||||
facts_stream:
|
facts_stream:
|
||||||
name: "Operative Realität"
|
name: "Operative Realität"
|
||||||
query_template: "Status, Ressourcen und Fakten zu: {query}"
|
query_template: "Status, Ressourcen und Fakten zu: {query}"
|
||||||
filter_types: ["project", "decision", "resource", "task", "milestone"]
|
# Nur Typen aus types.yaml
|
||||||
|
filter_types: ["project", "decision", "task", "goal", "event", "state"]
|
||||||
top_k: 5
|
top_k: 5
|
||||||
edge_boosts: {part_of: 2.0, depends_on: 1.5, implemented_in: 1.5}
|
edge_boosts:
|
||||||
|
part_of: 2.0
|
||||||
|
depends_on: 1.5
|
||||||
|
implemented_in: 1.5
|
||||||
|
|
||||||
biography_stream:
|
biography_stream:
|
||||||
name: "Persönliche Erfahrung"
|
name: "Persönliche Erfahrung"
|
||||||
query_template: "Welche Erlebnisse habe ich im Kontext von {query} gemacht?"
|
query_template: "Welche Erlebnisse habe ich im Kontext von {query} gemacht?"
|
||||||
filter_types: ["experience", "journal"]
|
# Nur Typen aus types.yaml
|
||||||
|
filter_types: ["experience", "journal", "profile", "person"]
|
||||||
top_k: 3
|
top_k: 3
|
||||||
edge_boosts: {related_to: 1.5, experienced_in: 2.0}
|
edge_boosts:
|
||||||
|
related_to: 1.5
|
||||||
|
experienced_in: 2.0
|
||||||
|
|
||||||
risk_stream:
|
risk_stream:
|
||||||
name: "Risiko-Radar"
|
name: "Risiko-Radar"
|
||||||
query_template: "Gefahren, Hindernisse oder Risiken bei: {query}"
|
query_template: "Gefahren, Hindernisse oder Risiken bei: {query}"
|
||||||
filter_types: ["risk", "obstacle"]
|
# Nur Typen aus types.yaml
|
||||||
|
filter_types: ["risk", "obstacle", "bias"]
|
||||||
top_k: 3
|
top_k: 3
|
||||||
edge_boosts: {blocks: 2.5, impacts: 2.0, risk_of: 2.5}
|
edge_boosts:
|
||||||
|
blocks: 2.5
|
||||||
|
impacts: 2.0
|
||||||
|
risk_of: 2.5
|
||||||
|
|
||||||
tech_stream:
|
tech_stream:
|
||||||
name: "Technische Referenz"
|
name: "Wissen & Technik"
|
||||||
query_template: "Technische Dokumentation und Code-Beispiele für: {query}"
|
query_template: "Inhaltliche Details und Definitionen zu: {query}"
|
||||||
filter_types: ["snippet", "reference", "source"]
|
# Nur Typen aus types.yaml
|
||||||
|
filter_types: ["concept", "source", "glossary", "idea", "insight", "skill", "habit"]
|
||||||
top_k: 5
|
top_k: 5
|
||||||
edge_boosts: {uses: 2.5, implemented_in: 3.0}
|
edge_boosts:
|
||||||
|
uses: 2.5
|
||||||
|
implemented_in: 3.0
|
||||||
|
|
||||||
# --- EBENE 2: STRATEGIEN ---
|
# --- EBENE 2: STRATEGIEN (Komposition & Routing) ---
|
||||||
strategies:
|
strategies:
|
||||||
|
# Spezialisierte Fact-Strategie für zeitliche Fragen
|
||||||
FACT_WHEN:
|
FACT_WHEN:
|
||||||
description: "Abfrage von Zeitpunkten und Historie."
|
description: "Abfrage von exakten Zeitpunkten und Terminen."
|
||||||
preferred_provider: "openrouter"
|
preferred_provider: "openrouter"
|
||||||
|
# FAST PATH: Harte Keywords für zeitliche Fragen
|
||||||
|
trigger_keywords: ["wann", "datum", "uhrzeit", "zeitpunkt"]
|
||||||
use_streams:
|
use_streams:
|
||||||
- "facts_stream"
|
- "facts_stream"
|
||||||
- "biography_stream"
|
- "biography_stream"
|
||||||
- "tech_stream" # Hinzugefügt für Kompatibilität mit fact_synthesis_v1
|
|
||||||
prompt_template: "fact_synthesis_v1"
|
|
||||||
|
|
||||||
FACT_WHAT:
|
|
||||||
description: "Abfrage von Definitionen und Wissen."
|
|
||||||
preferred_provider: "openrouter"
|
|
||||||
use_streams:
|
|
||||||
- "facts_stream"
|
|
||||||
- "biography_stream" # Hinzugefügt für Kompatibilität mit fact_synthesis_v1
|
|
||||||
- "tech_stream"
|
- "tech_stream"
|
||||||
prompt_template: "fact_synthesis_v1"
|
prompt_template: "fact_synthesis_v1"
|
||||||
|
|
||||||
|
# Spezialisierte Fact-Strategie für inhaltliche Fragen & Listen (FIX für Projekt-Frage)
|
||||||
|
FACT_WHAT:
|
||||||
|
description: "Abfrage von Definitionen, Listen und Inhalten."
|
||||||
|
preferred_provider: "openrouter"
|
||||||
|
# FAST PATH: Zwingt "Welche Projekte" in diese Strategie
|
||||||
|
trigger_keywords: ["was", "welche", "projekt", "projekte", "liste", "übersicht"]
|
||||||
|
use_streams:
|
||||||
|
- "facts_stream"
|
||||||
|
- "tech_stream"
|
||||||
|
- "biography_stream"
|
||||||
|
prompt_template: "fact_synthesis_v1"
|
||||||
|
|
||||||
|
# Entscheidungs-Frage
|
||||||
DECISION:
|
DECISION:
|
||||||
description: "Rat, Strategie oder Abwägung."
|
description: "Der User sucht Rat, Strategie oder Abwägung."
|
||||||
preferred_provider: "gemini"
|
preferred_provider: "gemini"
|
||||||
|
trigger_keywords: ["soll ich", "entscheidung", "abwägen", "priorität"]
|
||||||
use_streams:
|
use_streams:
|
||||||
- "values_stream"
|
- "values_stream"
|
||||||
- "facts_stream"
|
- "facts_stream"
|
||||||
- "risk_stream"
|
- "risk_stream"
|
||||||
prompt_template: "decision_synthesis_v1"
|
prompt_template: "decision_synthesis_v1"
|
||||||
prepend_instruction: "!!! ENTSCHEIDUNGS-MODUS (AGENTIC MULTI-STREAM) !!!"
|
prepend_instruction: |
|
||||||
|
!!! ENTSCHEIDUNGS-MODUS (AGENTIC MULTI-STREAM) !!!
|
||||||
|
Analysiere die Fakten vor dem Hintergrund meiner Werte und evaluiere die Risiken.
|
||||||
|
|
||||||
EMPATHY:
|
EMPATHY:
|
||||||
description: "Reaktion auf emotionale Zustände."
|
description: "Reaktion auf emotionale Zustände."
|
||||||
preferred_provider: "openrouter"
|
preferred_provider: "openrouter"
|
||||||
|
trigger_keywords: ["fühle", "traurig", "glücklich", "stress", "angst"]
|
||||||
use_streams:
|
use_streams:
|
||||||
- "biography_stream"
|
- "biography_stream"
|
||||||
- "values_stream"
|
- "values_stream"
|
||||||
prompt_template: "empathy_template" # Erwartet nur {context_str} oder spezifische Felder
|
prompt_template: "empathy_template"
|
||||||
|
|
||||||
CODING:
|
CODING:
|
||||||
description: "Technische Anfragen und Programmierung."
|
description: "Technische Anfragen und Programmierung."
|
||||||
preferred_provider: "gemini"
|
preferred_provider: "gemini"
|
||||||
|
trigger_keywords: ["code", "python", "script", "bug", "syntax"]
|
||||||
use_streams:
|
use_streams:
|
||||||
- "tech_stream"
|
- "tech_stream"
|
||||||
- "facts_stream"
|
- "facts_stream"
|
||||||
prompt_template: "technical_template"
|
prompt_template: "technical_template"
|
||||||
|
|
||||||
INTERVIEW:
|
INTERVIEW:
|
||||||
description: "Der User möchte Wissen erfassen."
|
description: "Der User möchte Wissen erfassen (Eingabemodus)."
|
||||||
preferred_provider: "openrouter"
|
preferred_provider: "openrouter"
|
||||||
use_streams: []
|
use_streams: []
|
||||||
prompt_template: "interview_template"
|
prompt_template: "interview_template"
|
||||||
|
|
@ -337,20 +337,27 @@ intent_router_v1:
|
||||||
Antworte NUR mit dem Namen der Strategie.
|
Antworte NUR mit dem Namen der Strategie.
|
||||||
|
|
||||||
STRATEGIEN:
|
STRATEGIEN:
|
||||||
- FACT_WHEN: Fragen nach "Wann", Daten, Historie.
|
- FACT_WHEN: Nur für explizite Fragen nach einem exakten Datum, Uhrzeit oder dem "Wann" eines Ereignisses.
|
||||||
- FACT_WHAT: Fragen nach "Was", Definitionen, Wissen.
|
- FACT_WHAT: Fragen nach Inhalten, Listen von Objekten/Projekten, Definitionen oder "Was/Welche" Anfragen (auch bei Zeiträumen).
|
||||||
- DECISION: Rat, Meinung, "Soll ich?", Abwägung.
|
- DECISION: Rat, Meinung, "Soll ich?", Abwägung gegen Werte.
|
||||||
- EMPATHY: Emotionen, Reflexion, "Ich fühle mich...".
|
- EMPATHY: Emotionen, Reflexion, Befindlichkeit.
|
||||||
- CODING: Programmierung, Skripte, Debugging.
|
- CODING: Programmierung, Skripte, technische Syntax.
|
||||||
- INTERVIEW: Dokumentation von Gedanken, Notizen erstellen.
|
- INTERVIEW: Dokumentation neuer Informationen, Notizen anlegen.
|
||||||
|
|
||||||
NACHRICHT: "{query}"
|
NACHRICHT: "{query}"
|
||||||
STRATEGIE:
|
STRATEGIE:
|
||||||
gemini: |
|
gemini: |
|
||||||
Classify query intent for Mindnet. Options: [FACT_WHEN, FACT_WHAT, DECISION, EMPATHY, CODING, INTERVIEW].
|
Classify intent:
|
||||||
|
- FACT_WHEN: Exact dates/times only.
|
||||||
|
- FACT_WHAT: Content, lists of entities (projects, etc.), definitions, "What/Which" queries.
|
||||||
|
- DECISION: Strategic advice/values.
|
||||||
|
- EMPATHY: Emotions.
|
||||||
|
- CODING: Tech/Code.
|
||||||
|
- INTERVIEW: Data entry.
|
||||||
Query: "{query}"
|
Query: "{query}"
|
||||||
Result (One word only):
|
Result (One word only):
|
||||||
openrouter: |
|
openrouter: |
|
||||||
Select the best Mindnet strategy for: "{query}".
|
Select strategy for Mindnet:
|
||||||
Strategies: FACT_WHEN, FACT_WHAT, DECISION, EMPATHY, CODING, INTERVIEW.
|
FACT_WHEN (timing/dates), FACT_WHAT (entities/lists/what/which), DECISION, EMPATHY, CODING, INTERVIEW.
|
||||||
|
Query: "{query}"
|
||||||
Response:
|
Response:
|
||||||
Loading…
Reference in New Issue
Block a user