90 lines
3.6 KiB
MySQL
90 lines
3.6 KiB
MySQL
|
|
-- Migration 075: Planungs-KI Phase E — Semantik-Enrichment + Pfad-QA Prompts
|
|||
|
|
|
|||
|
|
INSERT INTO ai_prompts (
|
|||
|
|
slug, display_name, description, template,
|
|||
|
|
category, output_format, output_schema, is_system_default, default_template, active, sort_order
|
|||
|
|
)
|
|||
|
|
SELECT
|
|||
|
|
'planning_exercise_query_semantics',
|
|||
|
|
'Planungs-Übungssuche Semantik',
|
|||
|
|
'Erweitert deterministisches Semantic Brief um must/exclude phrases und Entwicklungsbogen.',
|
|||
|
|
$t$Du bist Assistent für Kampfsport-Trainer bei der semantischen Analyse von Planungs-Anfragen.
|
|||
|
|
|
|||
|
|
Ziel: JSON für ein Semantic Brief — präzise Kernbegriffe, Ausschlüsse, Entwicklungsbogen.
|
|||
|
|
Nutze das bestehende Brief als Basis; ergänze/verfeinere, ersetze aber keine eindeutige Technik-Identität.
|
|||
|
|
|
|||
|
|
Anfrage: {{search_query}}
|
|||
|
|
Bestehendes Brief (deterministisch): {{semantic_brief_json}}
|
|||
|
|
|
|||
|
|
Regeln:
|
|||
|
|
- must_phrases: konkrete Technik-/Themen-Phrasen aus der Anfrage (z. B. "mae geri", nicht nur "geri")
|
|||
|
|
- exclude_phrases: konkurrierende Techniken/Themen, die NICHT gemeint sind
|
|||
|
|
- development_arc: geordnete Phasen aus: einstieg, grundlage, vertiefung, anwendung, perfektion
|
|||
|
|
- semantic_strength: 0.0–1.0 (höher bei spezifischer Technik/Thema)
|
|||
|
|
- primary_topic: Hauptthema in wenigen Worten
|
|||
|
|
- topic_type: technique | focus | method | skill | general
|
|||
|
|
|
|||
|
|
Antworte NUR mit JSON:
|
|||
|
|
{
|
|||
|
|
"primary_topic": "Mae Geri",
|
|||
|
|
"topic_type": "technique",
|
|||
|
|
"must_phrases": ["mae geri"],
|
|||
|
|
"exclude_phrases": ["mawashi geri", "sakuto geri"],
|
|||
|
|
"development_arc": ["einstieg", "grundlage", "vertiefung", "perfektion"],
|
|||
|
|
"semantic_strength": 0.9,
|
|||
|
|
"rationale": "Kurz auf Deutsch"
|
|||
|
|
}$t$,
|
|||
|
|
'training',
|
|||
|
|
'json',
|
|||
|
|
'{"type":"object","properties":{"must_phrases":{"type":"array"},"exclude_phrases":{"type":"array"},"development_arc":{"type":"array"},"semantic_strength":{"type":"number"}}}'::jsonb,
|
|||
|
|
true,
|
|||
|
|
NULL,
|
|||
|
|
true,
|
|||
|
|
12
|
|||
|
|
WHERE NOT EXISTS (SELECT 1 FROM ai_prompts WHERE slug = 'planning_exercise_query_semantics');
|
|||
|
|
|
|||
|
|
INSERT INTO ai_prompts (
|
|||
|
|
slug, display_name, description, template,
|
|||
|
|
category, output_format, output_schema, is_system_default, default_template, active, sort_order
|
|||
|
|
)
|
|||
|
|
SELECT
|
|||
|
|
'planning_exercise_path_qa',
|
|||
|
|
'Planungs-Pfad QA',
|
|||
|
|
'Semantische Qualitätsprüfung eines vorgeschlagenen Übungspfads inkl. Lücken und Brücken.',
|
|||
|
|
$t$Du bist Assistent für Kampfsport-Trainer und prüfst einen vorgeschlagenen Übungspfad.
|
|||
|
|
|
|||
|
|
Ziel-Anfrage: {{goal_query}}
|
|||
|
|
Semantic Brief: {{semantic_brief_json}}
|
|||
|
|
Schritte (JSON): {{steps_json}}
|
|||
|
|
Erkannte Lücken: {{gaps_json}}
|
|||
|
|
Eingefügte Brücken: {{bridge_inserts_json}}
|
|||
|
|
|
|||
|
|
Prüfe:
|
|||
|
|
1. Deckt der Pfad das Hauptthema der Anfrage ab (nicht nur Oberbegriffe)?
|
|||
|
|
2. Ist die Reihenfolge didaktisch sinnvoll (Einstieg → Vertiefung → Ziel)?
|
|||
|
|
3. Sind Sprünge zwischen benachbarten Schritten zu groß?
|
|||
|
|
4. Sind Brücken-Übungen sinnvoll oder überflüssig?
|
|||
|
|
5. Fehlen wichtige Zwischenschritte?
|
|||
|
|
|
|||
|
|
Antworte NUR mit JSON:
|
|||
|
|
{
|
|||
|
|
"overall_ok": true,
|
|||
|
|
"quality_score": 0.85,
|
|||
|
|
"topic_coverage": "Kurz: wie gut das Hauptthema abgedeckt ist",
|
|||
|
|
"issues": ["…"],
|
|||
|
|
"sequence_notes": ["…"],
|
|||
|
|
"recommendations": ["…"]
|
|||
|
|
}$t$,
|
|||
|
|
'training',
|
|||
|
|
'json',
|
|||
|
|
'{"type":"object","required":["overall_ok"],"properties":{"overall_ok":{"type":"boolean"},"quality_score":{"type":"number"},"issues":{"type":"array"},"sequence_notes":{"type":"array"},"recommendations":{"type":"array"}}}'::jsonb,
|
|||
|
|
true,
|
|||
|
|
NULL,
|
|||
|
|
true,
|
|||
|
|
13
|
|||
|
|
WHERE NOT EXISTS (SELECT 1 FROM ai_prompts WHERE slug = 'planning_exercise_path_qa');
|
|||
|
|
|
|||
|
|
UPDATE ai_prompts SET default_template = template
|
|||
|
|
WHERE slug IN ('planning_exercise_query_semantics', 'planning_exercise_path_qa')
|
|||
|
|
AND (default_template IS NULL OR TRIM(default_template) = '');
|