mitai-jinkendo/.claude/docs/functional/AI_PROMPTS.md
Lars 7940dc7560 docs: Struktur .claude/docs versionieren, working/, Gitea-Index, Regeln
- .gitignore: .claude/docs, rules, commands tracken; settings.local weiter ignorieren
- DOCUMENTATION.md: verbindliche Ablage functional/technical/working/issues
- .claude/README.md: Agent-Einstieg; GITEA_ISSUES_INDEX aus MCP (Stand 2026-04-08)
- Arbeitspapiere von docs/ nach .claude/docs/working/ verschoben
- docs/MEMBERSHIP_SYSTEM.md als Stub; kanonisch technical/MEMBERSHIP_SYSTEM.md
- CLAUDE.md Pflichtlektüre und Links angepasst; docs/README.md vereinfacht

Made-with: Cursor
2026-04-08 13:01:49 +02:00

16 KiB
Raw Blame History

Fachliche Anforderungen: KI-Prompt Flexibilisierung

Modul: v9f
Status: Fachlich freigegeben, technische Implementierung ausstehend
Letzte Aktualisierung: März 2026


1. Überblick

Das bestehende KI-Prompt-System wird von einer fixen Sammlung vordefinierter Prompts zu einer vollständig konfigurierbaren Prompt-Bibliothek erweitert. Admins können Prompts kategorisieren, duplizieren, bearbeiten und mit einem visuellen Platzhalter-Browser ausstatten. Die Pipeline wird konfigurierbar mehrere Konfigurationen für unterschiedliche Analysezwecke sind möglich.


2. Prompt-Bibliothek

2.1 Kategorien

Alle Prompts werden einer Kategorie zugeordnet:

Kategorie Beschreibung Beispiel-Prompts
Körper Gewicht, KF, Umfänge, Caliper Körperkomposition, Gewichtstrend
Ernährung Kalorien, Makros, Timing Kalorienbilanz, Proteinversorgung
Training Volumen, Typen, HF Trainingsanalyse, Erholungsstatus
Schlaf Qualität, Dauer, Muster Schlafauswertung, Schlaftrend
Vitalwerte Ruhepuls, HRV, VO2Max Leistungsfähigkeit, Erholung
Mentales Stress, Stimmung, Energie Wohlbefinden, Stressanalyse
Ziele Fortschritt, Prognose, Zeitplan Zielerreichung, Zeitplanung
Ganzheitlich Korrelationen, Übersicht Gesamtanalyse, Pipeline-Synthese

2.2 Prompt-Verwaltung (Admin)

Ein Admin kann mit jedem Prompt folgendes tun:

Aktivieren / Deaktivieren

  • Inaktive Prompts sind für Nutzer nicht sichtbar und nicht ausführbar
  • Pipeline-Prompts können separat aktiviert/deaktiviert werden

Duplizieren und anpassen

  • Bestehenden Prompt als Vorlage kopieren
  • Kopie erhält Suffix " (Kopie)" und kann unabhängig bearbeitet werden

Neu erstellen

  • Titel, Beschreibung, Kategorie, Template
  • Platzhalter über den Platzhalter-Browser einfügen (siehe Abschnitt 3)

Kategorie zuordnen

  • Beim Erstellen und Bearbeiten wählbar
  • Nachträgliche Änderung möglich

Reihenfolge festlegen

  • Drag & Drop oder Zahleneingabe (sort_order)
  • Reihenfolge bestimmt Anzeige in der Nutzer-Ansicht

Auf Standard zurücksetzen

  • Systemseitig definierte Prompts haben einen "Standard"-Zustand
  • Reset stellt Original-Template wieder her
  • Eigens erstellte Prompts haben keinen Standard-Reset

2.3 Prompt-Felder

Jeder Prompt hat:

  • Titel kurzer Name (z.B. "Körperkomposition")
  • Beschreibung wofür ist dieser Prompt? (für Admin sichtbar)
  • Kategorie aus der Kategorienliste
  • Template der eigentliche Prompt-Text mit Platzhaltern
  • Aktiv true/false
  • Reihenfolge Zahl für Sortierung
  • Typ single (Einzelanalyse) oder pipeline (Pipeline-Stufe)
  • Pipeline-Stufe nur bei Typ pipeline: Stufen-Nummer (1, 2, 3...)

3. Platzhalter-System

