Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Eine Halluzinationsrate messen

Nach dieser Lektion: Ich kann messen, wie oft eine Antwort sagt, was ihre Quelle nicht sagt.

Lektion, 70 Min.7 BefehleLab für KI-Coding-Agenten: mit opencode Code erklären und reparieren lassen und die Arbeit prüfen

Wie oft erfindet eine Antwort Fakten?

Eine Halluzination ist eine Behauptung in einer Antwort, die ihre Quelle nicht belegt. Ein Hilfe-Bot, der sagt, die Bibliothek öffne um 8, obwohl sie um 9 öffnet, hat halluziniert.

Um das zu steuern, messen Sie es als Quote und sagen dazu, wie sicher Sie sich bei dieser Quote sind.

Am Ende dieser Lektion

Notiz

Ich kann messen, wie oft eine Antwort sagt, was ihre Quelle nicht sagt.

Schlüsselwörter

BegriffWas er bedeutet
Behauptungeine einzelne Tatsache, die in einer Antwort steht
Quelleder Text, auf den sich die Antwort stützen soll
Unbelegteine Behauptung, die die Quelle nicht stützt
Quoteunbelegte Behauptungen als Anteil aller Behauptungen
Intervallder Bereich, in dem die wahre Quote liegen kann

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Jede Behauptung gegen die Quelle prüfen

Teilen Sie eine Antwort in Behauptungen, je eine Tatsache. Fragen Sie bei jeder, ob die Quelle sie sagt.

Ein einfacher erster Durchgang nutzt Schlüsselwörter. Eine Behauptung ist belegt, wenn jedes Schlüsselwort, das sie braucht, in der Quelle steht. Fehlt eines, ist sie unbelegt.

Durchgerechnetes Beispiel: vier Behauptungen zu einer Quelle

BehauptungSchlüsselwörterIn der Quelle?Urteil
Sie öffnet um 9geöffnet, 9BeideBelegt
Sie hat 15 Computercomputer, 1515 fehltUnbelegt
Die Mahngebühr beträgt 20 Cent pro Tag20, cent, tagAlleBelegt
Sie hat sonntags geöffnetsonntagsFehltUnbelegt

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Die Quote ist eine Zahl durch eine Zahl

Zählen Sie die unbelegten Behauptungen. Teilen Sie durch alle Behauptungen und schreiben Sie das Ergebnis als Prozent. Drei unbelegte von acht sind 37,5 Prozent.

Zählen Sie Behauptungen, nicht Antworten. Eine Antwort mit fünf Behauptungen, von denen eine falsch ist, ist eine schlechte von fünf.

Neu ziehen zeigt, wie grob die Quote ist

Schreiben Sie die 40 Behauptungen als 0 für belegt und 1 für unbelegt. Ziehen Sie 40 Mal zufällig aus dieser Liste und legen Sie jede gezogene Zahl zurück. Zählen Sie die Einsen.

Wiederholen Sie das 200 Mal und sortieren Sie die Zählungen. Die 6. und die 195. begrenzen den Bereich. Ein fester Startwert lässt die Ziehungen sich wiederholen.

Durchgerechnetes Beispiel: 6 unbelegte von 40

SchrittErgebnis
Behauptungen und unbelegte40 und 6
Quote15 Prozent
Niedrigste sortierte Zählung im Bereich2, das sind 5 Prozent
Höchste sortierte Zählung im Bereich10, das sind 25 Prozent
Was Sie berichten15 Prozent, Bereich 5 bis 25

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Ein häufiger Fehler

Warnung

Viele denken, 6 unbelegte von 40 hießen, die wahre Quote sei genau 15 Prozent. Es ist nur, was diese Stichprobe zeigt. Andere 40 Behauptungen könnten 10 oder 20 ergeben. Berichten Sie die Quote mit ihrem Intervall.

