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

Few-Shot-Prompting mit Beispielen

Nach dieser Lektion: Ich kann Beispiele auswählen, die einem Modell zeigen, was ich meine.

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

Few-Shot-Prompting zeigt dem Modell, was Sie meinen

Few-Shot-Prompting heißt, einige durchgearbeitete Beispiele in den Prompt zu setzen. Das Modell übernimmt das Muster, das es sieht, und lernt so Ihre Bewertungen und Ihren Stil.

Die Beispiele können es auch in die Irre führen. Ein Prompt mit vier guten Kommentaren und einem schlechten sagt dem Modell, dass die meisten Kommentare gut sind.

Am Ende dieser Lektion

Notiz

Ich kann Beispiele auswählen, die einem Modell zeigen, was ich meine.

Schlüsselwörter

BegriffWas er bedeutet
Beispieleine Eingabe, gepaart mit der gewünschten Antwort
Bewertungdie Antwort, die ein Beispiel trägt
Klasseeine der Bewertungen, die ein Modell wählen darf
Gleichgewichtjede Klasse etwa gleich oft gezeigt
Few-Shotein Prompt mit einigen Beispielen
Zero-Shotein Prompt ohne Beispiele

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

Wie viele Beispiele braucht ein Prompt?

Ohne Beispiele nutzt ein Modell sein allgemeines Gefühl für die Aufgabe. Ein Beispiel legt das Format fest. Zwei oder drei zeigen die Bandbreite. Ab fünf oder sechs kosten weitere Beispiele Token und bringen meist wenig.

Wählen Sie Beispiele, die sich voneinander unterscheiden. Drei fast gleiche Kopien lehren nicht mehr als eines.

Dieselben Bewertungen, ausgewogen und nicht

SatzgutschlechtWas das Modell lernt
Unausgewogen41Die meisten Kommentare sind gut, also sagen Sie gut
Ausgewogen22Beide Bewertungen sind häufig
Klasse fehlt30Einen schlechten Kommentar gibt es nicht

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.

Beispielzähler schreiben, Teil 1

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const { fragen } = require(\"./model\");' 'const beispiele = [' '  { text: \"Der Bus war pünktlich\", bewertung: \"gut\" },' '  { text: \"Meine Tasche blieb liegen\", bewertung: \"schlecht\" },' '  { text: \"Netter Fahrer heute\", bewertung: \"gut\" },' '  { text: \"Schnelle, saubere Fahrt\", bewertung: \"gut\" },' '  { text: \"Der Sitz war etwas nass\", bewertung: \"gut\" },' '];' > bsp2.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.

Beispielzähler schreiben, Teil 2

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'function zaehlen(liste) {' '  const summe = {};' '  for (const b of liste) summe[b.bewertung] = (summe[b.bewertung] || 0) + 1;' '  return summe;' '}' 'function promptBauen(liste, text) {' '  const bloecke = liste.map(function (b) { return \"Text: \" + b.text + \"\nBewertung: \" + b.bewertung; });' '  bloecke.push(\"Text: \" + text + \"\nBewertung:\");' '  return \"Bewerten Sie jeden Fahrgastkommentar mit gut oder schlecht.\n\n\" + bloecke.join(\"\n\n\");' '}' >> bsp2.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.

Beispielzähler schreiben, Teil 3

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'async function main() {' '  const z = zaehlen(beispiele);' '  console.log(\"Zählung: gut \" + z.gut + \", schlecht \" + z.schlecht);' '  for (const name of Object.keys(z)) {' '    if (z[name] * 2 > beispiele.length) console.log(\"Warnung: \" + name + \" macht mehr als die Hälfte der Beispiele aus\");' '  }' '  const prompt = promptBauen(beispiele, \"Der Fahrer war unhöflich\");' '  const antwort = await fragen([{ role: \"user\", content: prompt }], \"schlecht\", 5);' '  console.log(\"Modell: \" + antwort.text);' '}' 'main();' >> bsp2.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 Bewertungen zählen

Befehl
docker exec -w /home/node/project agent node bsp2.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 zählt die Bewertungen: gut 4, schlecht 1. Die zweite warnt, dass gut mehr als die Hälfte der Beispiele ausmacht. Diese Prüfung fängt einen solchen Satz ab, bevor er ein Modell erreicht.

Die letzte Zeile ist eine kurze Antwort. Ohne Modell steht zuerst Aufgezeichnete Probe.

Ein häufiger Fehler

Warnung

Viele glauben, die Reihenfolge der Beispiele spiele keine Rolle. Modelle stützen sich oft am stärksten auf das letzte Beispiel. Ist es ein schlechtes, wird die neue Eingabe eher schlecht genannt. Mischen Sie die Klassen, damit keine immer zuletzt kommt.

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