Eine modulare Pipeline, die ein politisches Debattentranskript liest, pro Redeblock die rhetorische Strategie benennt — Frage, Ausweichen, Angriff, Strohmann, Gish-Gallop, Whataboutism, Tu quoque, geladene Frage, plus konstruktive Marker — und die Aussagen zu einem typisierten, erkundbaren Graphen verknüpft.
Die Herausforderung
Nach einer ursprünglichen Idee von Jan Häusle; Umsetzung durch Ivo Häusle. Der Gedanke: politische Debatten stecken voller Züge — einer Frage ausweichen, die Person angreifen, mit vielen schwachen Punkten fluten („Gish-Gallop"), das Thema wechseln —, die man als Zuhörer spürt, aber selten festmacht. Die Herausforderung war, diese Intuition in etwas zu verwandeln, das eine Maschine ehrlich sichtbar macht: ein rohes Transkript segmentieren, die kommunikative Funktion jedes Redeblocks benennen, ohne moralisch zu urteilen, und verknüpfen, wer wem antwortet, widerspricht oder zustimmt — und die ganze Struktur erkundbar machen statt als Textwand zu belassen. Glaubwürdig geht das nur durchgängig über mehrere Disziplinen: eine Ingestion, die unsaubere Echtdaten übersteht, NLP/LLM-Detektoren, die präzise statt vorschnell sind, ein Graph-Datenmodell und ein Frontend, das die Analyse lesbar macht.
Das Vorgehen
- Eine fünfstufige Pipeline hinter sauberen Nahtstellen. Ingestion → Segmentierung → Strategie-Erkennung → Beziehungsanalyse → Export, als TypeScript-Monorepo (
shared/pipeline/web). Externe Systeme (Graph-DB, Embedding-Modell, LLM, HTTP-Framework) liegen hinter Adaptern — ein Anbieterwechsel trifft den Adapter, nicht den Kern. - Eine Plugin-Architektur für Detektoren. Neue rhetorische Detektoren kommen über ein einziges
StrategyPlugin-Interface hinzu, ohne den Kern zu berühren. Der Frage-Detektor ist regelbasiert; die übrigen laufen auf einem Open-Weight-, Ollama-kompatiblen LLM mit Confidence-Werten und Kontext-Regeln — bewusst auf Präzision getrimmt (Guards gegen Falsch-Positive) statt auf eifriges Etikettieren. - Ein wachsendes, quellenbelegtes Label-Set. Über die ersten fünf Strategien (Frage, Ausweichen, Angriff, Strohmann, Gish-Gallop) hinaus deckt das Set nun Whataboutism, Tu quoque und geladene Frage / voreingenommenes Framing ab — plus die ersten konstruktiven Marker (Evidenz-Bezug, Zugeständnis, Anerkennung), damit die Analyse nicht nur Bad-Faith-Züge zeigt.
- Ein typisierter Beziehungsgraph. Aussagen werden mit Content-Verifikation und typisierten Kanten verknüpft (antwortet-auf, widerspricht, stützt, Themenwechsel) und in einem Graph-Store persistiert; embedding-basierte Themenwechsel-Erkennung (BGE-M3) treibt Segmentierung und Beziehungs-Neuzuordnung.
- Ein Explorer, kein Report. Eine React-+-Cytoscape-GUI stellt die annotierte Debatte als interaktiven Graphen dar — mit Farb-Legende, quellenbelegter Theorie-&-Methodik-Seite, In-App-Pflege von Sprechern und Beispielen und kraftbasierter Entzerrung dichter Graphen.
- Rechtlich saubere Daten by Design. Der Demo-Korpus basiert auf gemeinfreien Bundestags-Plenarprotokollen (§ 5 UrhG) plus einer US-Präsidentschaftsdebatte — bewusst so gewählt, dass das ausgelieferte Produkt keinen Rechte-Ballast trägt; Quellen benannt, nur analysierte Auszüge committet.
- Echte Test- und CI-Disziplin. CI läuft Typecheck, Unit-Tests, Integrationstests gegen eine echte Graph-Datenbank und ein Lizenz-Gate (nur permissive Lizenzen, Funde in ADRs dokumentiert); die Pipeline wurde end-to-end gegen ein echtes lokales LLM ausgeführt, nicht nur statisch geprüft.
Das Ergebnis
- Ein funktionierendes End-to-End-System: eine Debatte geht rein, ein annotierter typisierter Graph kommt raus, im Browser als interaktive Cytoscape-Ansicht — alle Detektoren gegen ein echtes Open-Weight-LLM.
- Deployt und hinter Review-Login. Das Frontend ist unter einer privaten URL hinter HTTP Basic Auth live; das Fastify-Backend läuft auf einem eigenen Rechner, erreichbar über einen Tailscale-Funnel, mit einer end-to-end verifizierten Login-Kette (Browser → Vercel-Edge → Backend).
- Substanzielle, ehrliche Engineering-Doku: ein PRD (~35 User Stories), 16+ ADRs, die Entscheidungen samt verworfener Alternativen festhalten, und ein dokumentierter Satz realer Eingabe-Limitationen (Diarisierungs-Rauschen, fehlende Sprecher-Labels), den die Ingestion als Warnungen-als-Daten abfängt statt zu crashen.
- Eine wahrhaftige „heute vs. Roadmap"-Trennung: ausgeliefert sind heute Kern-Pipeline, Detektor-Set und Explorer; auf der Roadmap stehen ein gold-annotierter Genauigkeits-Korpus, weitere GUI-Ansichten (Qualitätsachse, Konvergenz-Ansicht), Debatten-Vergleich und Englisch als vollwertige zweite Sprache.
Was das zeigt
- Interdisziplinäre Bandbreite, durchgängig verantwortet: angewandtes NLP/LLM (präzisionsgetrimmte Detektoren, Prompt-Engineering), Graph-Datenmodellierung, eine saubere Pipeline-Architektur, ein React/Cytoscape-Frontend und CI/Deployment.
- Sicherheit bei echt schwierigen, unscharfen Problemen — rhetorische Funktion benennen ohne zu moralisieren, unsaubere Echt-Transkripte überstehen — nicht nur CRUD.
- Architektur zuerst, entscheidungsgetrieben: Adapter- und Plugin-Nahtstellen, Konfiguration statt Verdrahtung, und eine ADR-Spur, die das Warum zeigt, nicht nur das Was.
- Rechts- und Lizenz-Sorgfalt passend zu einem Verkaufsprodukt: gemeinfreie Quelldaten, ein Gate nur für permissive Dependencies, Quellen benannt.
- Moderne, KI-gestützte Umsetzung, vom Menschen gesteuert und kuratiert — die starke Idee eines anderen in ein poliertes, dokumentiertes, deploytes Produkt verwandelt.
Technik auf einen Blick
TypeScript · Node / Fastify · Apache AGE (Graph-DB) · Embedded Graph-Store · LLM (Ollama-kompatibel, Open-Weight) · BGE-M3-Embeddings · React · Cytoscape · Vite · Docker · CI (GitHub Actions) · Tailscale-Funnel