Files
Kniepunkt/kniepunkt/quality.py
T
ankn e08c484838 Add KNIEPUNKT Assistant with multi-LLM editorial workflow
Six-step weekly workflow (research → sources → storyline → draft →
quality → publication) supporting Claude, ChatGPT, Gemini, and Mistral
in parallel for creative steps. Web search via Anthropic tool for news
research. Episode index built from 34 existing KNIEPUNKT episodes for
redundancy checks. Sessions persisted as JSON for mid-workflow resume.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 23:54:23 +02:00

42 lines
1.6 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""Quality review: tone, opinion, sources, redundancy."""
from rich.console import Console
from rich.panel import Panel
console = Console()
_SYSTEM = """Du bist ein strenger Redaktions-Qualitätsprüfer für die KNIEPUNKT-Kolumne.
Flagge Probleme klar mit: [SCHWACHE QUELLE] [FEHLENDER BELEG] [ZU TECHNISCH] [FEHLENDE MEINUNG] [FEHLENDE EINORDNUNG] [REDUNDANZ] [TON-PROBLEM] [FAKTENPROBLEM]
Sei direkt und konstruktiv. Weise auch auf Stärken hin."""
def review(client, draft: str, source_assessment: str, episodes_context: str) -> str:
"""Full quality review of the draft."""
from kniepunkt.llm import chat
console.print("\n[yellow]Qualitätsprüfung...[/yellow]")
prompt = f"""Führe eine vollständige Qualitätsprüfung dieses KNIEPUNKT-Entwurfs durch.
Entwurf:
{draft}
Quellenbewertung:
{source_assessment[:800]}
Frühere Episoden (Redundanzcheck):
{episodes_context[:1500]}
Prüfe:
1. **Ton** Kolumnenhaft, amüsant, pointiert? Zielgruppengerecht?
2. **Meinung** Kommt die Autorenmeinung deutlich vor?
3. **Einordnung** Lesernahe Interpretation oder nur Nachrichtenzusammenfassung?
4. **Quellen** Belege ausreichend? Schwache oder fehlende Quellen?
5. **Redundanz** Allegorien, Referenzen oder Winkel aus früheren Episoden wiederholt?
6. **Technische Tiefe** Zu technisch für die Zielgruppe?
7. **Fakten** Ungesicherte oder widersprüchliche Aussagen?
8. **Stärken** Was funktioniert besonders gut?
Gesamtbewertung: 🟢 bereit zur Freigabe / 🟡 kleine Anpassungen nötig / 🔴 überarbeiten"""
return chat(client, [{"role": "user", "content": prompt}], _SYSTEM, max_tokens=2048)