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

Prompt, RAG oder Feintuning

Nach dieser Lektion: Ich kann für ein Bedürfnis zwischen einem besseren Prompt, Retrieval und Feintuning wählen.

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

Prompt, Retrieval oder Feintuning: die Wahl

Es gibt drei Wege, eine modellgestützte Funktion zu ändern: einen besseren Prompt, Retrieval und Feintuning. Retrieval heißt auch RAG: Das Modell bekommt passende Dokumente mitgeschickt. Sie lösen verschiedene Probleme und kosten sehr unterschiedlich. Das ist wichtig, weil Teams oft zuerst das Teuerste wählen.

Ein Support-Team will Antworten im Hauston, nach der Preisliste dieser Woche, in einem festen Format. Das sind drei Bedürfnisse, und sie haben vielleicht nicht dieselbe Lösung.

Am Ende dieser Lektion

Notiz

Ich kann für ein Bedürfnis zwischen einem besseren Prompt, Retrieval und Feintuning wählen.

Schlüsselwörter

BegriffWas er bedeutet
Promptdie Anweisungen und Beispiele, die mit einem Aufruf gesendet werden
RetrievalDokumente holen und mit dem Aufruf senden
Feintuningein Modell mit eigenen Beispielen weitertrainieren
Trainingsbeispieleine Eingabe, gepaart mit der gewünschten Ausgabe
Wissendie Fakten, von denen die Antwort abhängt

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

Feintuning wird hier nicht ausgeführt

Warnung

Das Labor kann kein Modell feintunen. Diese Lektion ist eine Entscheidungsübung. Sie gibt die Fragen, die man stellt, und eine Lehrregel. Sie behauptet nicht, was ein Feintuning für Sie brächte: Messen Sie das an Ihren eigenen Fällen.

Fragen Sie, um welche Art Problem es geht

Stellen Sie vier Fragen der Reihe nach. Hängt die Antwort von Fakten ab, die privat sind oder sich ändern? Scheitert das Modell an der Form, etwa Ton oder Format? Haben Sie einen klaren Prompt mit Beispielen ausprobiert? Haben Sie genug Beispiele und eine Möglichkeit zu messen?

Fakten führen zu Retrieval. Die Form führt zuerst zum Prompt, und zum Feintuning erst, wenn der Prompt scheitert und die Beispiele vorhanden sind.

Beispiel: fünf Bedürfnisse

BedürfnisErste FrageWahrscheinlicher erster Schritt
Ein freundlicher TonScheitert ein Prompt mit Beispielen?Prompt, dann Feintuning, wenn er scheitert und Beispiele da sind
Preise, die sich wöchentlich ändernÄndern sich die Fakten?Retrieval: feingetunte Fakten veralten
Ein striktes AusgabeformatKönnen Beispiele es zeigen?Prompt, mit einer Prüfung, die die Ausgabe einliest
Antworten aus privaten HandbüchernSind die Fakten privat?Retrieval, mit angezeigten Quellen
Niedrigere Kosten pro AufrufWie groß ist der Prompt?Erst messen: ein kürzerer Prompt oder ein kleineres Modell

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

Kosten und Grenzen jeder Wahl

Ein Prompt ist billig zu ändern und leicht zurückzunehmen, verbraucht aber bei jedem Aufruf Tokens. Retrieval fügt einen Speicher und eine Suche hinzu und scheitert, wenn die Suche danebenliegt. Feintuning braucht Beispiele, einen Trainingslauf und ein neues Modell, das man pflegen muss, und es hält Fakten nicht aktuell.

Keines behebt eine fehlende Anforderung oder eine schlechte Bewertung. Schreiben Sie zuerst die Fälle, die über den Erfolg entscheiden.

Ein häufiger Fehler

Warnung

Viele glauben, Feintuning bringe einem Modell neue Fakten bei. Es formt vor allem Stil und Format. Fakten, die sich ändern, gehören ins Retrieval, wo Sie ein Dokument aktualisieren und die Antwort sich am selben Tag ändert.

