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

Den Entwurf eines Agenten auf Sicherheit prüfen

Nach dieser Lektion: Ich kann den Entwurf eines Agenten anhand einer Checkliste prüfen.

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

Eine Checkliste vor dem Start eines Agenten

Eine Sicherheitsprüfung kontrolliert den Entwurf eines Agenten vor dem Einsatz gegen eine Checkliste. Jeder Punkt ist eine Frage mit Ja oder Nein, daher kommen zwei Prüfende zum selben Ergebnis.

Das ist wichtig, weil die Lektionen dieses Moduls nur helfen, wenn alle zusammenwirken. Ein Entwurf mit gutem Ordner, aber ohne Weg zum Anhalten bleibt unsicher.

Am Ende dieser Lektion

Notiz

Ich kann den Entwurf eines Agenten anhand einer Checkliste prüfen.

Schlüsselwörter

BegriffWas er bedeutet
Checklisteeine feste Liste von Fragen mit Ja oder Nein
Entwurfwelche Werkzeuge, Daten und Grenzen ein Agent hat
Grenzeeine Obergrenze für Schritte oder Kosten
Notausein Weg, mit dem eine Person den Agenten anhält
Protokolleine Aufzeichnung dessen, was der Agent getan hat

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

Sechs Bereiche, acht Fragen

Die Checkliste deckt sechs Bereiche ab: Werkzeuge, Daten, Ordner, Grenzen, einen Weg zum Anhalten und eine Aufzeichnung. Jeder Bereich hat eine oder mehrere Fragen mit Ja oder Nein.

Ein Entwurf besteht nur, wenn jede Frage besteht. Nennen Sie jeden Mangel mit seinem Bereich, damit die Abhilfe leicht zu finden ist.

Durchgerechnetes Beispiel: drei Entwürfe

EntwurfMängelWelche
helfer0Keine: er besteht
bauer4Hat ein Shell-Werkzeug, schreibt überall, kein Schrittlimit, kein Protokoll
kundschafter5Keine Werkzeugliste, Geheimnisse im Prompt, keine Grenzen, kein Notaus

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

Ein häufiger Fehler

Warnung

Viele denken, eine starke Kontrolle mache einen Entwurf sicher. Das stimmt nicht. Der bauer hat einen Notaus, schreibt aber überall hin und führt kein Protokoll. Sicherheit besteht aus Schichten, und die schwächste fehlende Schicht versagt zuerst.

Zahlen brauchen eine Kante

Eine Grenze ist nur dann eine Prüfung, wenn sie eine Kante hat. Hier darf ein Lauf höchstens 20 Schritte machen. Ein Entwurf mit 20 besteht. Einer mit 21 oder ganz ohne Grenze fällt durch.

Sagen Sie, wo die Kante liegt, testen Sie beide Seiten, und werten Sie einen fehlenden Wert als Mangel.

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

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const { fragen } = require(\"./model\");' 'const pruefungen = [' '  [\"Werkzeuge: keine Positivliste\", function (d) { return d.positivliste === false; }],' '  [\"Werkzeuge: hat Shell\", function (d) { return d.werkzeuge.indexOf(\"shell\") >= 0; }],' '  [\"Ordner: Schreiben nicht eingegrenzt\", function (d) { return d.schreibenErlaubt && (d.wurzel === \"\" || d.wurzel === \"/\"); }],' '  [\"Daten: Geheimnisse im Prompt\", function (d) { return d.geheimnisse; }],' > pruefung.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 Entwurfsprüfung schreiben, Teil 2

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' '  [\"Grenzen: kein Schrittlimit\", function (d) { return d.maxSchritte === null || d.maxSchritte > 20; }],' '  [\"Grenzen: kein Kostenlimit\", function (d) { return d.maxKosten === null; }],' '  [\"Anhalten: kein Notaus\", function (d) { return d.notaus === false; }],' '  [\"Aufzeichnung: kein Protokoll\", function (d) { return d.protokoll === false; }],' '];' 'function maengel(d) { return pruefungen.filter(function (c) { return c[1](d); }).map(function (c) { return c[0]; }); }' >> pruefung.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 Entwurfsprüfung schreiben, Teil 3

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const entwuerfe = [' '  { name: \"helfer\", werkzeuge: [\"lesen\", \"schreiben\"], positivliste: true, schreibenErlaubt: true, wurzel: \"arbeit/\", geheimnisse: false, maxSchritte: 10, maxKosten: 5, notaus: true, protokoll: true },' '  { name: \"bauer\", werkzeuge: [\"lesen\", \"schreiben\", \"shell\"], positivliste: true, schreibenErlaubt: true, wurzel: \"/\", geheimnisse: false, maxSchritte: null, maxKosten: 20, notaus: true, protokoll: false },' '  { name: \"kundschafter\", werkzeuge: [\"suchen\"], positivliste: false, schreibenErlaubt: false, wurzel: \"\", geheimnisse: true, maxSchritte: 50, maxKosten: null, notaus: false, protokoll: true },' '];' >> pruefung.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 Entwurfsprüfung schreiben, Teil 4

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'async function main() {' '  entwuerfe.forEach(function (d) {' '    const f = maengel(d);' '    console.log(d.name + \": \" + f.length + \" Mängel\" + (f.length > 0 ? \": \" + f.join(\"; \") : \"\"));' '  });' '  const q = \"Schreiben Sie in einem kurzen Satz, warum ein Agent einen Notaus haben muss.\";' '  const probe = \"Geht etwas schief, muss eine Person ihn sofort anhalten und nachlesen können, was er getan hat.\";' '  const antwort = await fragen([{ role: \"user\", content: q }], probe, 60);' '  console.log(\"Das Modell sagte: \" + antwort.text);' '}' 'main();' >> pruefung.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 Entwurfsprüfung ausführen

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

ZeileWas sie zeigt
helfer: 0 MängelEr besteht jede Prüfung
bauer: 4 Mängel: Werkzeuge: hat Shell; ...Er fällt in vier Bereichen durch
kundschafter: 5 Mängel: Werkzeuge: keine Positivliste; ...Er fällt am häufigsten durch
Das Modell sagte: ...Ein Satz. Die Worte ändern sich bei jedem Lauf oder zeigen Aufgezeichnete Probe

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.