3.1 Platzhalter-Browser

Beim Bearbeiten eines Prompts steht ein visueller Platzhalter-Browser zur Verfügung Admin tippt Platzhalter nicht mehr manuell, sondern wählt sie aus.

Funktionen:

  • Filterung nach Kategorie zeigt nur Platzhalter der gewählten Kategorie
  • Beispielwert zeigt was der Platzhalter aktuell mit echten Daten ausgeben würde
  • Klick zum Einfügen Platzhalter wird an Cursor-Position ins Template eingefügt
  • Warnung bei fehlendem Platzhalter wenn ein eingetippter Platzhalter nicht existiert
  • Warnung bei fehlenden Daten wenn Daten für diesen Platzhalter nicht vorhanden sind (z.B. noch kein Schlaf-Tracking)

3.2 Prompt-Vorschau

Vor dem Speichern kann der Admin eine Vorschau anfordern:

  • System befüllt alle Platzhalter mit echten aktuellen Daten
  • Zeigt den fertigen Prompt-Text wie er an die KI gesendet würde
  • KI wird dabei nicht aufgerufen nur der Prompt-Text wird angezeigt

3.3 Platzhalter-Kategorien und Übersicht

Körper:

{{weight_aktuell}}         → "86,1 kg"
{{weight_trend}}           → "sinkend (-0,8 kg letzte 4 Wochen)"
{{kf_aktuell}}             → "19,9%"
{{kf_trend}}               → "stabil"
{{magermasse}}             → "69,4 kg"
{{whr}}                    → "0,90"
{{whtr}}                   → "0,51"
{{bmi}}                    → "27,2"
{{circ_summary}}           → "Taille: 88cm, Hüfte: 98cm, ..."
{{caliper_summary}}        → "KF nach Jackson/Pollock: 19,9%"

Ernährung:

{{kcal_avg}}               → "1.847 kcal/Tag (Ø 30 Tage)"
{{protein_avg}}            → "138g/Tag"
{{protein_ziel_low}}       → "138"
{{protein_ziel_high}}      → "172"
{{fat_avg}}                → "72g/Tag"
{{carb_avg}}               → "195g/Tag"
{{nutrition_summary}}      → kompakte Zusammenfassung
{{nutrition_detail}}       → ausführliche Tabelle
{{nutrition_days}}         → "28 Tage mit Daten"
{{activity_kcal_summary}}  → "Ø 320 kcal aktiver Verbrauch/Tag"

Training:

{{activity_summary}}           → kompakte Zusammenfassung
{{activity_detail}}            → ausführliche Liste
{{trainingstyp_verteilung}}    → "60% Kraft, 30% Cardio, 10% Mobility"
{{trainingstyp_haupttyp}}      → "Kraft" (häufigster Typ)
{{ruhetage_letzte_woche}}      → "2"
{{trainingsphase}}             → "Aufbau / Erholung / Plateau"
{{hf_zonen_verteilung}}        → "Zone 2: 45%, Zone 3: 35%, Zone 4: 20%"

{{faehigkeiten_analyse}}       → Detaillierte Analyse der trainierten Fähigkeiten
{{faehigkeiten_koordinativ}}   → "Orientierung: 3/14 Einheiten, Gleichgewicht: 5/14, ..."
{{faehigkeiten_konditionell}}  → "Kraft: 8/14, Ausdauer: 4/14, Schnelligkeit: 2/14, Flexibilität: 3/14"
{{faehigkeiten_kognitiv}}      → "Konzentration: 2/14, Entscheidung: 1/14, ..."
{{faehigkeiten_psychisch}}     → "Willenskraft: 5/14, Stressresistenz: 2/14, ..."
{{faehigkeiten_taktisch}}      → "Timing: 1/14, Antizipation: 2/14, ..."
{{faehigkeiten_balance}}       → "Ausgewogen / Einseitig + Empfehlung"

Fähigkeiten-System (v9d Integration):

  • Jeder Trainingstyp ist mit 1-N Fähigkeiten aus 5 Dimensionen verknüpft
  • KI erhält aggregierte Statistik: wie oft wurden welche Fähigkeiten trainiert
  • Ermöglicht Aussagen wie: "Dein Training fokussiert stark auf Kraft (8 von 14 Einheiten), aber koordinative Fähigkeiten kommen zu kurz."
  • Basis für gezielte Trainingsempfehlungen

