From 5a75f0fb15f0a0830fc64425665967786bdcf5c9 Mon Sep 17 00:00:00 2001 From: claude-dev Date: Sun, 2 Aug 2026 01:47:19 +0200 Subject: [PATCH] fix(faktencheck): keine Wertung in der Behauptung, Korrekturen als Verlauf Drei Befunde aus dem Bericht zu Lage 60 vom 02.08.2026, alle in der Semantik von Faktencheck und Lagebild. 1. Eine Behauptung trug eine Wertung, die das eigene Lagebild widerlegt. Im Faktencheck stand bestaetigt, die Migranten haetten Ceuta "freiwillig" verlassen. Drei Zeilen darueber berichtet dasselbe Dokument, dass die Behoerden zur Umkehr aufforderten, mit Abschiebung drohten und Soldaten verbliebene Personen zusammentrieben. Wertende Zusaetze gehoeren jetzt nur in die Behauptung, wenn genau dieser Zusatz belegt ist. 2. Eine korrigierte Zahl stand als Spanne. "Mindestens 57 bis 67 Tote" praesentiert einen ersetzten und einen aktuellen Stand als gleichwertige Bandbreite. Der Bericht vom Vortag hatte denselben Sachverhalt noch als Verlauf aufgeloest, was methodisch richtig ist. Korrigierte Werte werden jetzt als Zeitreihe dargestellt; eine Spanne bleibt der Fall, in dem verschiedene Stellen gleichzeitig verschiedene Werte erheben, dann mit Zuordnung. Die Regel steht auch in den drei Analyse-Vorlagen und in der Kachel Neueste Entwicklungen, weil die Formulierung dort entsteht. 3. Der Faktencheck bestaetigte zehn von zehn Behauptungen. Ein Raster, das nie zu einem anderen Ergebnis kommt, transportiert keine Pruefinformation. Der Auftrag verlangt jetzt, auch strittige, schwach belegte oder unterschiedlich dargestellte Aussagen aufzunehmen, ohne dazu etwas zu erfinden. Neu sind 4 Pruefungen, insgesamt laufen 224 ohne Netzzugriff und ohne Kosten. Co-Authored-By: Claude Opus 5 (1M context) --- src/agents/analyzer.py | 8 ++++++++ src/agents/factchecker.py | 19 ++++++++++++++++++- tests/test_faktencheck_belegtiefe.py | 13 +++++++++++++ 3 files changed, 39 insertions(+), 1 deletion(-) diff --git a/src/agents/analyzer.py b/src/agents/analyzer.py index 22ec294..4c24154 100644 --- a/src/agents/analyzer.py +++ b/src/agents/analyzer.py @@ -37,6 +37,8 @@ REGELN: - KEINE Gedankenstriche (—, –) verwenden — stattdessen Kommas, Doppelpunkte oder neue Saetze - Nur gesicherte Informationen in die Zusammenfassung - Bei widersprüchlichen Angaben beide Seiten erwähnen +- Wurde eine Zahl im Verlauf korrigiert, stelle sie als Verlauf dar und nicht als Spanne: "mindestens 67 Tote, zuvor war von 57 die Rede" statt "57 bis 67 Tote". Eine Spanne ist nur richtig, wenn verschiedene Stellen zum selben Zeitpunkt verschiedene Werte erheben, dann jeweils mit Zuordnung ("50.000 laut Innenministerium, 60.000 laut Regionalregierung") +- Wertende Wörter nur, wenn die Quellen genau diese Wertung tragen. Erfolgte eine Rückkehr nach behördlicher Aufforderung und unter Androhung von Abschiebung, heißt es "kehrten zurück", nicht "kehrten freiwillig zurück" - Wenn eine Quelle eine erkennbare Ausrichtung hat (z.B. pro-russisch, pro-iranisch, staatsnah, rechtsextrem), muss dies im Fliesstext erwaehnt werden, damit der Leser die Information einordnen kann. Beispiel: "Laut dem pro-russischen Telegram-Kanal Rybar..." oder "Die iranische Nachrichtenagentur Fars meldete..." oder "Der rechtsextreme Kanal Compact behauptete..." - Quellen immer mit [Nr] referenzieren - Jede verwendete Quelle MUSS im sources-Array aufgelistet sein @@ -89,6 +91,8 @@ REGELN: - KEINE Gedankenstriche (—, –) verwenden — stattdessen Kommas, Doppelpunkte oder neue Saetze - Nur gesicherte Informationen verwenden - Bei widersprüchlichen Angaben beide Seiten erwähnen +- Wurde eine Zahl im Verlauf korrigiert, stelle sie als Verlauf dar und nicht als Spanne: "mindestens 67 Tote, zuvor war von 57 die Rede" statt "57 bis 67 Tote". Eine Spanne ist nur richtig, wenn verschiedene Stellen zum selben Zeitpunkt verschiedene Werte erheben, dann jeweils mit Zuordnung ("50.000 laut Innenministerium, 60.000 laut Regionalregierung") +- Wertende Wörter nur, wenn die Quellen genau diese Wertung tragen. Erfolgte eine Rückkehr nach behördlicher Aufforderung und unter Androhung von Abschiebung, heißt es "kehrten zurück", nicht "kehrten freiwillig zurück" - Wenn eine Quelle eine erkennbare Ausrichtung hat (z.B. pro-russisch, pro-iranisch, staatsnah, rechtsextrem), muss dies im Fliesstext erwaehnt werden, damit der Leser die Information einordnen kann. Beispiel: "Laut dem pro-russischen Telegram-Kanal Rybar..." oder "Die iranische Nachrichtenagentur Fars meldete..." oder "Der rechtsextreme Kanal Compact behauptete..." - Quellen immer mit [Nr] referenzieren - Jede verwendete Quelle MUSS im sources-Array aufgelistet sein @@ -140,6 +144,8 @@ REGELN: - Neutral und sachlich - keine Wertungen oder Spekulationen - KEINE Gedankenstriche (—, –) verwenden — stattdessen Kommas, Doppelpunkte oder neue Saetze - Bei widersprüchlichen Angaben beide Seiten erwähnen +- Wurde eine Zahl im Verlauf korrigiert, stelle sie als Verlauf dar und nicht als Spanne: "mindestens 67 Tote, zuvor war von 57 die Rede" statt "57 bis 67 Tote". Eine Spanne ist nur richtig, wenn verschiedene Stellen zum selben Zeitpunkt verschiedene Werte erheben, dann jeweils mit Zuordnung ("50.000 laut Innenministerium, 60.000 laut Regionalregierung") +- Wertende Wörter nur, wenn die Quellen genau diese Wertung tragen. Erfolgte eine Rückkehr nach behördlicher Aufforderung und unter Androhung von Abschiebung, heißt es "kehrten zurück", nicht "kehrten freiwillig zurück" - Falls das BISHERIGE LAGEBILD Umschreibungen enthält (ae, oe, ue, ss anstelle von ä, ö, ü, ß), ersetze diese beim Aktualisieren durch echte Umlaute. Die Regel "echte UTF-8-Umlaute" hat Vorrang vor der Regel "bestehende Formulierungen beibehalten". - Wenn eine Quelle eine erkennbare Ausrichtung hat (z.B. pro-russisch, pro-iranisch, staatsnah, rechtsextrem), muss dies im Fliesstext erwaehnt werden, damit der Leser die Information einordnen kann. Beispiel: "Laut dem pro-russischen Telegram-Kanal Rybar..." oder "Die iranische Nachrichtenagentur Fars meldete..." oder "Der rechtsextreme Kanal Compact behauptete..." - Quellen immer mit [Nr] referenzieren @@ -235,6 +241,8 @@ REGELN zur Formulierung: - Wenn eine Quelle eine erkennbare politische Ausrichtung hat (pro-russisch, staatsnah, rechtsextrem etc.), im Bullet-Text erwähnen ("laut pro-russischem Telegram-Kanal Rybar..."). - KEINE Gedankenstriche (—, –). Stattdessen Kommas, Doppelpunkte, neue Sätze. - Bei widersprüchlichen Angaben beide Seiten knapp nennen. +- Korrigierte Zahlen als Verlauf, nicht als Spanne ("Zahl der Toten steigt auf 67" statt "57 bis 67 Tote"). +- Wertende Wörter nur, wenn die Meldung genau diese Wertung trägt (nicht "freiwillig zurückgekehrt", wenn die Rückkehr nach behördlicher Aufforderung erfolgte). - KEINE Einleitung, KEINE Überschrift, KEINE Nachbemerkungen. OUTPUT-FORMAT (ausschliesslich, kein Code-Fence, JEDE Zeile beginnt mit "- "): diff --git a/src/agents/factchecker.py b/src/agents/factchecker.py index 4f9deaa..f457d22 100644 --- a/src/agents/factchecker.py +++ b/src/agents/factchecker.py @@ -378,7 +378,24 @@ BEWERTUNGSREGELN (verbindlich, sie gehen allen Angaben oben vor): Auslöser ist unklar", "Eine unabhängige Bestätigung steht aus", "Die Lage bleibt unübersichtlich") sind nicht prüfbar und gehören NICHT in den Faktencheck. Formuliere stattdessen die prüfbare Tatsache dahinter oder lass - den Punkt weg.""" + den Punkt weg. +- Die Behauptung nennt die Tatsache, nicht ihre Bewertung. Wertende Zusätze wie + "freiwillig", "erfolgreich", "chaotisch", "rechtmäßig" gehören nur hinein, + wenn genau dieser Zusatz belegt ist. Belegen die Quellen etwa eine Rückkehr, + die nach behördlicher Aufforderung und unter Androhung von Abschiebung + erfolgte, dann lautet die Behauptung "sind zurückgekehrt", nicht "sind + freiwillig zurückgekehrt". +- Korrigierte Werte sind eine Zeitreihe, keine Spanne. Wenn eine Zahl im Verlauf + aktualisiert wurde, nenne den aktuellen Stand und die Korrektur ("mindestens + 67, zuvor wurden 57 gemeldet"), nicht beide Werte als Bandbreite ("57 bis + 67"). Eine Spanne ist nur richtig, wenn verschiedene Stellen zum selben + Zeitpunkt verschiedene Werte erheben, dann mit Zuordnung. +- Nimm bewusst auch strittige Punkte auf. Ein Faktencheck, in dem jede + Behauptung bestätigt wird, sagt dem Leser nichts. Wähle unter den Aussagen + auch solche aus, die nur eine Quelle haben, umstritten sind oder von den + Beteiligten unterschiedlich dargestellt werden, und bewerte sie ehrlich. Wenn + die Meldungen wirklich nichts Strittiges hergeben, ist das ein Ergebnis und + keine Pflicht zur Erfindung.""" def bewertungsregeln() -> str: diff --git a/tests/test_faktencheck_belegtiefe.py b/tests/test_faktencheck_belegtiefe.py index bfdf7a9..908ba8a 100644 --- a/tests/test_faktencheck_belegtiefe.py +++ b/tests/test_faktencheck_belegtiefe.py @@ -180,6 +180,19 @@ umschreibungen = ["fuer", "muessen", "koennen", "haeuser", "zaehlt", "Widersprue gefunden = [u for u in umschreibungen if u.lower() in regeln.lower()] pruefe("D6 Regeln nutzen echte Umlaute statt Umschreibungen", not gefunden, gefunden) +# Drei Befunde aus dem Bericht zu Lage 60 vom 02.08.2026: eine Behauptung trug +# das Wort "freiwillig", obwohl das eigene Lagebild von behoerdlicher +# Aufforderung und Abschiebungsandrohung berichtete; eine korrigierte Todeszahl +# stand als Spanne "57 bis 67"; und alle zehn Behauptungen waren bestaetigt. +for stichwort, name in ( + ("freiwillig", "D7 wertende Zusaetze nur bei Beleg"), + ("Zeitreihe", "D8 korrigierte Werte sind eine Zeitreihe"), + ("strittige Punkte", "D9 strittige Punkte gehoeren in den Faktencheck"), + ("jede\n Behauptung bestätigt wird, sagt dem Leser nichts", + "D10 lauter Bestaetigungen sind kein Ergebnis"), +): + pruefe(name, stichwort in regeln) + # --------------------------------------------------------------------------- # E. Nachhak-Runde