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

Eval-Fälle aus der Produktion gewinnen

Nach dieser Lektion: Ich kann einen Fehler im Einsatz in einen Fall verwandeln, ohne zu behalten, was nicht behalten werden darf.

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

Ein Fehler im Einsatz ist der beste Test

Eine Eval aus der Produktion macht einen echten Fehler zu einem Testfall. Sie lohnt sich, denn Kunden finden Fehler, an die kein Testautor dachte, aber ihre Nachrichten enthalten Namen, Adressen und Nummern, die Sie nicht behalten dürfen.

Der Shop-Agent scheitert diese Woche viermal. Welche Teile dieser Chats dürfen in Ihre Testmenge?

Am Ende dieser Lektion

Notiz

Ich kann einen Fehler im Einsatz in einen Fall verwandeln, ohne zu behalten, was nicht behalten werden darf.

Schlüsselwörter

BegriffWas er bedeutet
Spurdie Aufzeichnung eines echten Laufs
Maskierungpersonenbezogene Daten durch eine Marke ersetzen
Stichprobedie Auswahl, welche Spuren man ansieht
Kontrollfalleine bestandene Spur, die zeigt, was nicht kaputtgehen darf
Drifteine Menge, die sich ändert, bis sie nicht mehr dasselbe misst

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

Wählen Sie, welche Spuren Sie lesen

Sie können nicht jede Spur lesen. Die Stichprobe wählt aus. Nehmen Sie jeden Fehler, den ein Nutzer meldete oder eine Prüfung markierte. Fügen Sie einige bestandene Spuren als Kontrollfälle hinzu, damit eine Korrektur nicht kaputt macht, was funktionierte.

Ein Fehler ist erst ein Fall, wenn eine Person aufgeschrieben hat, was hätte geschehen sollen.

Durchgerechnetes Beispiel: sechs Spuren werden vier Fälle

SpurErgebnisWas mit ihr geschieht
t1Fehlerein Fall, die E-Mail ersetzt
t2okein Kontrollfall
t3Fehlerein Fall, die Telefonnummer ersetzt
t4Fehlerein Fall
t5Fehlerverworfen: nach der Maskierung dieselbe Eingabe wie t4
t6oknicht in der Stichprobe

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

Entfernen Sie personenbezogene Daten vor dem Speichern

Die Maskierung ersetzt jeden Namen, jede Adresse und Nummer durch eine Marke wie [E-Mail]. Tun Sie das mit Regeln, die Sie lesen und testen können, nie indem Sie ein Modell bitten, und maskieren Sie auch den erwarteten Text.

Dann prüfen Sie. Suchen Sie in den fertigen Fällen, was verschwunden sein sollte. Ein Fall, der noch eine Adresse enthält, ist ein Datenleck in Ihrer Testmenge.

Verhindern Sie, dass die Menge driftet

Drift heißt, dass sich die Menge unbemerkt ändert, bis eine Punktzahl vom letzten Monat nicht mehr dasselbe bedeutet. Geben Sie der Menge eine Version. Fügen Sie Fälle nur nach Durchsicht hinzu, nie durch ein Skript, das jede Nacht läuft.

Begrenzen Sie ihre Größe und verwerfen Sie Duplikate, damit eine Flut desselben Fehlers nicht mehr zählt als der Rest.

Aufgezeichnete Spuren schreiben, Teil 1

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' '// Erfundene Spuren eines Shop-Agenten. Die Personen und Nummern sind falsch.' 'const spuren = [' '  { id: \"t1\", ergebnis: \"fehler\", nutzer: \"Erstatten Sie die Bestellung A17, meine E-Mail ist [email protected]\", erwartet: \"Nach dem Artikel fragen, dann einmal erstatten\" },' '  { id: \"t2\", ergebnis: \"ok\", nutzer: \"Wo ist die Bestellung B02?\", erwartet: \"Sagen, dass sie versendet ist\" },' '  { id: \"t3\", ergebnis: \"fehler\", nutzer: \"Rufen Sie mich unter +49-170-1234567 wegen der Bestellung C11 an\", erwartet: \"Die Hilfeseite anbieten, keinen Anruf versprechen\" },' > spuren.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.

