Wer auf Freigeben klickt, ohne zu lesen
Menschliche Kontrolle heißt: Eine Person prüft, was eine KI-Funktion gleich tun wird, und kann es stoppen. Das ist wichtig, weil eine Prüfung, die niemand liest, schlechter ist als keine. Sie gibt allen ein falsches Gefühl von Sicherheit.
Diese Lektion macht die Prüfung echt. Welche Aktionen brauchen einen Menschen, was muss er sehen, und woran erkennt man eine Freigabe, die zur Gewohnheit wurde.
Am Ende dieser Lektion
Notiz
Ich kann eine Prüfung durch einen Menschen entwerfen, die echt ist und keine Gewohnheit.
Schlüsselwörter
| Begriff | Was er bedeutet |
|---|---|
| Aufsicht | eine Person, die eine Aktion prüfen und stoppen kann |
| Freigabe | das Ja einer Person zu einer Aktion |
| Blindes Abnicken | eine Freigabe ohne zu lesen |
| Eskalation | einen Fall an eine höhere Stelle geben |
| Schwellenwert | die Größe, ab der ein Mensch entscheiden muss |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Wählen Sie, was einen Menschen braucht
Ein Mensch kann nicht jede Aktion lesen, also wählen Sie aus. Fragen Sie einen Menschen, wenn die Aktion mehr als einen Schwellenwert kostet oder sich nicht rückgängig machen lässt. Lassen Sie den Rest laufen und protokollieren Sie ihn.
Wer zu allem gefragt wird, hört auf zu lesen. Wenige gut gewählte Fragen finden echte Aufmerksamkeit.
Durchgerechnetes Beispiel: vier Aktionen, Grenze 100 Euro
| Aktion | Geld | Umkehrbar | Wer entscheidet |
|---|---|---|---|
| Dankes-Mail | 0 | ja | Läuft weiter |
| Bestellung 114 erstatten | 40 | ja | Läuft weiter |
| Bestellung 207 erstatten | 450 | ja | Ein Mensch: über der Grenze |
| Kundenakte löschen | 0 | nein | Ein Mensch: nicht umkehrbar |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Eine echte Prüfung zeigt das Nötige
Zeigen Sie dem Menschen, was gleich geschieht, wie viel Geld im Spiel ist und was unbekannt ist. Zeigen Sie nicht nur die Antwort des Modells. Geben Sie einen Weg zum Nein und einen, den Fall nach oben zu geben.
Dann messen Sie. Eine Freigabe, die eine Sekunde dauerte, wurde nicht gelesen. Sind fast alle schnell und fast alle Ja, ist die Prüfung zur Gewohnheit geworden.
Ein häufiger Fehler
Warnung
Viele glauben, ein Mensch im Ablauf genüge. Wer 200 Dinge pro Stunde freigibt, prüft sie nicht. Messen Sie, wie lange jede Freigabe dauert und wie viele abgelehnt werden, und werten Sie ein sehr schnelles, sehr häufiges Ja als Fehler.
Modell-Helfer schreiben, Teil 1
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
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.
Kontrolle schreiben, Teil 1
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const { fragen } = require(\"./model\");' '' 'const GRENZE = 100; // Euro: darüber entscheidet ein Mensch' 'const MIN_SEK = 5; // eine schnellere Freigabe wurde nicht gelesen' 'const aktionen = [' ' { id: \"a1\", was: \"Dankes-Mail senden\", geld: 0, umkehrbar: true },' ' { id: \"a2\", was: \"Bestellung 114 erstatten\", geld: 40, umkehrbar: true },' ' { id: \"a3\", was: \"Bestellung 207 erstatten\", geld: 450, umkehrbar: true },' ' { id: \"a4\", was: \"Kundenakte löschen\", geld: 0, umkehrbar: false },' '];' 'function brauchtMensch(a) {' ' return a.geld > GRENZE || a.umkehrbar === false;' '}' > kontrolle.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.
Kontrolle schreiben, Teil 2
docker exec -w /home/node/project agent sh -c "printf '%s\n' '// Aufgezeichnete Freigaben: die Sekunden, die jede Person brauchte.' 'const gesehen = [' ' { id: \"r1\", sek: 31 },' ' { id: \"r2\", sek: 1 },' ' { id: \"r3\", sek: 45 },' ' { id: \"r4\", sek: 2 },' '];' >> kontrolle.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.
Kontrolle schreiben, Teil 3
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'async function main() {' ' aktionen.forEach(function (a) {' ' console.log(a.id + \": \" + (brauchtMensch(a) ? \"Mensch fragen\" : \"weiter\"));' ' });' ' gesehen.forEach(function (r) {' ' console.log(r.id + \": \" + r.sek + \" s \" + (r.sek < MIN_SEK ? \"NICHT GELESEN\" : \"gelesen\"));' ' });' ' const q = \"Schreiben Sie zwei kurze Zeilen für eine Leiterin, die freigeben muss: Bestellung 207 erstatten, 450 Euro. Nennen Sie was, wie viel und was unbekannt ist.\";' ' const r = await fragen([{ role: \"user\", content: q }], \"Erstattung von 450 Euro für Bestellung 207. Der genannte Grund ist nicht geprüft und die Kundenhistorie wird nicht gezeigt.\", 80);' ' console.log(\"Eine mögliche Zusammenfassung: \" + r.text);' '}' 'main();' >> kontrolle.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.
Kontrolle ausführen
docker exec -w /home/node/project agent node kontrolle.jsHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Eine mögliche Ausgabe
| Zeile | Was sie zeigt |
|---|---|
| a1: weiter und a2: weiter | Klein und umkehrbar |
| a3: Mensch fragen und a4: Mensch fragen | Über der Grenze, und nicht umkehrbar |
| r2: 1 s NICHT GELESEN und r4: 2 s NICHT GELESEN | Freigaben, zu schnell, um echt zu sein |
| Eine mögliche Zusammenfassung: ... | Ihr eigener Aufruf. Er ändert sich bei jedem Lauf oder zeigt Aufgezeichnete Probe |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.