Zurück zur Startseite

Triage-and-Voice: Fix für LLM-Halluzinationen

Triage-and-Voice-Muster löst das Halluzinationsproblem bei LLM, indem es Analyse und Antwortgenerierung trennt. Erster Durchlauf extrahiert strukturierte Daten, Backend ersetzt verifizierte Fakten, zweiter formt die Stimme. Beschleunigung um das 2–3-Fache, Sicherheit durch Code.

Geteilter LLM: Triage-and-Voice gegen Halluzinationen
Advertisement 728x90

Das Triage-und-Voice-Architekturmuster zur Vermeidung von LLM-Halluzinationen

Ein LLM in einem Chatbot analysiert eine Konversation und erfindet anstelle der tatsächlichen Hotline-Nummer eine Kinderhilfsnummer. Die Anweisung "erfinde keine Kontakte" wird ignoriert. Der Grund ist ein Konflikt von Aufgaben in einem einzigen Durchlauf: Präzise Analyse und empathische Antwort konkurrieren um Tokens, was zu Halluzinationen bei kritischen Daten führt.

Das Problem mit der Single-Pass-Architektur

Im Standard-LLM-Produktschema geht die Benutzereingabe direkt an das Modell, das die endgültige Antwort erzeugt. Die Analyse erfordert eine strukturierte JSON-Ausgabe mit präzisen Fakten: Teilnehmer, Risiken, Ziele. Die Formulierung der Antwort ist eine kreative Aufgabe, die Stimme und Tonfall umfasst.

Die Kombination dieser Aufgaben in einer einzigen Prompt führt zu Kompromissen:

Google AdInline article slot
  • Das Modell opfert Genauigkeit für Stil.
  • Halluzinationen werden als überzeugender Text getarnt.
  • Es ist unmöglich, programmatisch zwischen Fakt und Fiktion zu unterscheiden.

Eine Erhöhung der Modellleistung (Reasoning-Modelle, mehr Tokens) reduziert die Fehlerhäufigkeit, beseitigt das Problem aber nicht. In komplexen Fällen mit Subtext verwechseln selbst Top-Modelle Motive und erfinden Details. Das Risiko betrifft vertrauenswürdige Daten: Preise, Adressen, Dosierungen, Servicekontakte.

Das Triage-und-Voice-Muster

Teile die Verarbeitung in zwei LLM-Durchläufe mit einem Backend-Gatekeeper dazwischen auf.

Durchlauf 1: Triage. Strukturelle Analyse ohne Stil. Das Modell extrahiert das Signal in JSON:

Google AdInline article slot
{
  "stimmung": "ängstlich",
  "ist_krise": false,
  "krisentyp": null,
  "teilnehmer": [...],
  "motive": [...]
}

Krisenbeispiel:

{
  "stimmung": "rote_flagge",
  "ist_krise": true,
  "krisentyp": "gewalt"
}

Backend-Gate. Deterministischer Code prüft Flags:

if (triage.IsCrisis) {
    var contacts = await db.GetVerifiedCrisisContacts(triage.CrisisType);
    prompt = crisisPromptTemplate.WithContacts(contacts);
}

Verifizierte Daten aus der Datenbank werden eingefügt. Routing nach Regeln: Krise → spezielle Prompt.

Google AdInline article slot

Durchlauf 2: Voice. Das Modell erhält angereicherte Eingaben und generiert eine Antwort im gewünschten Ton. Es analysiert oder erfindet keine Fakten.

Tests mit DeepSeek V3.2 (Dutzende Krisenfälle): null Kontakt-Halluzinationen.

Vorteile der Trennung

  • Trennung der Verantwortlichkeiten. Triage konzentriert sich auf Struktur (Tokens für Fakten). Voice konzentriert sich auf Stil (Tokens für Empathie). Die Qualität in beiden Dimensionen verbessert sich (verifiziert an 40 Eval-Fällen).
  • Caching. Die Analyse wird einmal durchgeführt. Bei Änderung der Stimme (Perspektiven in einem Telegram-Bot) wird nur Voice erneut ausgeführt. Metriken: erste Antwort 30–45 s (vs. 50–90 s), nachfolgende Antworten 15–20 s.
  • Sicherheit. Die Kontrolle liegt im Code, nicht in der Prompt. Das Modell setzt ein Flag ("wann"), das Backend entscheidet ("was"). Testbar, vorhersehbar.

Anwendungsszenarien

Das Muster ist relevant für LLM-Produkte mit:

  • Eingabeanalyse + Ausgabegenerierung.
  • Vertrauenswürdigen Daten (Finanzen, Rechtsreferenzen, Medizin).
  • Grenzfällen (Krisen, Ausnahmen).
  • Mehreren Perspektiven ohne Neuanalyse.
  • Einem benötigten Kontrollpunkt zwischen Analyse und Ausgabe.

Prinzip: Modell analysiert → Code entscheidet → Modell formuliert.

Refactoring-Signal: Die Prompt enthält "ERFINDE KEINE [Daten]".

Wichtige Punkte

  • Architekturwechsel: von einem Aufruf zu zwei mit einem Gate, um Aufgabenkonflikte zu eliminieren.
  • Leistungsmetriken: Analyse wird gecached, Voice beschleunigt sich um das 2–3-fache.
  • Sicherheit: Deterministisches Backend fügt Fakten ein, Modell berührt nicht die Datenbank.
  • Skalierbarkeit: Anwendbar auf Chatbots, Analytik, Produkte mit Grenzfällen.
  • Verifiziert: 40 Eval + Dutzende Krisenläufe ohne Halluzinationen.

Risiken der naiven Architektur

Ein Aufruf = atomare Operation ohne Validierung. Fehlt:

  • Validierung der Modellentscheidung vor Erreichen des Nutzers.
  • Analyse-Cache.
  • Routing für Grenzfälle.
  • Einfügung verifizierter Daten.

Probabilistischer Generierung an kritischen Stellen zu vertrauen ist eine Schwachstelle. Triage-und-Voice fügt Kontrolle hinzu: +1 Aufruf, +1 Gate = verifizierbare Pipeline.

— Editorial Team

Advertisement 728x90

Weiterlesen