Aufgezeichnete Spuren schreiben, Teil 2

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' '  { id: \"t4\", ergebnis: \"fehler\", nutzer: \"Wo ist mein Paket? [email protected]\", erwartet: \"Die Bestellung suchen und die Nummer erfragen\" },' '  { id: \"t5\", ergebnis: \"fehler\", nutzer: \"Wo ist mein Paket? [email protected]\", erwartet: \"Die Bestellung suchen und die Nummer erfragen\" },' '  { id: \"t6\", ergebnis: \"ok\", nutzer: \"Hallo\", erwartet: \"Den Kunden begrüßen\" },' '];' 'module.exports = { spuren };' >> spuren.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.

Fallbauer schreiben, Teil 1

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const { spuren } = require(\"./spuren\");' 'function maskieren(text) {' '  return text.split(\" \").map(function (wort) {' '    let kern = wort;' '    let ende = \"\";' '    while (kern.length > 0 && \".,?\".includes(kern[kern.length - 1])) {' '      ende = kern[kern.length - 1] + ende;' '      kern = kern.slice(0, -1);' '    }' '    if (kern.includes(\"@\")) return \"[E-Mail]\" + ende;' '    const ziffern = kern.split(\"\").filter(function (c) { return c >= \"0\" && c <= \"9\"; }).length;' '    const einfach = kern.split(\"\").every(function (c) { return (c >= \"0\" && c <= \"9\") || c === \"+\" || c === \"-\"; });' '    if (einfach && ziffern >= 7) return \"[Telefon]\" + ende;' '    return wort;' '  }).join(\" \");' '}' > faelle.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.

Fallbauer schreiben, Teil 2

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const gesehen = [];' 'const faelle = [];' 'const verworfen = [];' 'let anzahlOk = 0;' 'spuren.forEach(function (spur) {' '  const einer = { eingabe: maskieren(spur.nutzer), erwartet: maskieren(spur.erwartet), quelle: spur.id };' '  if (spur.ergebnis === \"ok\") {' '    if (anzahlOk % 2 === 0) { einer.art = \"Kontrolle\"; faelle.push(einer); }' '    anzahlOk = anzahlOk + 1;' '    return;' '  }' '  if (gesehen.includes(einer.eingabe)) { verworfen.push(spur.id); return; }' '  gesehen.push(einer.eingabe);' '  einer.art = \"Fehler\";' '  faelle.push(einer);' '});' >> faelle.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.

Fallbauer schreiben, Teil 3

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'faelle.forEach(function (einer, stelle) {' '  console.log(\"Fall \" + (stelle + 1) + \" (\" + einer.art + \", aus \" + einer.quelle + \"): \" + einer.eingabe);' '});' 'console.log(\"Als Duplikat verworfen: \" + verworfen.join(\", \"));' 'const reste = faelle.filter(function (einer) { return einer.eingabe.includes(\"@\") || einer.eingabe.includes(\"1234567\"); });' 'console.log(\"Fälle mit noch personenbezogenen Daten: \" + reste.length);' 'console.log(\"Menge Version 1 mit \" + faelle.length + \" Fällen\");' >> faelle.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.

Fälle aus den Spuren bauen

Befehl
docker exec -w /home/node/project agent node faelle.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 Fallbauer ausgibt

ZeileWas sie zeigt
Fälle 1 bis 4drei Fehler und eine Kontrolle, personenbezogene Daten ersetzt
Verworfent5
Personenbezogene Daten übrig0
MengeVersion 1 mit 4 Fällen

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

Probieren Sie es aus

Tipp

Fügen Sie in spuren.js eine Spur hinzu, deren Nutzertext eine Adresse wie [email protected] enthält, und starten Sie erneut. Der Fall sollte [E-Mail] zeigen. Löschen Sie dann den Aufruf von maskieren und sehen Sie, was durchsickert.

Ein häufiger Fehler

Warnung

Viele maskieren nur die Nachricht des Nutzers. Der erwartete Text, die Spur-ID und die Werkzeugargumente können dieselbe Adresse enthalten. Maskieren Sie jedes Feld, das Sie behalten, oder behalten Sie nur die nötigen, und prüfen Sie die fertige Menge auf das, was verschwunden sein sollte.

Ü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.