From d921b2758bfb5b326c1381a7813a9b1acf3cb697 Mon Sep 17 00:00:00 2001 From: Peter Meier Date: Sat, 6 Jun 2026 09:22:06 +0200 Subject: [PATCH] =?UTF-8?q?refactor:=20AI-Prompt=20f=C3=BCr=20Stellungnahm?= =?UTF-8?q?e=20nachgesch=C3=A4rft?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Klare Rolle, zwingende Regeln (Argumente erhalten, keine Erfindungen, Briefkopf-Struktur, ≥70 % neu formuliert), explizites Ausgabeformat. Kontext zum Windvorranggebiet und persönliche Betroffenheit prominent. Co-Authored-By: Claude Sonnet 4.6 --- .../blocks/StellingnahmeGeneratorBlock.svelte | 36 +++++++++++++------ 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/src/lib/components/blocks/StellingnahmeGeneratorBlock.svelte b/src/lib/components/blocks/StellingnahmeGeneratorBlock.svelte index 395199a..876fed6 100644 --- a/src/lib/components/blocks/StellingnahmeGeneratorBlock.svelte +++ b/src/lib/components/blocks/StellingnahmeGeneratorBlock.svelte @@ -483,23 +483,37 @@ ${"=".repeat(64)}`; async function copyAiPrompt() { const toneDesc = aiToneLabels[aiTone - 1]; const sharpnessDesc = aiSharpnessLabels[aiSharpness - 1]; - const customPart = aiCustomNote.trim() ? `\nZusätzliche Hinweise von mir: ${aiCustomNote.trim()}\n` : ""; - const personalPart = persoenlicheEingabe.trim() - ? `\nMeine persönliche Betroffenheit (bitte besonders authentisch und individuell einbauen):\n${persoenlicheEingabe.trim()}\n` + const customPart = aiCustomNote.trim() + ? `\nZusätzliche Hinweise des Verfassers:\n${aiCustomNote.trim()}\n` : ""; - const prompt = `Du bist ein Schreibassistent. Erstelle aus der folgenden Muster-Stellungnahme eine individuell formulierte Stellungnahme für mich. + const personalPart = persoenlicheEingabe.trim() + ? `\nPersönliche Betroffenheit des Verfassers (zentral und authentisch einbinden, möglichst wörtlich verarbeiten, nichts dazuerfinden):\n${persoenlicheEingabe.trim()}\n` + : ""; + const gebietPart = windArea + ? `\nKontext zum betroffenen Windvorranggebiet: ${windArea.gebiets_nr ?? ""}${windArea.bezeichnung ? " – " + windArea.bezeichnung : ""}${windArea.gemeinden?.length ? " (Gemeinden: " + windArea.gemeinden.slice(0, 5).join(", ") + ")" : ""}\n` + : ""; + const prompt = `Rolle: Du bist ein erfahrener Verfasser von Bürger-Einwendungen im Raumordnungs- und Genehmigungsverfahren. Du formulierst eine individuelle, juristisch und sachlich saubere Stellungnahme im Namen des Verfassers. -Gewünschter Stil: +Aufgabe: Schreibe die unten als "MUSTER-STELLUNGNAHME" beigefügte Vorlage so um, dass sie wie eine eigenständig verfasste Einwendung dieser einen Person wirkt – nicht wie eine Vorlage und nicht wie eine generierte Massenstellungnahme. + +Stilvorgaben: - Ton: ${toneDesc} - Haltung/Schärfe: ${sharpnessDesc} -${personalPart}${customPart} -Variiere außerdem: -- Die Reihenfolge der Argumente -- Die konkreten Formulierungen (keine Sätze 1:1 übernehmen) +- Sprache: durchgängig Deutsch, Sie-Form gegenüber der Behörde, klar adressiert. +${gebietPart}${personalPart}${customPart} +Zwingende Regeln: +1. ALLE inhaltlichen Argumente, Fakten, Zahlen, Gesetzes- und Quellenverweise aus der Muster-Stellungnahme MÜSSEN vollständig erhalten bleiben. Nichts weglassen, nichts inhaltlich abschwächen. +2. KEINE neuen Fakten, Zahlen, Gesetzesnormen oder Quellen erfinden. Wenn etwas in der Vorlage nicht steht, taucht es im Output nicht auf. +3. Briefkopf, Behörden-Adresse, Aktenzeichen/Betreff, Datum, Anrede und Schlussformel inkl. Absender bleiben strukturell erhalten (Reihenfolge, Felder, Angaben). Nur Formulierungen im Fließtext darfst du umarbeiten. +4. Argument-Reihenfolge im Hauptteil darfst du variieren, sofern Logik und Lesefluss stimmen. +5. Formulierungen variieren – keine Satzbausteine 1:1 übernehmen. Mindestens 70 % des Fließtextes neu formulieren, ohne Inhalt zu verändern. +6. Persönliche Betroffenheit (falls oben angegeben) wird konkret und ich-bezogen in den Text eingewoben, nicht als separater Absatz angehängt. +7. Länge: ungefähr im Rahmen der Vorlage (±20 %). Keine Aufblähung mit Floskeln, keine starke Kürzung. -Behalte alle inhaltlichen Punkte und Argumente vollständig bei. +Ausgabeformat: +- Gib AUSSCHLIESSLICH den fertigen Stellungnahme-Text aus. Kein Vorwort, keine Erklärung, keine Markdown-Codeblöcke, keine Hinweise wie "Hier ist deine Stellungnahme:". Direkt mit dem Briefkopf beginnen. -Muster-Stellungnahme: +MUSTER-STELLUNGNAHME: --- ${outputText} ---`;