Das Modell-Hilfsskript 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\";' '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 || 200 }),' '      signal: AbortSignal.timeout(30000),' '    });' '    if (res.ok === false) throw new Error(\"Status \" + res.status);' '    return (await res.json()).choices[0].message.content;' > 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.

Das Modell-Hilfsskript schreiben, Teil 2

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' '  } catch (fehler) {' '    console.log(\"Aufgezeichnete Probe: Kein Modell hat geantwortet (\" + fehler.message + \").\");' '    const liste = [].concat(probe);' '    const runde = nachrichten.filter(function (m) { return m.role === \"assistant\"; }).length;' '    return liste[Math.min(runde, liste.length - 1)];' '  }' '}' '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 Entscheidungsregel schreiben, Teil 1

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const { fragen } = require(\"./model\");' 'const faelle = [' '  { bedarf: \"ein freundlicher Ton\", privateDokumente: false, faktenAendernSich: false, promptScheitert: true, beispiele: 800 },' '  { bedarf: \"Preise, die sich wöchentlich ändern\", privateDokumente: false, faktenAendernSich: true, promptScheitert: false, beispiele: 0 },' '  { bedarf: \"ein striktes Ausgabeformat\", privateDokumente: false, faktenAendernSich: false, promptScheitert: false, beispiele: 40 },' '  { bedarf: \"Antworten aus unseren Handbüchern\", privateDokumente: true, faktenAendernSich: false, promptScheitert: true, beispiele: 60 },' '  { bedarf: \"niedrigere Kosten pro Aufruf\", privateDokumente: false, faktenAendernSich: false, promptScheitert: false, beispiele: 0 },' '];' > decide.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 Entscheidungsregel schreiben, Teil 2

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'function waehlen(f) {' '  const retrieval = f.privateDokumente || f.faktenAendernSich;' '  const tunen = f.promptScheitert && f.beispiele >= 500;' '  if (retrieval && tunen) return \"Retrieval und Feintuning\";' '  if (retrieval) return \"Retrieval\";' '  if (tunen) return \"Feintuning\";' '  if (f.promptScheitert) return \"Beispiele sammeln\";' '  return \"Prompt\";' '}' 'faelle.forEach(function (f) { console.log(f.bedarf + \":\", waehlen(f)); });' >> decide.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 Entscheidungsregel schreiben, Teil 3

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'async function main() {' '  const text = \"Antworten Sie nur mit JSON mit den Schlüsseln produkt und preis für: Fahrrad, 120 Euro.\";' '  const probe = JSON.stringify({ produkt: \"Fahrrad\", preis: 120 });' '  const antwort = await fragen([{ role: \"user\", content: text }], probe, 40);' '  let gueltig = true;' '  try { JSON.parse(antwort); } catch (fehler) { gueltig = false; }' '  console.log(\"Erst der Prompt:\", antwort);' '  console.log(\"Gültiges JSON:\", gueltig);' '}' 'main();' >> decide.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 Regel auf fünf Fälle anwenden

Befehl
docker exec -w /home/node/project agent node decide.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 Regel ist eine Lehrregel

Der Run wendet eine leicht lesbare Regel an, keine Messung. Die Schwelle von 500 Beispielen ist eine erfundene Zahl für die Übung. Ihre eigene Schwelle ergibt sich aus Ihren Fällen und Ihrer Bewertung.

Der echte Aufruf probiert zuerst den billigsten Schritt: einen Prompt, der JSON verlangt, und dann eine Prüfung durch Einlesen.

Eine mögliche Ausgabe

ZeileWas sie zeigt
ein freundlicher Ton: FeintuningDer Prompt scheiterte und es gibt 800 Beispiele
Preise, die sich wöchentlich ändern: RetrievalDie Fakten ändern sich
niedrigere Kosten pro Aufruf: PromptNichts scheiterte, also messen Sie zuerst den Prompt
Gültiges JSONtrue oder false: Ließ sich die Antwort als JSON einlesen?

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.