- .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
16 KiB
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) oderpipeline(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
- Nutzer wählt Prompt aus der Bibliothek (nach Kategorie gefiltert)
- KI-Analyse startet sofort
- Ergebnis wird angezeigt und gespeichert
5.2 Pipeline
- Nutzer wählt Pipeline-Konfiguration
- Pipeline startet sofort (alle Stufen laufen automatisch)
- 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:
- Wie werden Pipeline-Konfigurationen gespeichert? (neue DB-Tabelle oder JSON in ai_prompts?)
- Platzhalter-Definitionen: statisch im Code oder dynamisch in DB (für zukünftige Erweiterung)?
- Wie wird der Beispielwert für den Platzhalter-Browser berechnet – gleicher Endpunkt wie die echte Analyse?
- 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_typesTabelle mitabilitiesJSONB-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
- ✅ v9d Phase 1b: DB-Schema + Admin-CRUD (ohne Abilities-UI) → erledigt
- 🔲 v9f: Abilities-Matrix UI im Admin-Formular
- 🔲 v9f: Backend-Funktion
calculate_abilities_summary() - 🔲 v9f: Platzhalter
{{faehigkeiten_*}}implementieren - 🔲 v9f: Standard-Prompts aktualisieren mit Fähigkeiten-Context
- 🔲 v9f: Admin-Doku: "Best Practices" für Fähigkeiten-Zuordnung
EOF echo "OK"