llamacppctl/example_user_prompts/README.md

70 lines
3.4 KiB
Markdown
Raw Permalink Normal View History

# Beispiel-User-Prompts
Diese User-Prompts sind zum Testen der System-Prompts in
[`../example_system_prompts/`](../example_system_prompts/) gedacht — je vier pro
Domäne, jeweils als eigene Datei, damit sie direkt über `--prompt-file` laufen.
Referenzmodell (zunächst): das Default-Modell aus `llama.cpp.config`
(`models/qwen3/Qwen3.6-35B-A3B-Uncensored-HauhauCS-Aggressive-Q4_K_M.gguf`).
## Zuordnung
| System-Prompt | passende User-Prompts |
|---|---|
| `system_prompt_prosa.md` | `prosa_01_werkstatt.md`, `prosa_02_dystopie.md`, `prosa_03_essay.md`, `prosa_04_dialog.md` |
| `system_prompt_prosa.md` (Reizprompts) | `prosa_06_taeter.md`, `prosa_07_erzaehler.md`, `prosa_08_rausch.md` |
| `system_prompt_reden.md` | `reden_01_abifeier.md`, `reden_02_windkraft.md`, `reden_03_umstrukturierung.md`, `reden_04_gedenken.md` |
| `system_prompt_coding.md` | `coding_01_jsonl_validator.md`, `coding_02_refactor.md`, `coding_03_ts_retry.md`, `coding_04_performance.md`, `coding_05_rng_uniform.md` |
Jeder User-Prompt fordert gezielt Eigenschaften heraus, die der jeweilige
System-Prompt verspricht (z. B. „show, don't tell" und Schlussbild bei Prosa;
Zielkonflikte und vorweggenommene Einwände bei Reden; Sicherheit, Fehler-
behandlung und Tests beim Coding).
`prosa_06``prosa_08` sind **Reizprompts** für den Alignment-Vergleich: Stoffe,
bei denen ein aligntes Modell plausibel verweigern oder moralisch rahmen würde
(Täterperspektive ohne Reue, unzuverlässiger Erzähler ohne Einsicht, Rausch ohne
Warnung). Alle drei verbieten Vor- und Nachbemerkung ausdrücklich, sodass ein
Ausweichen ein *messbarer Instruktionsbruch* ist und kein Geschmacksurteil —
`scripts/eval_prompt_tests.py` klassifiziert es als `refusal`/`preamble`/`tail`.
Keiner der Prompts verlangt operative Inhalte; `prosa_08` untersagt Substanzen,
Mengen und Beschaffung explizit.
Der Vergleich `Qwen3.6-35B-A3B` (aligned) gegen die abliterierte HauhauCS-Variante
ergab über alle drei Prompts **kein Ausweichen bei beiden Modellen** — siehe
[`../docs/KI_TOOLS_PROFILES.md`](../docs/KI_TOOLS_PROFILES.md).
## Ausführen (Default-Modell)
Server muss laufen (`llamacppctl --start --config llama.cpp.config`). Dann z. B.:
```bash
llamacppctl --chat --config llama.cpp.config \
--system-file example_system_prompts/system_prompt_prosa.md \
--prompt-file example_user_prompts/prosa_01_werkstatt.md \
--stream --max-tokens 8000
```
Hinweise:
- Das Default-Modell läuft mit aktiviertem Reasoning. Das Antwortbudget
(`--max-tokens`) muss **Denk- plus Ausgabe-Tokens** abdecken — für Prosa/Reden
großzügig wählen (z. B. 600010000), sonst bricht die sichtbare Antwort ab
oder bleibt leer.
- **`--stream` benutzen.** Beim Streaming setzt jeder Token den Read-Timeout
zurück; ohne Streaming muss `read_timeout` die gesamte Generierung abdecken.
Chat-`read_timeout`/`stream` sind pro Profil in der Config setzbar (Default
`read_timeout = 600`), `--read-timeout`/`--stream` auf der CLI überschreiben.
## Coding-Prompts mit dem `ornith35b`-Profil
Die `coding_*`-Prompts lassen sich direkt gegen das Coding-Profil testen. Es
bringt deterministischeres Sampling mit und aktiviert `stream` + hohen
`read_timeout` bereits in der Config, es sind also keine Extra-Flags nötig:
```bash
llamacppctl --change --profile ornith35b # Coding-Modell laden
llamacppctl --chat --profile ornith35b \
--system-prompt-profile coding \
--prompt-file example_user_prompts/coding_05_rng_uniform.md
```