Richtig und trotzdem nutzlos
Eine Chatfunktion einer Bank gibt eine richtige Antwort in einem langen Absatz voller schwerer Wörter. Ein Kunde liest langsam. Eine andere nutzt einen Screenreader. Ein dritter hat schlechten Empfang und wartet zehn Sekunden.
Eine richtige Antwort, die eine Person nicht nutzen kann, ist trotzdem ein Fehler. Zugang gehört zur Qualität einer Funktion.
Am Ende dieser Lektion
Notiz
Ich kann eine KI-Funktion für Menschen mit verschiedenen Bedürfnissen nutzbar machen.
Schlüsselwörter
| Begriff | Was er bedeutet | Beispiel |
|---|---|---|
| Screenreader | Software, die eine Seite laut vorliest | |
| Einfache Sprache | kurze Sätze und Alltagsworte | |
| Fachwort | ein schweres Wort, das nur Fachleute kennen | nachfolgend |
| Lesezeit | wie lange eine Antwort zum Lesen braucht | |
| Alternative | ein anderer Weg zur selben Aufgabe |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Einfache Sprache lässt sich per Regel prüfen
Einfache Sprache ist kein Gefühl. Sie können Regeln setzen. Kein Satz über 12 Wörter. Kein Wort aus einer kurzen Liste von Fachwörtern. Keine Antwort über 40 Wörter.
Eine Regel lässt sich über jede aufgezeichnete Antwort laufen. Die, die sie verletzen, schreiben Sie um.
Zeit, Warten und andere Wege hinein
Rechnen Sie die Lesezeit aus: Wörter mal 60, geteilt durch Wörter pro Minute. Eine Antwort mit 40 Wörtern braucht bei 120 Wörtern pro Minute 20 Sekunden. Langsame Leser brauchen länger.
Zeigen Sie bei einer langsamen Antwort ein sichtbares Warten und lassen Sie es abbrechen. Bieten Sie neben dem Chat eine Alternative an: einen Knopf, ein Formular oder eine Telefonnummer.
Ein häufiger Fehler
Warnung
Viele glauben, Zugang betreffe nur Menschen mit Behinderung und könne warten. Er betrifft alle: eine müde Person, einen neuen Leser, schlechten Empfang. Prüfen Sie die Regeln an jeder Antwort und bieten Sie einen anderen Weg an, nicht nur ein Chatfenster.
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.
Prüfer für einfache Sprache schreiben, Teil 1
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const { fragen } = require(\"./model\");' 'const REGELN = { maxSatz: 12, maxWoerter: 40, fachwoerter: [\"nachfolgend\", \"unverzüglich\", \"parametrisieren\"], wpm: 120 };' 'const ANTWORTEN = [' ' { id: \"a1\", text: \"Drücken Sie den grünen Knopf. Dann wählen Sie ein Datum.\" },' ' { id: \"a2\", text: \"Sie sollten nachfolgend das Menü zum Parametrisieren öffnen und das Datum unverzüglich ändern, bevor Sie bestätigen.\" },' ' { id: \"a3\", text: \"Ihre Bestellung ist unterwegs. Sie sollte am Freitag ankommen. Wenn nicht, melden Sie sich bei uns, dann kümmern wir uns darum.\" },' '];' > zugang.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.
Prüfer für einfache Sprache schreiben, Teil 2
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'function woerter(text) {' ' return text.split(\" \").filter(function (w) { return w.length > 0; });' '}' 'function saetze(text) {' ' return text.split(\".\").map(function (s) { return s.trim(); }).filter(function (s) { return s.length > 0; });' '}' >> zugang.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.
Prüfer für einfache Sprache schreiben, Teil 3
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'function probleme(text) {' ' const aus = [];' ' const laengster = Math.max.apply(null, saetze(text).map(function (s) { return woerter(s).length; }));' ' if (laengster > REGELN.maxSatz) aus.push(\"langer Satz\");' ' if (woerter(text).length > REGELN.maxWoerter) aus.push(\"zu lang\");' ' const schwer = woerter(text.toLowerCase()).filter(function (w) { return REGELN.fachwoerter.includes(w); });' ' if (schwer.length > 0) aus.push(\"schwere Wörter\");' ' return aus;' '}' >> zugang.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.
Prüfer für einfache Sprache schreiben, Teil 4
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'async function main() {' ' for (const a of ANTWORTEN) {' ' const sek = Math.ceil((woerter(a.text).length * 60) / REGELN.wpm);' ' console.log(a.id + \" \" + woerter(a.text).length + \" Wörter, \" + sek + \" s, \" + JSON.stringify(probleme(a.text)));' ' }' ' const frage = \"Schreiben Sie in einfacher Sprache: Sie sollten nachfolgend das Menü öffnen, um das Datum zu ändern.\";' ' const r = await fragen([{ role: \"user\", content: frage }], \"Öffnen Sie danach das Menü, um das Datum zu ändern.\", 30);' ' console.log(\"einfach: \" + r.text);' '}' 'main();' >> zugang.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.
Prüfer für einfache Sprache ausführen
docker exec -w /home/node/project agent node zugang.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 10 Wörter, 5 s, [] | Kurz und einfach, also keine Probleme |
| a2 16 Wörter, 8 s, ["langer Satz","schwere Wörter"] | Ein langer Satz mit drei schweren Wörtern |
| a3 21 Wörter, 11 s, [] | Unter jeder Grenze, also bestanden |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.