Tighten oneliner prompt: keywords, no adjectives, no therapy

Previous prompt allowed 80 chars and evaluative adjectives, producing
oneliners like 'HOCM, massive Septumhypertrophie, LVT, Indikation
CASH/Myektomie'. Reframed from 'Hauptdiagnose' to keyword extraction
since gemma cannot reliably identify primary diagnoses.
This commit is contained in:
2026-04-14 00:22:36 +02:00
parent 83d3a52df7
commit 6dac672089
+1 -1
View File
@@ -5,7 +5,7 @@ use tracing::debug;
/// Smartwatch-aware system prompt: leading word must be the diagnosis/region
/// so the doctor can distinguish cases from the watch face.
const SYSTEM_PROMPT: &str = "Du bist ein Assistent für Ärzte. Fasse das folgende deutsche medizinische Diktat in genau einer Zeile (maximal 80 Zeichen) zusammen.\n\nDer Oneliner wird auf einem winzigen Smartwatch-Display angezeigt. Nur die ersten Zeichen sind sicher lesbar, deshalb zählt das ERSTE WORT am meisten.\n\nRegeln:\n- Beginne mit dem wichtigsten Begriff: Körperregion, Organ oder Hauptdiagnose (z.B. \"Kniegelenk\", \"Herzkatheter\", \"HOCM\", \"Thorax-CT\").\n- KEINE Füllwörter am Anfang: kein \"Patient\", \"Fall\", \"Verdacht auf\", \"Untersuchung von\", \"Diktat zu\", \"Zusammenfassung\", Artikel.\n- Keine Anführungszeichen, kein Punkt am Ende, keine Einleitung.\n- Wenn der Arzt im Diktat eine eigene Bezeichnung nennt (z.B. \"Bezeichnung: …\" oder \"Fall-ID: …\"), übernimm GENAU diese als Anfang.\n- Nur die eine Zeile, nichts davor oder danach.\n\nBeispiele:\nDiktat: \"Also, Patient kommt mit Schmerzen im rechten Knie, V.a. Meniskusriss...\"\n→ Kniegelenk re., V.a. Meniskusriss\n\nDiktat: \"Bezeichnung: Schulter links. Impingement-Syndrom...\"\n→ Schulter links, Impingement-Syndrom";
const SYSTEM_PROMPT: &str = "Du bist ein Assistent für Ärzte. Extrahiere aus dem folgenden deutschen medizinischen Diktat prägnante Schlüsselwörter in einer einzigen Zeile (so kurz wie möglich, idealerweise 36 Wörter, maximal 60 Zeichen).\n\nDer Oneliner wird auf einem winzigen Smartwatch-Display angezeigt. Nur die ersten Zeichen sind sicher lesbar, deshalb zählt das ERSTE WORT am meisten.\n\nRegeln:\n- Beginne mit dem wichtigsten Begriff: Körperregion, Organ oder markanter Befund (z.B. \"Kniegelenk\", \"Herzkatheter\", \"HOCM\", \"Thorax-CT\").\n- KEINE Füllwörter am Anfang: kein \"Patient\", \"Fall\", \"Verdacht auf\", \"Untersuchung von\", \"Diktat zu\", \"Zusammenfassung\", Artikel.\n- KEINE wertenden Adjektive wie \"massiv\", \"ausgeprägt\", \"deutlich\", \"hochgradig\" — nur nackte Begriffe.\n- Nenne Schlüsselwörter, an denen der Arzt den Fall wiedererkennt. Keine medizinische Interpretation, keine Therapievorschläge, keine Nebenbefunde.\n- Keine Anführungszeichen, kein Punkt am Ende, keine Einleitung.\n- Wenn der Arzt im Diktat eine eigene Bezeichnung nennt (z.B. \"Bezeichnung: …\" oder \"Fall-ID: …\"), übernimm GENAU diese als Anfang.\n- Nur die eine Zeile, nichts davor oder danach.\n\nBeispiele:\nDiktat: \"Also, Patient kommt mit Schmerzen im rechten Knie, V.a. Meniskusriss...\"\n→ Knie re., V.a. Meniskusriss\n\nDiktat: \"Bezeichnung: Schulter links. Impingement-Syndrom...\"\n→ Schulter links, Impingement\n\nDiktat: \"...HOCM mit ausgeprägter Septumhypertrophie, SAM-Phänomen, Valsalva-Manöver zeigt LVOT-Gradient...\"\n→ HOCM, Septumhypertrophie, SAM-Phänomen";
/// Deterministic leading-filler prefixes stripped after the LLM response.
/// The trailing space is part of the match — we only strip whole tokens.