Herzfrequenz & Vitalwerte:

{{ruhepuls_aktuell}}       → "52 bpm"
{{ruhepuls_trend}}         → "sinkend (-3 bpm letzte 4 Wochen)"
{{hrv_aktuell}}            → "58 ms"
{{hrv_baseline}}           → "62 ms (30-Tage-Durchschnitt)"
{{erholungsstatus}}        → "gut / teilweise / schlecht"
{{vo2max}}                 → "48,2 ml/kg/min"

Schlaf:

{{schlaf_avg_dauer}}       → "7,2h/Nacht (Ø 7 Tage)"
{{schlaf_qualitaet}}       → "3,8/5 (Ø 7 Tage)"
{{schlaf_trend}}           → "stabil"
{{schlaf_detail}}          → ausführliche Tabelle

Mentales:

{{energie_niveau}}         → "3,2/5 (Ø 7 Tage)"
{{stress_niveau}}          → "2,8/5 (Ø 7 Tage)"
{{stimmung}}               → "3,9/5 (Ø 7 Tage)"
{{meditation_streak}}      → "5 Tage in Folge"

Ziele:

{{goal_weight}}            → "82 kg"
{{goal_bf_pct}}            → "14%"
{{goal_name}}              → "Muskelaufbau"
{{ziel_fortschritt}}       → "Gewicht: 72% erreicht, KF: 45% erreicht"
{{ziel_prognose}}          → "Ziel voraussichtlich in 8 Wochen erreicht"

Profil:

{{name}}                   → "Lars"
{{geschlecht}}             → "männlich"
{{height}}                 → "178"
{{age}}                    → "45"
{{sprache}}                → "Deutsch" (konfigurierbar per Prompt)

Zeitraum:

{{zeitraum_7d}}            → "letzte 7 Tage"
{{zeitraum_30d}}           → "letzte 30 Tage"
{{zeitraum_90d}}           → "letzte 90 Tage"
{{datum_heute}}            → "20. März 2026"

Pipeline (intern):

{{stage1_body}}            → JSON-Summary Körper (Pipeline-Stufe 1)
{{stage1_nutrition}}       → JSON-Summary Ernährung
{{stage1_activity}}        → JSON-Summary Training
{{stage1_sleep}}           → JSON-Summary Schlaf (neu)
{{stage1_vitals}}          → JSON-Summary Vitalwerte (neu)

4. Pipeline-Konfiguration

4.1 Was ist eine Pipeline-Konfiguration?

Eine Pipeline-Konfiguration definiert:

  • Name z.B. "Alltags-Check", "Wettkampf-Analyse", "Schlaf-Fokus"
  • Aktive Module welche Datenquellen fließen ein (Körper, Ernährung, Training, Schlaf, Vitalwerte, Mentales)
  • Zeitraum je Modul z.B. Körper 30 Tage, Schlaf 7 Tage, Training 14 Tage
  • Stufen welcher Prompt wird in welcher Stufe verwendet
  • Standard eine Konfiguration kann als Standard markiert werden

4.2 Pipeline-Stufen

Stufe 1 (parallel): Mehrere Module-Prompts laufen gleichzeitig, jeder gibt ein JSON-Summary zurück

Stufe 2: Synthese-Prompt kombiniert alle Stage-1-Summaries zu einer narrativen Analyse

Stufe 3 (optional): Ziel-Abgleich oder spezifische Zusatzanalyse

Admin kann:

  • Anzahl der Stufen festlegen (min. 2, max. 4)
  • Jeden Stufen-Prompt zuweisen
  • Module für Stufe 1 aktivieren/deaktivieren

4.3 Vordefinierte Konfigurationen (Beispiele)

Alltags-Check (Standard):

  • Module: Körper (30T), Ernährung (30T), Training (14T)
  • Stufe 1: pipeline_body + pipeline_nutrition + pipeline_activity
  • Stufe 2: pipeline_synthesis
  • Stufe 3: pipeline_goals

Schlaf-Fokus:

  • Module: Schlaf (14T), Vitalwerte (7T), Training (14T)
  • Stufe 1: pipeline_sleep + pipeline_vitals + pipeline_activity
  • Stufe 2: pipeline_synthesis_sleep

Wettkampf-Analyse:

  • Module: Körper (90T), Training (90T), Vitalwerte (30T), Ziele
  • Stufe 1: alle Körper/Training/Vital-Module
  • Stufe 2: pipeline_synthesis_performance

