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

Behauptungen eines Arbeiter-Agenten prüfen

Nach dieser Lektion: Ich kann erkennen, wann der Bericht eines Arbeiters nicht durch seine Quellen belegt ist, und die Behauptungen markieren, die durchfallen.

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

Ein Bericht ist eine Liste von Behauptungen

Der Bericht eines Arbeiters ist eine Menge von Behauptungen, und jede sagt, sie stamme aus einer Quelle. Das ist wichtig, denn ein Arbeiter, der keine Antwort findet, schreibt oft eine, die richtig klingt.

Der Orchestrator sieht den Unterschied beim Lesen nicht. Er muss jede Behauptung gegen die Quelle prüfen, die sie nennt.

Am Ende dieser Lektion

Notiz

Ich kann erkennen, wann der Bericht eines Arbeiters nicht durch seine Quellen belegt ist, und die Behauptungen markieren, die durchfallen.

Schlüsselwörter

BegriffWas er bedeutet
Behauptungeine Aussage in einem Bericht, die wahr oder falsch sein kann
Quelleder Text, aus dem eine Behauptung angeblich stammt
Belegtdie Quelle sagt wirklich, was die Behauptung sagt
Prüferein zweiter Agent, der eine Behauptung und ihre Quelle liest
Stichprobewenige Behauptungen von Hand lesen, nach einem festen Muster gewählt
Erfindungeine Behauptung, die der Arbeiter erfand, um eine Lücke zu füllen

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

Drei Prüfungen, von billig bis teuer

Die billigste Prüfung ist ein Programm. Existiert die genannte Quelle, und stehen die Zahlen der Behauptung darin? Das fängt erfundene Quellen und falsche Zahlen.

Als Nächstes kommt ein Prüfer, ein Modell, das Behauptung und Quelle liest. Die teuerste ist ein Mensch, der wenige nach einer festen Regel gewählte Behauptungen liest.

Ausgearbeitetes Beispiel: was jede Prüfung fängt

PrüfungFängtÜbersieht
Programm: Quelle und ZahlenEine erfundene Quelle, eine falsche ZahlEine Behauptung, die den Sinn umkehrt
PrüfermodellViele umgekehrte AussagenEigene Fehler und den Hang zuzustimmen
Stichprobe durch einen MenschenWas die beiden anderen übersahenAlles, was nicht gezogen wird

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

Warum Arbeiter erfinden

Ein Arbeiter wird für eine Antwort belohnt, leere Hände sehen also nach Misserfolg aus. Sagen Sie ihm, dass keine Antwort erlaubt ist: ein Auftrag, der verlangt, «nicht gefunden» zu antworten, wenn das Material nichts sagt.

Zählen Sie dann die Antworten «nicht gefunden». Ein Arbeiter, der nie so antwortet, erfindet wahrscheinlich.

Ein häufiger Fehler

Warnung

Viele lesen eine Quellenangabe als Beweis. Eine Behauptung, die eine Quelle nennt, kann sich über sie trotzdem irren. Geprüft wird, ob die Quelle es sagt, nicht, ob die Behauptung eine nennt.

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.

Den Prüfer schreiben, Teil 1

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const { fragen } = require(\"./model\");' 'const QUELLEN = {' '  s1: \"Umfrage: 212 von 400 Besuchern wünschten sich Sonntagsöffnung.\",' '  s2: \"Personal: sechs Stunden zu 18 Euro pro Stunde sind 108 Euro an jedem Sonntag.\",' '  s3: \"Besuche: Samstag gab es letzten Monat 310 Besuche, an einem Werktag 120.\",' '};' 'const BEHAUPTUNGEN = [' '  { text: \"212 von 400 Besuchern wünschten sich Sonntagsöffnung.\", quelle: \"s1\" },' '  { text: \"Das Personal kostet am Sonntag 108 Euro.\", quelle: \"s2\" },' '  { text: \"Am Samstag gab es letzten Monat 410 Besuche.\", quelle: \"s3\" },' '  { text: \"Die meisten Leser wünschen längere Leihfristen.\", quelle: \"s1\" },' '  { text: \"Das Personal hält die Öffnung für gerecht.\", quelle: \"s7\" },' '  { text: \"An Werktagen kamen mehr Besuche als am Samstag.\", quelle: \"s3\" },' '];' > pruefen.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.

Den Prüfer schreiben, Teil 2

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'function zahlen(t) { return t.match(/[0-9]+/g) || []; }' 'function woerter(t) {' '  return (t.toLowerCase().match(/\p{L}+/gu) || []).filter(function (w) { return w.length >= 5; });' '}' >> pruefen.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.

Den Prüfer schreiben, Teil 3

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' '// Eine billige Prüfung: Die Quelle existiert, ihre Zahlen stimmen, die Hälfte der langen Wörter steht darin.' 'function warum(b) {' '  const text = QUELLEN[b.quelle];' '  if (text === undefined) return \"Quelle fehlt\";' '  const bekannt = zahlen(text);' '  if (zahlen(b.text).some(function (n) { return bekannt.includes(n) === false; })) return \"Zahl steht nicht in der Quelle\";' '  const w = woerter(b.text);' '  const gefunden = w.filter(function (x) { return woerter(text).includes(x); });' '  return 2 * gefunden.length >= w.length ? \"\" : \"Wörter stehen nicht in der Quelle\";' '}' >> pruefen.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.

Den Prüfer schreiben, Teil 4

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'async function main() {' '  BEHAUPTUNGEN.forEach(function (b, i) {' '    console.log((i + 1) + \" \" + (warum(b) === \"\" ? \"besteht die Prüfung\" : \"MARKIERT: \" + warum(b)));' '  });' '  console.log(\"Stichprobe, jede 3. Behauptung: \" + [1, 4].join(\", \"));' '  const b = BEHAUPTUNGEN[5];' '  const q = [{ role: \"user\", content: \"Quelle: \" + QUELLEN.s3 + \" Behauptung: \" + b.text + \" Belegt die Quelle die Behauptung? Antworten Sie mit Ja oder Nein.\" }];' '  const r = await fragen(q, \"Nein\", 10);' '  console.log(\"Prüfer zu Behauptung 6: \" + r.text.trim());' '}' 'main();' >> pruefen.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.

Den Prüfer starten

Befehl
docker exec -w /home/node/project agent node pruefen.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 das Programm nicht sieht

Behauptung 6 sagt, an Werktagen kamen mehr Besuche als am Samstag. Die Quelle sagt das Gegenteil. Das Programm lässt sie durch, weil die Wörter passen. Nur ein Prüfer oder ein Mensch liest den Sinn.

Der eine Live-Aufruf befragt einen Prüfer zu dieser Behauptung. Seine Antwort kann bei jedem Lauf anders sein, und sie kann falsch sein.

Eine mögliche Ausgabe

ZeileWas sie zeigt
1 besteht die Prüfung, 2 besteht die PrüfungZahlen und Wörter passen
3 MARKIERT: Zahl steht nicht in der QuelleDie Behauptung sagt 410, die Quelle 310
4 MARKIERT: Wörter stehen nicht in der QuelleNichts in der Quelle handelt von Leihfristen
5 MARKIERT: Quelle fehltSie nennt s7, das nicht existiert
6 besteht die PrüfungSie besteht, obwohl der Sinn umgekehrt ist
Stichprobe, jede 3. Behauptung: 1, 4Diese beiden liest ein Mensch von Hand
Prüfer zu Behauptung 6: …Eine zweite Meinung, nie ein Beweis

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.