Die Modellhilfe schreiben, Teil 1

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const basis = process.env.AI_URL || \"http://ai:4000\";' '// Die Token einer Antwort oder null, wenn sie keine nennt.' 'function zaehlen(daten, name) {' '  return daten.usage && typeof daten.usage[name] === \"number\" ? daten.usage[name] : null;' '}' > model.js"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Die Modellhilfe schreiben, Teil 2

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'async function fragen(nachrichten, probe, max) {' '  try {' '    const res = await fetch(basis + \"/v1/chat/completions\", {' '      method: \"POST\",' '      headers: { \"content-type\": \"application/json\", authorization: \"Bearer lab\" },' '      body: JSON.stringify({ model: \"lab\", messages: nachrichten, max_tokens: max || 100 }),' '      signal: AbortSignal.timeout(30000),' '    });' '    if (res.ok === false) throw new Error(\"Status \" + res.status);' '    const d = await res.json();' '    return { text: d.choices[0].message.content, eingabe: zaehlen(d, \"prompt_tokens\"), ausgabe: zaehlen(d, \"completion_tokens\"), aufgezeichnet: false };' '  } catch (fehler) {' '    console.log(\"Aufgezeichnete Probe: Kein Modell hat geantwortet (\" + fehler.message + \").\");' '    return { text: probe, eingabe: null, ausgabe: null, aufgezeichnet: true };' '  }' '}' 'module.exports = { fragen };' >> model.js"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Quote und Intervall schreiben, Teil 1

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const { fragen } = require(\"./model\");' 'const quelle = \"Die Stadtbibliothek hat werktags von 9 bis 17 Uhr geöffnet. Sie hat 12 Computer. Mitglieder dürfen 6 Bücher für 3 Wochen leihen. Die Mahngebühr beträgt 20 Cent pro Tag.\";' 'const vorhanden = quelle.toLowerCase().split(\".\").join(\" \").split(\" \");' 'const behauptungen = [' '  \"geöffnet 9\", \"17 uhr\", \"computer 12\", \"computer 15\",' '  \"leihen 6 bücher\", \"wochen 4\", \"20 cent tag\", \"sonntags\",' '].map(function (b) { return b.split(\" \"); });' > quote.js"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Quote und Intervall schreiben, Teil 2

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'function belegt(braucht) {' '  return braucht.every(function (w) { return vorhanden.indexOf(w) >= 0; });' '}' 'const schlecht = behauptungen.filter(function (b) { return belegt(b) === false; });' 'const markierungen = \"0001000001000001000000100000100000010000\".split(\"\").map(Number);' >> quote.js"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Quote und Intervall schreiben, Teil 3

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'function intervall(liste, start) {' '  const n = liste.length;' '  const zaehlungen = [];' '  let s = start;' '  for (let r = 0; r < 200; r++) {' '    let summe = 0;' '    for (let k = 0; k < n; k++) { s = (s * 16807) % 2147483647; summe += liste[s % n]; }' '    zaehlungen.push(summe);' '  }' '  zaehlungen.sort(function (a, b) { return a - b; });' '  return [zaehlungen[5] * 100 / n, zaehlungen[194] * 100 / n];' '}' >> quote.js"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Quote und Intervall schreiben, Teil 4

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'async function main() {' '  console.log(\"unbelegt: \" + schlecht.length + \" von \" + behauptungen.length + \" (\" + (schlecht.length * 100 / behauptungen.length) + \" Prozent)\");' '  const einsen = markierungen.filter(function (m) { return m === 1; }).length;' '  const spanne = intervall(markierungen, 12345);' '  console.log(\"größerer Test: \" + einsen + \" von \" + markierungen.length + \" = \" + (einsen * 100 / markierungen.length) + \" Prozent\");' '  console.log(\"Intervall: \" + spanne[0] + \" bis \" + spanne[1] + \" Prozent\");' '  const q = \"Die Quelle sagt, die Bibliothek öffnet um 9 Uhr. Ist diese Behauptung belegt: Sie öffnet um 8? Ein kurzer Satz.\";' '  const probe = \"Nein, laut Quelle öffnet sie um 9 Uhr, also ist die Behauptung nicht belegt.\";' '  const antwort = await fragen([{ role: \"user\", content: q }], probe, 60);' '  console.log(\"Das Modell sagte: \" + antwort.text);' '}' 'main();' >> quote.js"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Quote und Intervall ausführen

Befehl
docker exec -w /home/node/project agent node quote.js

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Was der Run ausgibt

ZeileWas sie zeigt
unbelegt: 3 von 8 (37.5 Prozent)Die Schlüsselwort-Prüfung bei acht Behauptungen
größerer Test: 6 von 40 = 15 ProzentEine aufgezeichnete Liste mit 40 Behauptungen
Intervall: 5 bis 25 ProzentDer durch Neuziehen gewonnene Bereich
Das Modell sagte: ...Eine echte Prüfung aus dem Labor. Eine Aufgezeichnete Probe, wenn kein Modell antwortet

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Über dieses Lab und seinen Quellcode: Lab für KI-Coding-Agenten: mit opencode Code erklären und reparieren lassen und die Arbeit prüfen

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.