<EbeneX/>
Grundlagen LLM · Updated 11. März 2026

Self-Consistency

Definition

Eine Prompting-Technik, bei der mehrere Antworten generiert und die häufigste als Ergebnis gewählt wird – für zuverlässigere Reasoning-Ergebnisse.

Fortgeschritten 3 Min. Lesezeit EN: Self-Consistency Prompting

Einfach erklärt

Self-Consistency verbessert LLM-Antworten, indem mehrere Antworten generiert und die häufigste gewählt wird. Statt einer Antwort zu vertrauen, nutzt du die “Weisheit der Masse” – aus demselben Modell.

Der Prozess:

Frage: "Was ist 17 × 24?"

Sample 1: "17 × 24 = 17 × 20 + 17 × 4 = 340 + 68 = 408" ✓
Sample 2: "17 × 24 = 400 + 8 = 408" ✓
Sample 3: "17 × 24 = 17 × 25 - 17 = 425 - 17 = 408" ✓
Sample 4: "17 × 24 = 20 × 24 - 3 × 24 = 480 - 72 = 408" ✓
Sample 5: "17 × 24 = 17 × 24 = 388" ✗ (Rechenfehler)

Majority Vote: 408 (4 von 5)
→ Finale Antwort: 408

Warum funktioniert das?

SzenarioEinzelne AntwortSelf-Consistency
Richtige Antwort80% Chance95%+ Chance
HalluzinationMöglichUnwahrscheinlich (inkonsistent)
RechenfehlerMöglichWird überstimmt

Technischer Deep Dive

Implementierung

Einfache Version:

def self_consistency(prompt, model, n_samples=5):
    answers = []
    
    for _ in range(n_samples):
        response = model.generate(
            prompt,
            temperature=0.7  # Varianz für unterschiedliche Pfade
        )
        answer = extract_final_answer(response)
        answers.append(answer)
    
    # Majority Vote
    from collections import Counter
    most_common = Counter(answers).most_common(1)[0][0]
    
    return most_common

Mit OpenAI API:

response = openai.chat.completions.create(
    model="gpt-4",
    messages=[{"role": "user", "content": prompt}],
    n=5,  # 5 Samples in einem Call
    temperature=0.7
)

answers = [choice.message.content for choice in response.choices]

Temperatur-Einstellung

TemperaturEffektFür Self-Consistency
0.0Deterministisch❌ Alle Antworten gleich
0.5-0.7Moderate Varianz✓ Ideal
1.0+Hohe Varianz⚠️ Zu viel Rauschen

Warum nicht Temperatur 0? Bei T=0 sind alle Samples identisch – kein Voting möglich. Varianz ist nötig, um verschiedene Reasoning-Pfade zu explorieren.

Weighted Voting

Statt einfachem Majority Vote können Antworten gewichtet werden:

def weighted_consistency(prompt, model, n_samples=5):
    answers_with_confidence = []
    
    for _ in range(n_samples):
        response = model.generate(prompt, return_logprobs=True)
        answer = extract_answer(response)
        confidence = calculate_confidence(response.logprobs)
        answers_with_confidence.append((answer, confidence))
    
    # Gewichtetes Voting
    weighted_votes = defaultdict(float)
    for answer, confidence in answers_with_confidence:
        weighted_votes[answer] += confidence
    
    return max(weighted_votes, key=weighted_votes.get)

Wann Self-Consistency nutzen?

Gut geeignet:

  • Mathematische Probleme
  • Logik-Rätsel
  • Faktenfragen mit eindeutiger Antwort
  • Code mit klarem Output

Weniger geeignet:

  • Kreative Aufgaben (keine “richtige” Antwort)
  • Offene Fragen
  • Subjektive Bewertungen

Konsistenz als Konfidenz-Maß

def consistency_score(answers):
    """
    Wie einig sind sich die Samples?
    1.0 = alle gleich, 0.0 = alle unterschiedlich
    """
    from collections import Counter
    counts = Counter(answers)
    most_common_count = counts.most_common(1)[0][1]
    return most_common_count / len(answers)

# Beispiel
answers = ["408", "408", "408", "408", "388"]
score = consistency_score(answers)  # 0.8

if score < 0.5:
    print("Warnung: Niedrige Konsistenz, Antwort unsicher")

Kosten-Optimierung

StrategieBeschreibung
Adaptive SamplingStarte mit 3, erhöhe bei niedriger Konsistenz
Early StoppingStoppe wenn 3 von 5 übereinstimmen
Kleineres ModellFür Samples kleineres Modell, für Final größeres
Batch Requestsn-Parameter statt einzelne Calls

Self-Consistency ist wie eine Jury-Abstimmung: Statt einem Richter (eine Antwort) entscheiden mehrere unabhängig – und die Mehrheitsmeinung ist meist zuverlässiger als eine Einzelmeinung.

Generiert mehrere Reasoning-Pfade für dieselbe Frage

Wählt die häufigste finale Antwort (Majority Voting)

Besonders effektiv bei Mathe, Logik und Faktenfragen

Mathematische Probleme

Mehrere Lösungswege, konsistente Antwort gewinnt

Faktenfragen

Reduziert Halluzinationen durch Konsistenzprüfung

Logik-Rätsel

Verschiedene Reasoning-Ansätze, robusteres Ergebnis

Code-Generierung

Mehrere Implementierungen, häufigste Lösung wählen

Wie viele Samples brauche ich?

Typisch 5-20. Mehr Samples = robuster, aber teurer. Für einfache Aufgaben reichen 5, für komplexe 10-20. Ungerade Zahlen vermeiden Ties.

Ist Self-Consistency teurer?

Ja, linear mit Anzahl Samples. 10 Samples = 10x Kosten. Trade-off zwischen Qualität und Budget. Für kritische Aufgaben lohnt es sich.

Funktioniert das mit allen LLMs?

Am besten mit Modellen, die gutes Reasoning können. Bei schwachen Modellen kann Majority Voting auch falsche Antworten verstärken.

Was wenn alle Antworten unterschiedlich sind?

Dann ist die Frage möglicherweise zu schwer oder mehrdeutig. Niedrige Konsistenz ist ein Signal für Unsicherheit.

Dein persönliches Share-Bild für Instagram – 1080×1080px, bereit zum Posten.