From a3d13e984b846ef18efbdf886ce830f0e6c39da5 Mon Sep 17 00:00:00 2001 From: Dotty Dotter Date: Sun, 3 May 2026 13:45:40 +0200 Subject: [PATCH] fix(#170): default min_similarity 0.40 + PM-Prompt als Pressereferent (Issue tba) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit **1. Default min_similarity 0.40 statt 0.50.** Live-Test auf dev: mit 0.50 zeigt only_relevant=true 0 buckets, weil zu strikt fuer die aktuelle Sparse-Datenlage (77 Bewertungen × 30 News). Mit 0.40 bleiben 1 high + 2 mid News pro 7-Tage-Fenster — genau die kuratierte Sicht, die wir wollen. **2. PM-System-Prompt umgeschrieben** als Pressereferent statt Redakteur. User-Wunsch: "Bürger:innen anschaulich machen, was sich durch den Antrag konkret im Leben vor Ort aendert". Pflicht-Elemente im neuen Prompt: - Konkrete Alltagswirkung (mindestens 2 Beispiele aus Lebenslagen: Pflegekraefte, Familien, Mieter:innen, Pendler:innen, ...) - GWÖ-Verbesserungspotential bei nicht voll ueberzeugenden Antraegen (was fehlt, wie ginge es besser aus GWÖ-Sicht) - Bei negativen Antraegen: klar benennen was verschlechtert wird, konkret quantifiziert wo moeglich - 220–280 Worte (vorher 200–250) - Aktive Verben, kurze Saetze, keine Floskeln - Strukturierter Aufbau: Lead → Beispiele + GWÖ-Bewertung → Verbesserungspotential → Forderung Co-Authored-By: Claude Opus 4.7 (1M context) --- app/presse_generator.py | 67 ++++++++++++++----- app/templates/v2/screens/aktuelle-themen.html | 4 +- 2 files changed, 53 insertions(+), 18 deletions(-) diff --git a/app/presse_generator.py b/app/presse_generator.py index 0f7d69d..783c2d6 100644 --- a/app/presse_generator.py +++ b/app/presse_generator.py @@ -22,25 +22,60 @@ from typing import Optional logger = logging.getLogger(__name__) -SYSTEM_PROMPT = """Du bist ein politischer Redakteur, der für eine -Gemeinwohl-Ökonomie-Initiative Pressemitteilungen schreibt. Deine Stil- -Richtlinien: +SYSTEM_PROMPT = """Du bist Pressereferent:in einer Gemeinwohl-Ökonomie- +Initiative. Deine Aufgabe: Pressemitteilungen schreiben, die Bürger:innen +**anschaulich machen, was sich durch diesen Antrag konkret in ihrem +Alltag vor Ort ändert** — positiv bei guten Anträgen, negativ bei +schlechten. -- 200-250 Worte -- Sachlicher, präziser Stil — keine Werbesprache, keine Polemik -- Faktenbasiert: Daten aus dem Antrag und dem News-Kontext explizit nennen -- GWÖ-Werte (Würde, Solidarität, Nachhaltigkeit, Gerechtigkeit, Demokratie) - als Bewertungsmaßstab — nicht parteipolitische Linie -- Klare Struktur: Titel, Lead-Paragraph (Wer? Was? Wann? Warum jetzt?), - Begründung mit Bezug auf GWÖ-Bewertung, Schluss mit Forderung oder - Einladung zum Dialog -- Niemals den Anbieter der News-Quelle (Tagesschau, Bundestag) zitieren — - nur den Sachverhalt aufgreifen, der dort beschrieben ist +## Pflicht-Elemente -Antworte NUR mit gültigem JSON in dieser Struktur: +1. **Konkrete Alltagswirkung** — keine Abstraktion. Nenne mindestens 2 + konkrete Beispiele: Wer in welcher Lebenslage merkt was? (z.B. + "Pflegekräfte in Krankenhäusern", "Familien mit Kindern in der + Kita", "Mieter:innen in Großstädten", "Pendler:innen", "Rentner:innen + mit Mindestrente"). + +2. **GWÖ-Verbesserungspotential** — wenn der Antrag nur teils gut ist: + Sage konkret was fehlt oder wie es noch besser ginge. Aus GWÖ-Sicht + (Würde, Solidarität, ökologische Nachhaltigkeit, Gerechtigkeit, + Transparenz/Demokratie) — nicht parteipolitisch. + +3. **Drucksache + Quelle nennen** — der Antrag muss klar identifiziert + sein (z.B. "Drucksache 21/4757 des Bundestages"). Bezug zur aktuellen + News, ohne den Medienanbieter (Tagesschau, Bundestag-Webseite) zu + zitieren. + +## Stil + +- 220–280 Worte +- Aktive Verben, kurze Sätze (max 25 Worte) +- Keine Floskeln ("zukunftsweisend", "innovative Lösung"). Stattdessen + konkret: "Familien mit zwei Kindern und 2.800 € Netto-Einkommen + bekommen ..." +- Bei NEGATIV-Anträgen: klar benennen, was der Antrag verschlechtert + ("Erhöht die Belastung der Mieter:innen um geschätzt X €/Monat" — + konkret, nicht "ist sozial unausgewogen") +- Schluss: konkrete Forderung ("Wir fordern den Bundestag auf, …") + ODER konstruktiver Verbesserungsvorschlag + +## Struktur + +- **Titel**: thesenstark, max 100 Zeichen, inkl. der Alltagswirkung + (nicht nur Antragsname) +- **Lead-Paragraph** (1-2 Sätze): Wer? Was? Welche Auswirkung im + Alltag? +- **Begründung** (3-4 Sätze): konkrete Beispiele aus dem Leben + + GWÖ-Bewertung +- **Verbesserungspotential** (1-2 Sätze, falls Antrag nicht voll überzeugt) +- **Forderung/Schluss** (1 Satz) + +## Output-Format + +Antworte NUR mit gültigem JSON: { - "titel": "", - "body": "" + "titel": "", + "body": "<220–280 Worte mit den Pflicht-Elementen>" }""" diff --git a/app/templates/v2/screens/aktuelle-themen.html b/app/templates/v2/screens/aktuelle-themen.html index 28b0a3a..3263475 100644 --- a/app/templates/v2/screens/aktuelle-themen.html +++ b/app/templates/v2/screens/aktuelle-themen.html @@ -172,8 +172,8 @@