5. Nutzer-Ansicht: KI-Analyse starten

5.1 Einzelanalyse

  1. Nutzer wählt Prompt aus der Bibliothek (nach Kategorie gefiltert)
  2. KI-Analyse startet sofort
  3. Ergebnis wird angezeigt und gespeichert

5.2 Pipeline

  1. Nutzer wählt Pipeline-Konfiguration
  2. Pipeline startet sofort (alle Stufen laufen automatisch)
  3. Ergebnis wird angezeigt und gespeichert

5.3 Kein Konfigurationsschritt für Nutzer

Der Nutzer wählt nur Prompt oder Pipeline kein weiterer Konfigurationsschritt. Zeitraum und Module sind durch Admin in der Pipeline-Konfiguration festgelegt.


6. Analyse-Ergebnisse verwalten

6.1 Kategorie-Zuordnung

Jedes gespeicherte Analyse-Ergebnis erbt die Kategorie des ausgeführten Prompts. Ermöglicht spätere Filterung nach Kategorie.

6.2 Filtern nach Kategorie

Im Analyse-Verlauf kann nach Kategorie gefiltert werden:

  • "Alle" / "Körper" / "Ernährung" / "Training" / etc.

6.3 Analyse-Verlauf pro Prompt

Für jeden Prompt ist ein Verlauf einsehbar:

  • Liste aller bisherigen Analysen mit diesem Prompt (Datum + Kurzauszug)
  • Zeigt wie sich die KI-Aussage über Zeit verändert hat

6.4 Favoriten

Nutzer kann Analysen als Favorit markieren (Stern-Symbol). Favoriten sind in der Verlaufs-Ansicht filterbar.

6.5 Löschen

Nutzer kann einzelne Analyse-Ergebnisse manuell löschen. Keine Massen-Löschung (außer Admin).


7. Sprache

Die Ausgabesprache wird im Prompt-Template selbst gesteuert über den Platzhalter {{sprache}}. Der Wert wird aus den Profil-Einstellungen gezogen.

Mögliche Werte: "Deutsch", "Englisch", "Französisch" (erweiterbar)

Standard: "Deutsch"

Kein separater Sprach-Schalter auf der Analyse-Seite Sprache wird einmalig im Profil konfiguriert.


8. Abgrenzung & offene Fragen

In diesem Modul enthalten:

  • Prompt-Bibliothek mit 8 Kategorien
  • Vollständige Admin-Verwaltung (CRUD, Reihenfolge, Reset)
  • Platzhalter-Browser mit Beispielwerten und Vorschau
  • Pipeline-Konfigurationen (mehrere, speicherbar)
  • Analyse-Ergebnisse: Kategorie, Filter, Verlauf, Favoriten, Löschen
  • Sprach-Platzhalter

Nicht in diesem Modul:

  • Community-Prompts / Prompt-Import von extern → später
  • KI-gestützte Prompt-Optimierung → später
  • Automatisch geplante Analysen (z.B. wöchentlich) → später
  • Prompts für noch nicht implementierte Module (Schlaf, Mentales) werden vorbereitet aber haben keine echten Daten bis die Module existieren

Offene Fragen für technische Planung:

  1. Wie werden Pipeline-Konfigurationen gespeichert? (neue DB-Tabelle oder JSON in ai_prompts?)
  2. Platzhalter-Definitionen: statisch im Code oder dynamisch in DB (für zukünftige Erweiterung)?
  3. Wie wird der Beispielwert für den Platzhalter-Browser berechnet gleicher Endpunkt wie die echte Analyse?
  4. Reihenfolge der Prompts: getrennte sort_order pro Kategorie oder global?

9. Trainingstypen & Fähigkeiten-Mapping (v9d → v9f Integration)

9.1 Hintergrund

In v9d wurde die Basis geschaffen:

  • training_types Tabelle mit abilities JSONB-Spalte
  • Admin-CRUD für Trainingstypen (ohne Abilities-UI)
  • Taxonomie-Endpoint: /api/admin/training-types/taxonomy/abilities
  • 5 Fähigkeiten-Dimensionen definiert:
    • 🎯 Koordinativ: Orientierung, Differenzierung, Kopplung, Gleichgewicht, Rhythmus, Reaktion, Umstellung
    • 💪 Konditionell: Kraft, Ausdauer, Schnelligkeit, Flexibilität
    • 🧠 Kognitiv: Konzentration, Aufmerksamkeit, Wahrnehmung, Entscheidungsfindung
    • 🎭 Psychisch: Motivation, Willenskraft, Stressresistenz, Selbstvertrauen
    • ♟️ Taktisch: Timing, Strategie, Antizipation, Situationsanalyse

