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

Ist Ihre Referenzmenge gut genug?

Nach dieser Lektion: Ich kann sagen, ob eine Referenzmenge gut genug ist, um ihr zu trauen.

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

Wie man eine Referenzmenge beurteilt

Eine Referenzmenge ist die Liste von Fällen, mit der Sie eine KI-Funktion bewerten. Ein Wert ist nur so gut wie diese Liste.

Das Modul über Evals und Tests für modellbasierte Funktionen zeigt, wie man eine erste Menge baut. Diese Lektion stellt eine härtere Frage: Dürfen Sie dem Wert trauen, den sie ergibt?

Am Ende dieser Lektion

Notiz

Ich kann sagen, ob eine Referenzmenge gut genug ist, um ihr zu trauen.

Schlüsselwörter

BegriffWas er bedeutetBeispiel
Abdeckungwie gut die Fälle sich auf die Arten von Eingaben verteilen
Labeldie Antwort, die eine Person für einen Fall als richtig ansiehtja
Uneinigkeitzwei Personen geben einem Fall zwei verschiedene Labels
Spielraumwie weit ein Wert allein durch Zufall schwanken darf
Abstandder Unterschied zwischen den Werten zweier Versionen

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

Abdeckung heißt: jede Art wird geprüft

Sortieren Sie Ihre Fälle nach Arten, zum Beispiel einfach, gemischt, Grenzfall und Ablehnung. Zählen Sie jede Art. Eine Art mit nur einem oder zwei Fällen ist dünn.

Eine dünne Art versteckt Fehler. Scheitert eine Funktion an jedem Ablehnungsfall, bewegen zwei Fälle von zwanzig den Wert kaum.

Durchgerechnetes Beispiel: zwanzig Fälle nach Art

ArtFälleAnteilUrteil
einfach1050 ProzentGenug
gemischt525 ProzentGenug
grenzfall315 ProzentGenug
ablehnung210 ProzentDünn, mehr Fälle ergänzen

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

Zwei Personen prüfen die Labels des anderen

Ein Label ist die Meinung einer Person. Bitten Sie eine zweite Person, dieselben Fälle zu beschriften, ohne die ersten Labels zu sehen. Vergleichen Sie dann.

Wo beide übereinstimmen, ist der Fall klar. Wo sie abweichen, ist der Fall oder die Regel unklar. Klären Sie diese Fälle, bevor Sie etwas bewerten.

Ein häufiger Fehler

Warnung

Viele denken, das Label einer Fachperson sei die Wahrheit. Es ist eine Meinung. Verlassen Sie sich darauf erst, wenn eine zweite Person zustimmt oder Sie aufgeschrieben haben, warum der Fall dieses Label hat.

Eine kleine Menge trennt zwei Versionen nicht

Ein Wert schwankt durch Zufall. Als grobe Regel gilt für den Spielraum: 100 geteilt durch die Wurzel der Fallzahl, in Punkten. Bei 100 Fällen sind es 10 Punkte.

Ein Abstand unter dem Spielraum kann Rauschen sein. Um 5 Punkte Abstand zu sehen, brauchen Sie etwa 400 Fälle.

Durchgerechnetes Beispiel: Fälle und Spielraum

FälleSpielraum in PunktenKleinster Abstand, dem Sie trauen
2520Etwa 20 Punkte
10010Etwa 10 Punkte
4005Etwa 5 Punkte
2.5002Etwa 2 Punkte

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

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.

Die Mengenprüfung schreiben, Teil 1

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const { fragen } = require(\"./model\");' 'const zeilen = [' '  \"1 einfach ja ja\", \"2 einfach ja ja\", \"3 einfach nein nein\", \"4 einfach ja ja\", \"5 einfach nein nein\",' '  \"6 einfach ja ja\", \"7 gemischt ja nein\", \"8 gemischt nein nein\", \"9 gemischt ja ja\", \"10 einfach nein nein\",' '  \"11 gemischt nein nein\", \"12 grenzfall ja ja\", \"13 gemischt ja nein\", \"14 grenzfall nein nein\", \"15 einfach ja ja\",' '  \"16 einfach nein nein\", \"17 grenzfall ja ja\", \"18 einfach ja nein\", \"19 ablehnung nein nein\", \"20 ablehnung nein nein\",' '].map(function (z) {' '  const t = z.split(\" \");' '  return { id: Number(t[0]), art: t[1], a: t[2], b: t[3] };' '});' > pruefung.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 Mengenprüfung schreiben, Teil 2

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const zahlen = {};' 'zeilen.forEach(function (z) { zahlen[z.art] = (zahlen[z.art] || 0) + 1; });' 'const duenn = Object.keys(zahlen).filter(function (k) { return zahlen[k] < 3; });' 'const weicht = zeilen.filter(function (z) { return z.a < z.b || z.a > z.b; });' 'const gleich = zeilen.length - weicht.length;' 'const abstand = 5;' 'const noetig = (100 / abstand) * (100 / abstand);' >> pruefung.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 Mengenprüfung schreiben, Teil 3

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'async function main() {' '  console.log(\"Fälle: \" + zeilen.length + \"  nach Art: \" + JSON.stringify(zahlen));' '  console.log(\"dünne Arten (unter 3): \" + duenn.join(\", \"));' '  console.log(\"einig: \" + (gleich * 100 / zeilen.length) + \" Prozent\");' '  console.log(\"diese Nummern prüfen: \" + weicht.map(function (z) { return z.id; }).join(\", \"));' '  console.log(\"für einen Abstand von \" + abstand + \" Punkten brauchen Sie etwa \" + noetig + \" Fälle\");' '  const q = \"Schreiben Sie in einem kurzen Satz, warum zwei Personen dieselben Fälle beschriften sollten.\";' '  const probe = \"Wo sie sich widersprechen, ist der Fall oder die Regel unklar, und ein Wert dafür sagt wenig.\";' '  const antwort = await fragen([{ role: \"user\", content: q }], probe, 60);' '  console.log(\"Das Modell sagte: \" + antwort.text);' '}' 'main();' >> pruefung.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 Prüfung ausführen

Befehl
docker exec -w /home/node/project agent node pruefung.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 die Prüfung ausgibt

ZeileWas sie zeigt
Fälle: 20 nach Art: {...}Wie viele Fälle jede Art hat
dünne Arten (unter 3): ablehnungArten, die mehr Fälle brauchen
einig: 85 ProzentWie oft beide Personen übereinstimmten
diese Nummern prüfen: 7, 13, 18Fälle, bei denen sie abweichen
für einen Abstand von 5 Punkten brauchen Sie etwa 400 FälleWie viele Fälle ein Abstand dieser Größe braucht
Das Modell sagte: ...Ein Satz 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.