• Opdateret 20. maj 11 min læsning

Hvordan jeg byggede AI-spørgsmålsgenerering der aldrig gentager sig

Bag kulisserne i QuizFight: faktatjek-pipeline, sværhedsgrads-scoring, deduplikering og hvordan man får en LLM til at producere frisk, brugbart indhold i stedet for gentagelser.

AILLMQuizFightOpenAIProduktudvikling

Når folk hører, at QuizFight bruger AI til at generere spørgsmål, er det første de siger næsten altid det samme:

“Jamen… så gentager det sig vel bare hele tiden?”

Svaret er nej. Og det er ikke fordi vi har en kæmpe database med manuelt kuraterede spørgsmål. Det er fordi vi byggede en pipeline, der aktivt forhindrer gentagelser og dårligt indhold.

Her er præcis hvordan den virker.

Problemet med rå LLM-output

Hvis du bare spørger GPT-4o “giv mig 10 quiz-spørgsmål om Danmark”, får du ofte:

  • Gentagelser inden for 20–30 spørgsmål
  • Faktafejl (især med årstal og navne)
  • Spørgsmål der er for lette eller for svære til den valgte kategori
  • “Hvem er statsminister i Danmark?” – igen og igen

Det dur ikke i et produkt hvor spillere møder 5–15 spørgsmål per runde, flere gange om ugen.

Vores 4-lags pipeline

Hver gang en spiller starter en runde, gennemgår spørgsmålene fire lag før de når frontend.

Lag 1: Generering med streng prompt + structured output

Vi bruger OpenAI’s structured outputs (JSON mode med schema). Prompten er ekstremt specifik:

  • Emne + sværhedsgrad
  • “Undgå alle tidligere spørgsmål fra denne session”
  • “Svar skal være faktuelt korrekte pr. 2026”
  • “Ingen trick-spørgsmål eller ‘hvad er mit yndlings-’-formuleringer”

Lag 2: Faktatjek-pipeline (det vigtigste lag)

Her sker magien.

Vi har en lille model (billig, hurtig) der får spørgsmålet + svaret og skal svare:

  1. Er påstanden faktuelt korrekt? (ja/nej + kilde-konfidens)
  2. Er der nogen kendt modstridende information?
  3. Hvor sikker er du? (0–100)

Hvis konfidensen er under en tærskel, eller der er tvivl, bliver spørgsmålet kasseret og aldrig vist til spillere.

Dette lag fanger ca. 12–18 % af alle genererede spørgsmål.

Lag 3: Sværhedsgrads-scoring

Vi har en separat scorer der vurderer, hvor svært spørgsmålet er for den valgte kategori og spilmode.

Et spørgsmål som “Hvad er hovedstaden i Frankrig?” får en meget lav score i “Geografi – Svær” og bliver enten droppet eller flyttet til en lettere kategori.

Dette lag sikrer, at “What Year?” ikke pludselig spørger om noget alle 12-årige ved.

Lag 4: Deduplikering mod historik (den del folk undervurderer)

Dette er det lag, der gør at spørgsmål aldrig gentager sig.

Vi har en vektor-database (simpel embeddings + cosine similarity) over alle tidligere godkendte spørgsmål.

Nyt spørgsmål → embedding → sammenlignes med de sidste 8.000 godkendte spørgsmål.

Hvis similarity > 0.87, bliver det kasseret.

Det betyder, at selvom to spørgsmål er semantisk næsten identiske (“Hvem vandt EM i 1992?” og “Hvilket land vandt fodbold-EM i 1992?”), så bliver kun det ene vist.

Dette lag fanger overraskende mange gentagelser – selv på tværs af kategorier.

Hvad det betyder i praksis

En gennemsnitlig spiller i QuizFight møder ca. 40–60 unikke spørgsmål på en uge på tværs af forskellige modes.

Af dem er under 3 % noget de har set før (ifølge vores interne målinger).

Og det uden at vi har en eneste menneske, der sidder og skriver spørgsmål.

Hvorfor det her er vigtigere end folk tror

De fleste AI-produkter i 2026 fejler ikke på grund af dårlige modeller. De fejler på grund af manglende guardrails.

Hvis du bare “smider” en LLM ind i et produkt uden:

  • Faktatjek
  • Sværhedsgradskontrol
  • Deduplikering
  • Session-hukommelse

…så får brugerne hurtigt en “det her har jeg set før”-følelse. Og så er de væk.

I QuizFight er det her en af grundene til at folk bliver hængende i månedsvis i stedet for dage.

Vil du bygge noget lignende?

Den her type pipeline (generering + validering + dedup) er nyttig i mange andre domæner end quiz:

  • Personaliserede træningsprogrammer
  • Indhold til nyhedsbreve
  • Support-svar der ikke gentager sig
  • Produktbeskrivelser der føles unikke

Hvis du sidder med et projekt hvor “AI skal generere noget, men det må ikke blive kedeligt eller forkert”, så ræk gerne ud.

Jeg har bygget den her slags systemer flere gange nu – både som solo-produkter og til andre grundlæggere.

Book 20 min. intro

Eller læs den fulde case om QuizFight – inklusive de andre tekniske udfordringer (realtime duels, cross-platform, rank progression).


Artiklen er skrevet af Halfdan Harring, grundlægger af QuizFight (quizfight.app) – en realtime quiz-platform med over 160 kategorier og 5 forskellige spilmodes.

Har du et projekt, der ligner det her?

Jeg tager kun 2–3 nye kunder ad gangen. Skriv, så ser vi om det er et match.

Start en samtale