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

Einen Prompt testen

Nach dieser Lektion: Ich kann sagen, ob ein geänderter Prompt besser ist.

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

Einen Prompt gegen feste Fälle testen

Ein Prompt-Test lässt feste Fälle laufen und wendet auf jede Antwort eine Regel an. Die Regel ist schlicht: Ein Wort muss vorkommen, ein anderes nicht, die Antwort muss kurz sein.

Ohne Test kann ein geänderter Prompt den Fall beheben, den Sie vor sich haben, und dabei zwei andere, die Sie nicht angesehen haben, leise kaputtmachen.

Am Ende dieser Lektion

Notiz

Ich kann sagen, ob ein geänderter Prompt besser ist.

Schlüsselwörter

BegriffWas er bedeutet
Falleine Eingabe, mit der Sie testen
Regeleine schlichte Prüfung einer Antwort
Ausgangsstandder Prompt, mit dem Sie vergleichen
Rückschrittein Fall, der bestand und jetzt scheitert
Bestandeneine Antwort, die ihre Regel erfüllt
Aufgezeichneteine gespeicherte Antwort, damit sich ein Test wiederholen lässt

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

Was sind ein Fall und eine Regel?

Ein Fall ist eine Eingabe, etwa ein Fahrgast, der eine Erstattung möchte. Eine Regel ist eine Prüfung der Antwort, die Sie im Code ausführen können. „Enthält das Wort Erstattung“ ist eine Regel. „Klingt freundlich“ ist keine, weil Code es nicht prüfen kann.

Halten Sie eine kleine feste Menge von Fällen. Lassen Sie jeden Prompt gegen dieselbe Menge laufen, damit sich nur der Prompt geändert hat.

Prompt A und Prompt B bei drei Fällen

FallPrompt APrompt B
Erstattungbestehtscheitert (sagt leider)
Verspätungscheitertbesteht
Dankebestehtscheitert (nennt die Verspätung)
Summe2 von 31 von 3

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

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.

Prompt-Tester schreiben, Teil 1

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const { fragen } = require(\"./model\");' 'const faelle = [' '  { name: \"erstattung\", muss: [\"erstatt\"], nicht: [\"leider\"], max: 25 },' '  { name: \"verspaetung\", muss: [\"verspät\"], nicht: [], max: 25 },' '  { name: \"danke\", muss: [\"dank\"], nicht: [\"verspät\"], max: 25 },' '];' 'const A = [\"Wir erstatten Ihnen den Betrag in fünf Tagen.\", \"Der Bus kommt zu spät, wir bitten um Entschuldigung.\", \"Vielen Dank für Ihre Nachricht.\"];' 'const B = [\"Leider erstatten wir Ihnen den Betrag in fünf Tagen.\", \"Es gibt eine Verspätung von zehn Minuten.\", \"Danke. Leider gab es eine Verspätung.\"];' > test5.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.

Prompt-Tester schreiben, Teil 2

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'function besteht(antwort, f) {' '  const klein = antwort.toLowerCase();' '  const lang = antwort.split(\" \").length > f.max;' '  const hat = f.muss.every(function (m) { return klein.includes(m); });' '  const schlecht = f.nicht.some(function (n) { return klein.includes(n); });' '  return hat && schlecht === false && lang === false;' '}' 'function durchlauf(antworten) {' '  return antworten.map(function (a, i) { return besteht(a, faelle[i]); });' '}' >> test5.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.

Prompt-Tester schreiben, Teil 3

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'async function main() {' '  const ra = durchlauf(A);' '  const rb = durchlauf(B);' '  const namen = function (flags, anderes) {' '    return faelle.filter(function (f, i) { return flags[i] && anderes[i] === false; }).map(function (f) { return f.name; });' '  };' '  console.log(\"A besteht \" + ra.filter(Boolean).length + \" von 3, B besteht \" + rb.filter(Boolean).length + \" von 3\");' '  console.log(\"geholfen: \" + namen(rb, ra).join(\", \") + \" | geschadet: \" + namen(ra, rb).join(\", \"));' '  const frage = \"Antworten Sie einem Fahrgast, der eine Erstattung möchte, in unter 25 Wörtern.\";' '  const antwort = await fragen([{ role: \"user\", content: frage }], A[0], 50);' '  console.log(\"echte Antwort besteht die Regel zur Erstattung: \" + besteht(antwort.text, faelle[0]));' '}' 'main();' >> test5.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.

Ausführen und zwei Prompts vergleichen

Befehl
docker exec -w /home/node/project agent node test5.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 druckt

Die erste Zeile sagt, A besteht 2 von 3 und B besteht 1 von 3. Die zweite sagt, B habe dem Fall Verspätung geholfen und Erstattung und Danke geschadet. Sie behalten also A.

Diese zwei Zeilen nutzen aufgezeichnete Antworten, alle Studierenden sehen sie gleich. Die letzte Zeile prüft eine echte Antwort und kann wahr oder falsch sein. Sie zeigt, dass auch eine echte Antwort eine Regel verfehlen kann. Ohne Modell steht zuerst Aufgezeichnete Probe.

Ein häufiger Fehler

Warnung

Viele glauben, ein Prompt sei besser, wenn er den Fall behob, der sie ärgerte. Ein Fall ist eine einzelne Stichprobe. Lassen Sie die ganze Menge laufen und zählen Sie, was geholfen und was geschadet hat, bevor Sie entscheiden.

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