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

Prüfen, was ein Modell gesehen hat

Nach dieser Lektion: Ich kann jede Behauptung in der Beschreibung eines Modells mit bekannten Tatsachen abgleichen und entscheiden, ob ich die Antwort annehme.

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

Die Beschreibung klingt richtig, stimmt sie aber?

Ein Modell beschreibt ein Foto: zwei Katzen, ein roter Ball und ein Schild mit OFFEN. Es klingt sicher. Doch ein Modell kann einen Hund hinzufügen, der nicht da ist, oder drei Katzen nennen, wo es zwei sind.

Diese Lektion zeigt, wie Sie jede Behauptung mit dem abgleichen, was Sie über die Eingabe wissen.

Am Ende dieser Lektion

Notiz

Ich kann jede Behauptung in der Beschreibung eines Modells mit bekannten Tatsachen abgleichen und entscheiden, ob ich die Antwort annehme.

Schlüsselwörter

BegriffWas er bedeutet
Behauptungeine einzelne Aussage einer Antwort über die Eingabe
Belegdie bekannte Tatsache, mit der man eine Behauptung abgleicht
Erfundeneine Behauptung über etwas, das nicht in der Eingabe ist
Ungeprüfteine Behauptung, zu der es keine Tatsache zum Abgleich gibt
Urteildas Ergebnis der Prüfung einer Behauptung

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

Eine Antwort in Behauptungen zerlegen

Eine Antwort lässt sich leichter prüfen, wenn Sie sie in Behauptungen zerlegen, jede klein genug, um wahr oder falsch zu sein. „Zwei Katzen und ein roter Ball“ sind drei Behauptungen.

Prüfen können Sie nur, wozu Sie eine Tatsache haben. Sie kann aus der Eingabe selbst stammen, etwa durch Zählen in einem Raster, oder von einer Person, die das Bild kennt.

Vier Behauptungen und ihre Tatsachen

BehauptungBekannte TatsacheUrteil
Es gibt 2 KatzenKatzen: 2belegt
Es gibt 3 KatzenKatzen: 2falsche Zahl
Es gibt einen Hundkein Hund gezählterfunden
Die Tür ist rotkeine Farbe für die Tür bekanntungeprüft

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

Erst das Erfundene, dann der Abgleich

Prüfen Sie jede Behauptung in fester Reihenfolge. Zuerst: Gibt es das Ding überhaupt? Wenn nicht, ist sie erfunden. Dann: Gibt es eine Tatsache zum Abgleich? Wenn nicht, ist sie ungeprüft.

Erst danach vergleichen Sie den Wert. Stimmt er nicht, nennen Sie das Urteil bei Namen, etwa falsche Zahl oder falsche Farbe.

Ein häufiger Fehler

Warnung

Viele nehmen eine Antwort an, weil das meiste daran stimmt. Eine einzige erfundene Behauptung reicht aber, um die ganze Antwort zu verwerfen, denn dann hat das Modell etwas gesehen, das nicht da ist. Entscheiden Sie nach dem schlimmsten Urteil.

Modell-Helfer 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.

Modell-Helfer 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.

Prüf-Skript schreiben, Teil 1

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const { fragen } = require(\"./model\");' 'const raster = [\"..R...\", \".B..R.\", \"R.....\", \"...G..\"];' 'const behauptungen = [' '  { art: \"zahl\", ding: \"R\", wert: 3 },' '  { art: \"zahl\", ding: \"B\", wert: 2 },' '  { art: \"zahl\", ding: \"S\", wert: 1 },' '  { art: \"vorhanden\", ding: \"G\" },' '];' > pruefen5.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.

Prüf-Skript schreiben, Teil 2

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'function tatsachen(r) {' '  const zaehler = {};' '  for (const zeile of r) {' '    for (const z of zeile) {' '      if (z === \".\") continue;' '      zaehler[z] = (zaehler[z] || 0) + 1;' '    }' '  }' '  return zaehler;' '}' >> pruefen5.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.

Prüf-Skript schreiben, Teil 3

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'function urteil(zaehler, b) {' '  if (b.art === \"vorhanden\") return b.ding in zaehler ? \"belegt\" : \"erfunden\";' '  if ((b.ding in zaehler) === false) return \"erfunden\";' '  return zaehler[b.ding] === b.wert ? \"belegt\" : \"falsche Zahl\";' '}' >> pruefen5.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.

Prüf-Skript schreiben, Teil 4

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'async function main() {' '  const zaehler = tatsachen(raster);' '  console.log(\"Tatsachen \" + JSON.stringify(zaehler));' '  for (const b of behauptungen) {' '    const wert = b.wert === undefined ? \"\" : \" \" + b.wert;' '    console.log(b.art + \" \" + b.ding + wert + \": \" + urteil(zaehler, b));' '  }' '  const frage = \"Warum sollte man die Beschreibung eines Bildes mit dem Bild abgleichen? Antworten Sie in einem kurzen Satz.\";' '  const antwort = await fragen([{ role: \"user\", content: frage }], \"Eine Beschreibung kann etwas hinzufügen oder eine Zahl falsch nennen, also gleichen Sie sie mit dem Bild ab.\", 40);' '  console.log(\"Antwort: \" + antwort.text);' '}' 'main();' >> pruefen5.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.

Vier Behauptungen prüfen

Befehl
docker exec -w /home/node/project agent node pruefen5.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 Zeilen, die der Run druckt

ZeileWas sie zeigt
Tatsachen {"R":3,"B":1,"G":1}Die gezählten Buchstaben des Rasters
zahl R 3: belegtDrei R stehen im Raster
zahl B 2: falsche ZahlEs gibt ein B, nicht zwei
zahl S 1: erfundenIm Raster steht kein S
vorhanden G: belegtEin G ist da

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.