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 Datenfluss einer KI-Funktion prüfen

Nach dieser Lektion: Ich kann den Datenfluss einer Funktion anhand einer Checkliste prüfen.

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

Den Daten durch eine Funktion folgen

Eine Datenflussprüfung folgt personenbezogenen Daten von dort, wo sie hereinkommen, bis dorthin, wo sie enden. Sie fragt, wohin sie gehen, wer sie sieht, wie lange sie bleiben und warum.

Eine Prüfung findet Probleme auf dem Papier, bevor eine Funktion live geht. Sie ist eine Denkweise und kein Zertifikat dafür, dass etwas rechtmäßig ist.

Am Ende dieser Lektion

Notiz

Ich kann den Datenfluss einer Funktion anhand einer Checkliste prüfen.

Schlüsselwörter

BegriffWas er bedeutetBeispiel
Datenflussder Weg, den personenbezogene Daten durch eine Funktion nehmen
Checklisteeine Liste von Fragen, die jeder Schritt beantworten muss
Freigegebener Ortein Ort, an den Daten nach Ihrer Entscheidung gehen dürfenunsere Datenbank
Lesereine Person oder Gruppe, die die Daten sehen kann
Zweckder Grund, warum ein Schritt die Daten nutzt

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

Ein Datenfluss ist eine Liste von Schritten

Schreiben Sie jeden Schritt des Weges als eine Zeile. Ein Schritt hat einen Namen, die Daten, die er nutzt, den Ort, an den sie gehen, und wer sie dort lesen kann.

Er hat außerdem die Tage der Aufbewahrung, ob vorher geschwärzt wurde, und den Grund der Nutzung. Fünf Fragen machen aus diesen Zeilen eine Prüfung.

Die fünf Prüfungen

PrüfungSie fällt durch, wennBeispiel aus dem Run
Ungeschwärzt nach außenDaten gehen ungeschwärzt an einen nicht freigegebenen OrtApp zum Modell
Zu viele LeserZu den Lesern gehören alleProtokoll schreiben
Keine FristEs ist keine Zahl von Tagen festgelegtProtokoll schreiben
Zu lange aufbewahrtDie Tage liegen über Ihrer GrenzeWöchentlicher Export, 400 Tage
Kein ZweckEs ist kein Grund aufgeschriebenWöchentlicher Export

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

Die Prüfung meldet jeden Mangel

Prüfen Sie jeden Schritt der Reihe nach und listen Sie jeden Mangel auf. Ein Schritt kann mehrere Prüfungen nicht bestehen. Ein Schritt ohne Mangel fügt der Liste nichts hinzu.

Zählen Sie die Mängel nach Prüfung. Dann sehen Sie zum Beispiel, dass drei Schritte keine Frist haben, und beheben sie gemeinsam.

Ein häufiger Fehler

Warnung

Viele denken, ein Datenfluss, der die Checkliste besteht, entspreche dem Gesetz. Das stimmt nicht. Er zeigt nur, dass fünf Fragen Antworten haben. Die Regeln unterscheiden sich nach Ort und Nutzung, also entscheidet eine Person mit der nötigen Sachkunde. Diese Lektion ist keine Rechtsberatung.

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

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const { fragen } = require(\"./model\");' 'const freigegeben = [\"unsere App\", \"unsere Datenbank\"];' 'const grenze = 90;' 'const ablauf = [' '  { schritt: \"Formular zur App\", daten: [\"E-Mail\", \"Nachricht\"], ziel: \"unsere App\", wer: [\"Support\"], tage: 30, geschwaerzt: false, zweck: \"Kundschaft antworten\" },' '  { schritt: \"App zum Modell\", daten: [\"Nachricht\"], ziel: \"Modellanbieter\", wer: [\"Modellanbieter\"], tage: 0, geschwaerzt: false, zweck: \"Antwort schreiben\" },' '  { schritt: \"Protokoll schreiben\", daten: [\"E-Mail\"], ziel: \"unsere Datenbank\", wer: [\"alle\"], tage: null, geschwaerzt: false, zweck: \"Fehlersuche\" },' '];' > review.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 Datenflussprüfung schreiben, Teil 2

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'ablauf.push({ schritt: \"Wöchentlicher Export\", daten: [\"E-Mail\"], ziel: \"Analyseanbieter\", wer: [\"Analyst\"], tage: 400, geschwaerzt: true, zweck: \"\" });' 'ablauf.push({ schritt: \"Zwischenspeicher\", daten: [], ziel: \"unsere App\", wer: [\"Support\"], tage: 1, geschwaerzt: false, zweck: \"Tempo\" });' 'function pruefen(s) {' '  const aus = [];' '  if (s.daten.length > 0 && freigegeben.indexOf(s.ziel) < 0 && s.geschwaerzt === false) aus.push(\"ungeschwärzt nach außen\");' '  if (s.wer.indexOf(\"alle\") >= 0) aus.push(\"zu viele Leser\");' '  if (s.tage === null) aus.push(\"keine Frist\");' '  else if (s.tage > grenze) aus.push(\"zu lange aufbewahrt\");' '  if (s.zweck.trim().length === 0) aus.push(\"kein Zweck\");' '  return aus;' '}' >> review.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 Datenflussprüfung schreiben, Teil 3

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'async function main() {' '  let durchgefallen = 0;' '  ablauf.forEach(function (s) {' '    const f = pruefen(s);' '    if (f.length > 0) durchgefallen = durchgefallen + 1;' '    console.log(s.schritt + \" -> \" + (f.length === 0 ? \"besteht\" : f.join(\", \")));' '  });' '  console.log(\"Schritte, die durchfallen: \" + durchgefallen + \" von \" + ablauf.length);' '  const q = \"Schreiben Sie in einem kurzen Satz, warum man für jeden Schritt, der personenbezogene Daten nutzt, den Zweck aufschreibt.\";' '  const probe = \"Ein aufgeschriebener Zweck zeigt, warum die Daten genutzt werden, und ein Schritt ohne Grund fällt auf.\";' '  const antwort = await fragen([{ role: \"user\", content: q }], probe, 60);' '  console.log(\"Das Modell sagte: \" + antwort.text);' '}' 'main();' >> review.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 Datenflussprüfung ausführen

Befehl
docker exec -w /home/node/project agent node review.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
Formular zur App -> bestehtFreigegebener Ort, ein Grund und eine Frist
App zum Modell -> ungeschwärzt nach außenEine Nachricht ging ohne Schwärzen hinaus
Protokoll schreiben -> zu viele Leser, keine FristZwei Mängel in einem Schritt
Wöchentlicher Export -> zu lange aufbewahrt, kein ZweckZwei weitere Mängel
Schritte, die durchfallen: 3 von 5Die Zusammenfassung
Das Modell sagte: ...Ein Satz. Die Worte ändern sich bei jedem Lauf

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.