Hoppa till innehållet
AI-grafen
F· AI engineeringevals-benchmarks· ca 90 min· volatil — kontrolleras ofta· verifierad 2026-09-20

LLM som domare

Kunna använda en modell för bedömning, mäta överensstämmelse med människor och känna igen bias.

Förkunskaper

Intuition

När svaren är fritext skalar inte mänsklig bedömning. En LLM som domare bedömer i stället — men den har systematiska fel som måste hanteras:

BiasVad den görMotmedel
Positionföredrar första (eller sista) alternativetslumpa ordning, kör båda och medelvärdesbilda
Längdlängre svar bedöms som bättreexplicit längdneutralitet i rubriken; kontrollera korrelation
Självpreferensföredrar text från samma modellfamiljanvänd en annan modell som domare än den som svarat
Stillistor och rubriker premierasrubrik som skiljer form från innehåll
Mildhetnästan allt får 4 av 5parvis i stället för absolut skala

Parvis jämförelse med slumpad ordning löser mest av detta på en gång.

Kod

import random, numpy as np

RUBRIK = """Jämför två svar på samma fråga. Bedöm ENBART innehållet: korrekthet först, sedan
fullständighet. Låt dig INTE påverkas av längd, formatering eller självsäker ton.
Svara med exakt ett av: A, B, LIKA."""

def parvis(llm, fraga, svar_a, svar_b, rng):
    """Kör båda ordningarna — om domaren är inkonsekvent räknas det som LIKA."""
    roster = []
    for flip in (False, True):
        x, y = (svar_b, svar_a) if flip else (svar_a, svar_b)
        ut = llm(f"{RUBRIK}\n\nFRÅGA: {fraga}\n\nSVAR 1:\n{x}\n\nSVAR 2:\n{y}", temperature=0).strip().upper()[:4]
        if ut.startswith("LIKA"):
            roster.append("LIKA")
        else:
            forst = ut.startswith("A") or ut.startswith("1")
            roster.append(("B" if flip else "A") if forst else ("A" if flip else "B"))
    return roster[0] if roster[0] == roster[1] else "LIKA"

def kalibrera(domarrost, manniskorost):
    """Överensstämmelse mellan domare och människa — rapportera alltid detta."""
    par = [(d, m) for d, m in zip(domarrost, manniskorost) if m != "LIKA"]
    return sum(d == m for d, m in par) / max(len(par), 1)

# Under ~0,75 överensstämmelse: rubriken duger inte. Skriv om den och mät igen.

Kalibrering är inte valfri. Ta 100 fall, låt två människor bedöma dem, mät domarens överensstämmelse — och rapportera den siffran bredvid alla resultat domaren producerar. Utan den vet ingen vad måttet är värt.

Behärskning innebär

  • Bygger en domare med rubrik och parvis jämförelse
  • Mäter överensstämmelse med mänskliga bedömningar
  • Känner igen och motverkar domarens bias

Logga in för att göra övningarna och bygga upp din behärskning.

Källor

Alla källor och licenser