docs(methodik): klarstellen wie System- und User-Prompt zusammenwirken
User-Frage zur Transparenz-Seite: 'Welcher Prompt wird ausgefuehrt? Der System-Prompt ist deutlich umfangreicher.' Antwort: keiner allein — beide werden in einem API-Call zusammen gesendet und gemeinsam ausgewertet. Auf /methodik#prompts neu vor den details-Bloecken: - Erklaerung 'in einem einzigen API-Call', beide ins Kontextfenster - 2-Spalten-Tabelle 'System (Wer/wie)' vs. 'User (Was)' - Begruendung der Trennung (Caching, Compliance, Wartbarkeit) - Code-Referenz zu qwen_bewerter.py:83-85 mit messages-Aufbau Reine UI-Aenderung, keine Code-Logik betroffen.
This commit is contained in:
parent
eb0669d6ac
commit
145ad1e8d4
@ -371,17 +371,52 @@
|
||||
<div class="v2-kasten outline-blue">
|
||||
<p>
|
||||
Volle Transparenz: hier liegen die exakten Anweisungen, mit denen das
|
||||
Sprachmodell ({{ model_name }}) jeden Antrag bewertet. Der
|
||||
<strong>System-Prompt</strong> ist statisch und enthält die GWÖ-Matrix
|
||||
plus Ausgabe-Schema. Der <strong>User-Prompt</strong> wird pro Antrag
|
||||
dynamisch gefüllt — die Platzhalter <code>{kontext}</code>,
|
||||
<code>{wahlprogramm_zitate}</code>, <code>{antrag}</code> und
|
||||
<code>{pflicht_fraktionen}</code> sind unten als
|
||||
<code>{...}</code> markiert.
|
||||
Sprachmodell ({{ model_name }}) jeden Antrag bewertet.
|
||||
</p>
|
||||
|
||||
<h3 style="margin-top:0.75rem;">Wie System- und User-Prompt zusammenwirken</h3>
|
||||
<p>
|
||||
Beide Prompts werden in <strong>einem einzigen API-Call</strong>
|
||||
gesendet — nicht getrennt ausgeführt. Sie fließen gemeinsam ins
|
||||
Modell-Kontextfenster und werden zusammen bewertet.
|
||||
</p>
|
||||
<table style="margin-top:0.5rem;">
|
||||
<tr>
|
||||
<th style="width:30%;">System-Prompt (statisch, ~5 KB)</th>
|
||||
<th>User-Prompt (dynamisch, pro Antrag)</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Wer und wie</strong> bewertet wird: GWÖ-Matrix-Definition, 25 Felder, Bewertungs-Skala, Empfehlungs-Kategorien, Ausgabe-JSON-Schema, strenge Regeln (max. 3 Verbesserungsvorschläge, wörtliche Zitate, …).</td>
|
||||
<td><strong>Was</strong> bewertet wird: BL-Spezifika, semantisch gefundene Wahlprogramm-Chunks, der Antragstext selbst, Pflicht-Fraktionen-Liste.</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
Das Modell wendet die Matrix-Definition aus dem System-Prompt auf
|
||||
den Antragstext aus dem User-Prompt an. Ohne System-Prompt wüsste
|
||||
es nicht <em>wonach</em> es bewerten soll; ohne User-Prompt
|
||||
hätte es nichts zu bewerten.
|
||||
</p>
|
||||
<p style="font-size:12px;opacity:0.85;">
|
||||
<strong>Warum die Trennung?</strong>
|
||||
</p>
|
||||
<ul style="font-size:12px;opacity:0.85;">
|
||||
<li><strong>Caching:</strong> Der API-Anbieter cached den System-Prompt — pro neuem Antrag werden nur die User-Tokens verrechnet.</li>
|
||||
<li><strong>Modell-Compliance:</strong> Sprachmodelle behandeln System-Anweisungen mit höherem Vertrauen, was robuster gegen Prompt-Injection aus dem Antragstext ist.</li>
|
||||
<li><strong>Wartbarkeit:</strong> statische Bewertungs-Regeln getrennt vom dynamischen Inhalt — leichter zu pflegen, leichter zu auditieren.</li>
|
||||
</ul>
|
||||
<p style="font-size:11px;opacity:0.7;">
|
||||
Quelle: <a href="https://repo.toppyr.de/tobias/gwoe-antragspruefer/src/branch/main/app/analyzer.py" target="_blank"><code>app/analyzer.py</code></a>
|
||||
(<code>get_system_prompt()</code> und <code>get_user_prompt_template()</code>).
|
||||
(<code>get_system_prompt()</code> und <code>get_user_prompt_template()</code>);
|
||||
API-Aufruf in <a href="https://repo.toppyr.de/tobias/gwoe-antragspruefer/src/branch/main/app/adapters/qwen_bewerter.py" target="_blank"><code>app/adapters/qwen_bewerter.py</code></a>
|
||||
(Zeilen 83–85, <code>messages=[{"role":"system",…}, {"role":"user",…}]</code>).
|
||||
</p>
|
||||
|
||||
<h3 style="margin-top:1rem;">Die Prompts im Wortlaut</h3>
|
||||
<p style="font-size:12px;">
|
||||
Der User-Prompt unten ist als <em>Template</em> abgebildet — die
|
||||
Platzhalter <code>{kontext}</code>, <code>{wahlprogramm_zitate}</code>,
|
||||
<code>{antrag}</code> und <code>{pflicht_fraktionen}</code> werden
|
||||
pro Antrag mit den konkreten Inhalten gefüllt.
|
||||
</p>
|
||||
|
||||
<details style="margin-top:1rem;">
|
||||
|
||||
Loading…
Reference in New Issue
Block a user