9.2 Was wird in v9f ergänzt?

Admin-UI: Fähigkeiten-Matrix

Im AdminTrainingTypesPage Formular wird eine Fähigkeiten-Matrix hinzugefügt:

  • 5 Sections (eine pro Dimension)
  • Pro Dimension: Checkboxes für alle Fähigkeiten
  • Multi-Select: Ein Trainingstyp kann mehrere Fähigkeiten pro Dimension trainieren
  • Beispiel: "Kampfsport-Sparring" trainiert:
    • Koordinativ: Orientierung, Reaktion, Umstellung
    • Konditionell: Schnelligkeit, Ausdauer
    • Kognitiv: Entscheidung, Wahrnehmung
    • Psychisch: Stressresistenz, Selbstvertrauen
    • Taktisch: Timing, Antizipation

Gespeichert als JSONB:

{
  "koordinativ": ["orientierung", "reaktion", "umstellung"],
  "konditionell": ["schnelligkeit", "ausdauer"],
  "kognitiv": ["entscheidung", "wahrnehmung"],
  "psychisch": ["stressresistenz", "selbstvertrauen"],
  "taktisch": ["timing", "antizipation"]
}

Backend: Fähigkeiten-Aggregation

Neue Endpoint-Funktion (oder Platzhalter-Funktion):

def calculate_abilities_summary(profile_id, days=14):
    """
    Aggregiert trainierte Fähigkeiten über Zeitraum.

    Returns:
    {
      "total_activities": 14,
      "koordinativ": {
        "orientierung": 3,      # 3 von 14 Trainings
        "gleichgewicht": 5,
        ...
      },
      "konditionell": {
        "kraft": 8,
        "ausdauer": 4,
        ...
      },
      ...
      "balance_score": 0.67,    # 0-1, wie ausgewogen
      "top_dimension": "konditionell",
      "weak_dimension": "kognitiv"
    }
    """

KI-Prompt Integration:

Die Fähigkeiten-Platzhalter werden befüllt mit aggregierten Daten:

  • {{faehigkeiten_analyse}} → vollständige Aufschlüsselung
  • {{faehigkeiten_koordinativ}} → nur koordinative Dimension
  • etc.

Pipeline-Prompt "Training" erhält zusätzlichen Context:

Analyse die Fähigkeitenverteilung:
{{faehigkeiten_analyse}}

Gib Empfehlungen für untertrainierte Bereiche.

9.3 Nutzen für KI-Analyse

Beispiel-Insight:

"Deine letzten 14 Trainings fokussieren stark auf konditionelle Fähigkeiten (Kraft: 8×, Ausdauer: 4×). Koordinative Fähigkeiten kommen zu kurz (nur 3× Gleichgewicht, 2× Reaktion). Für einen ausgewogenen Trainingsplan empfehle ich 2-3 koordinationslastige Einheiten pro Woche z.B. Kampfsport-Techniktraining, Balance-Übungen oder Mobility-Routinen mit Fokus auf Bewegungskontrolle."

Korrelationen:

  • Verletzungen / Überlastung ↔ Koordinations-Defizit
  • Plateaus im Krafttraining ↔ fehlende kognitive/taktische Komponente
  • Erholungsprobleme ↔ psychische Fähigkeiten untertrainiert

9.4 Implementierungs-Reihenfolge

  1. v9d Phase 1b: DB-Schema + Admin-CRUD (ohne Abilities-UI) → erledigt
  2. 🔲 v9f: Abilities-Matrix UI im Admin-Formular
  3. 🔲 v9f: Backend-Funktion calculate_abilities_summary()
  4. 🔲 v9f: Platzhalter {{faehigkeiten_*}} implementieren
  5. 🔲 v9f: Standard-Prompts aktualisieren mit Fähigkeiten-Context
  6. 🔲 v9f: Admin-Doku: "Best Practices" für Fähigkeiten-Zuordnung

EOF echo "OK"