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

Modellversion festlegen

Nach dieser Lektion: Ich kann verhindern, dass sich ein Modell unter einer Funktion ändert.

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

Warum ein Modell sich nicht selbst ändern darf

Eine Modellversion festlegen heißt, die genaue Version zu benennen, die eine Funktion nutzt. Ein Name, der immer die neueste Version meint, ist keine Festlegung.

Das ist wichtig, weil eine Funktion, die am Montag lief, am Dienstag anders antworten kann, ohne dass Sie etwas getan haben. Ein bewusster Wechsel zu einem neuen Modell ist ein eigenes Thema. Diese Lektion stoppt den Wechsel, den niemand gewählt hat.

Am Ende dieser Lektion

Notiz

Ich kann verhindern, dass sich ein Modell unter einer Funktion ändert.

Schlüsselwörter

BegriffWas er bedeutetBeispiel
Festlegeneine genaue Version benennen
Aliasein Name, der auf eine bewegliche Version zeigtchat-aktuell
Konfigurationdie Datei, die sagt, welches Modell eine Funktion nutzt
Abkündigungeine Warnung, dass eine Version bald endet
Abschalttagder Tag, an dem eine Version nicht mehr antwortet

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

Ein Alias kann wandern, eine Version nicht

Eine Konfiguration nennt das Modell, das eine Funktion aufruft. Steht dort chat-aktuell, entscheidet der Anbieter, was das bedeutet. Eines Tages zeigt der Name auf eine neue Version.

Steht dort chat-v3, ist genau diese Version gemeint. Die Funktion ändert sich erst, wenn Sie die Konfiguration ändern.

Durchgerechnetes Beispiel: fünf Namen

Name in der KonfigurationFestgelegt?Warum
chat-v3JaEndet auf v und eine ganze Zahl
chat-v10JaZehn ist eine ganze Zahl
chat-aktuellNeinAktuell ist ein Wort, keine Zahl
chatNeinGar keine Version
chat-v2bNeinDie 2b ist keine ganze Zahl

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

Ein häufiger Fehler

Warnung

Viele denken, eine Festlegung halte für immer. Das stimmt nicht: Der Anbieter schaltet auch eine festgelegte Version an einem bestimmten Tag ab. Die Festlegung gibt Ihnen nur Zeit, selbst zu wechseln, und nur dann, wenn Sie vor dem Abschalttag handeln.

Eine Abkündigung nennt den Tag zum Wechseln

Eine Abkündigung nennt eine Version und ihren Abschalttag. Die übrigen Tage sind dieser Tag minus heute.

Wählen Sie eine Warnfrist, zum Beispiel 30 Tage. Innerhalb der Frist läuft die Funktion aus: Planen Sie den Wechsel jetzt. Am Abschalttag oder danach ist sie abgeschaltet und scheitert schon.

Durchgerechnetes Beispiel: heute ist Tag 100

VersionAbschalttagTage übrigStatus bei 30 Tagen Warnfrist
chat-v190-10Abgeschaltet
chat-v212525Läuft aus
chat-v4300200In Ordnung
chat-v5kein HinweiskeineIn Ordnung

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 Versionsprüfung schreiben, Teil 1

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const { fragen } = require(\"./model\");' 'const heute = 100;' 'const konfigs = [' '  { funktion: \"zusammenfassung\", modell: \"chat-v3\" },' '  { funktion: \"suche\", modell: \"chat-aktuell\" },' '  { funktion: \"sortierung\", modell: \"chat-v2\" },' '  { funktion: \"etiketten\", modell: \"chat-v1\" },' '  { funktion: \"entwurf\", modell: \"chat\" },' '];' 'const hinweise = { \"chat-v2\": 125, \"chat-v1\": 90 };' > festlegen.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 Versionsprüfung schreiben, Teil 2

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'function festgelegt(modell) {' '  const teile = modell.split(\"-\");' '  const ende = teile[teile.length - 1];' '  const ziffern = ende.slice(1).split(\"\");' '  return ende.length > 1 && ende[0] === \"v\" && ziffern.every(function (c) { return c >= \"0\" && c <= \"9\"; });' '}' 'function status(k) {' '  if (festgelegt(k.modell) === false) return \"nicht festgelegt\";' '  const ende = hinweise[k.modell];' '  if (ende === undefined) return \"in Ordnung\";' '  if (ende <= heute) return \"abgeschaltet\";' '  return ende - heute <= 30 ? \"läuft aus in \" + (ende - heute) + \" Tagen\" : \"in Ordnung\";' '}' >> festlegen.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 Versionsprüfung schreiben, Teil 3

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'async function main() {' '  let gut = 0;' '  konfigs.forEach(function (k) {' '    const s = status(k);' '    if (s === \"in Ordnung\") gut = gut + 1;' '    console.log(k.funktion + \" \" + k.modell + \": \" + s);' '  });' '  console.log(\"Handlungsbedarf: \" + (konfigs.length - gut) + \" von \" + konfigs.length);' '  const f = \"Schreiben Sie in einem kurzen Satz, warum man ein Modell auf eine Version festlegt.\";' '  const probe = \"Eine festgelegte Version ändert sich nicht unter der Funktion, Sie bestimmen also, wann Sie wechseln.\";' '  const antwort = await fragen([{ role: \"user\", content: f }], probe, 60);' '  console.log(\"Das Modell sagte: \" + antwort.text);' '}' 'main();' >> festlegen.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 Versionsprüfung ausführen

Befehl
docker exec -w /home/node/project agent node festlegen.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
zusammenfassung chat-v3: in OrdnungFestgelegt und ohne Hinweis
suche chat-aktuell: nicht festgelegtEin Alias, er kann also wandern
sortierung chat-v2: läuft aus in 25 TagenFestgelegt, aber das Ende naht
etiketten chat-v1: abgeschaltetDer Abschalttag ist vorbei
entwurf chat: nicht festgelegtGar keine Version
Handlungsbedarf: 4 von 5Nach Regeln gezählt, nicht von einem Modell
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.