Den Auftrag für eine KI-Funktion schreiben
Die Auftragsbeschreibung ist das kurze Dokument, das sagt, was eine Funktion leisten muss und woran Sie merken, dass sie funktioniert. Sie zählt, weil eine KI-Funktion mit vagem Auftrag fertig wirken und trotzdem vor Kunden versagen kann.
In diesem Modul bittet die erfundene Stadtbibliothek Lindenhof um einen Hilfeassistenten. Ihre erste Mail lautet: „Können Sie einen Chatbot bauen, der Fragen zu Öffnungszeiten und Mahngebühren beantwortet? Er soll gut sein.“
Am Ende dieser Lektion
Notiz
Ich kann aus einer Anfrage Anforderungen machen und einen Weg, um zu wissen, ob es funktioniert.
Schlüsselwörter
| Begriff | Was er bedeutet | Beispiel |
|---|---|---|
| Auftragsbeschreibung | das kurze Dokument, das sagt, was zu bauen ist | |
| Anforderung | etwas, das die Funktion leisten oder einhalten muss | |
| Grenze | eine Zahl, die die Funktion nicht überschreiten darf | höchstens 40 Wörter |
| Messung | eine Zahl, die sagt, wie gut die Antworten sind | |
| Notlösung | was Nutzer bekommen, wenn die Funktion nicht antwortet |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Eine Anfrage ist kein Auftrag
Eine Anfrage sagt, was jemand will. Sie sagt nicht, wer sie nutzt, was sie nie tun darf und wann sie fertig ist.
Sie machen daraus einen Auftrag, indem Sie die offenen Fragen stellen. Stellen Sie sie vor dem Bauen, denn jede Antwort ändert, was Sie bauen.
Beispiel: die Anfrage der Bibliothek
| Die Anfrage sagt | Die offene Frage |
|---|---|
| Ein Chatbot | Wer fragt, und auf welcher Seite? |
| Öffnungszeiten und Gebühren | Welche anderen Fragen kommen? |
| Er soll gut sein | Wie viele Fehler nehmen wir hin? |
| Nichts zur Länge | Wie lang darf eine Antwort sein? |
| Nichts zum Geld | Was darf ein Tag Nutzung kosten? |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Eine Messung von „gut“ ist eine Zahl
„Gut“ ist eine Meinung. „9 von 10 Antworten enthalten die richtige Zahl“ ist eine Messung: Zwei Personen können sie prüfen und sich einigen.
Eine Messung braucht Testfragen und eine Regel, die jede Antwort bewertet. Beides bauen Sie in der nächsten Lektion. Jetzt muss die Beschreibung nur sagen, welche Zahl es sein wird.
Grenzen, Kosten, Datenschutz und Notlösung
Vier weitere Teile fehlen oft. Eine Grenze, etwa 40 Wörter. Eine Obergrenze für die Kosten eines Tages. Eine Datenschutzregel, die sagt, was nie gespeichert wird. Eine Notlösung für den Tag, an dem das Modell nicht antwortet.
Nennen Sie auch eine verantwortliche Person, die entscheidet, wenn die Zahlen nicht erreicht werden.
Ein häufiger Fehler
Warnung
Viele glauben, das Modell mache einen vagen Auftrag klar. Das tut es nicht. Wenn niemand sagen kann, welche Antwort falsch ist, kann niemand sagen, wann die Funktion funktioniert. Schreiben Sie die Zahl vor dem Bauen auf.
Den Auftragsprüfer schreiben, Teil 1
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const fs = require(\"fs\");' '// Die Anfrage, wie die Bibliothek sie geschickt hat, in Teile zerlegt.' 'const auftrag = {' ' nutzer: \"Mitglieder, die nach Öffnungszeiten und Mahngebühren fragen\",' ' aufgaben: \"Fragen anhand des Faktenblatts beantworten\",' ' grenzen: \"Die Antworten sollen kurz sein\",' ' messung: \"Die Antworten sollen gut sein\",' ' kosten: \"\",' '};' 'fs.writeFileSync(\"auftrag.json\", JSON.stringify(auftrag, null, 1));' > auftrag.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.
Den Auftragsprüfer schreiben, Teil 2
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const PFLICHT = [\"nutzer\", \"aufgaben\", \"grenzen\", \"messung\", \"kosten\", \"datenschutz\", \"notloesung\", \"verantwortlich\"];' 'const BRAUCHT_ZAHL = [\"grenzen\", \"messung\", \"kosten\"];' 'const fehlend = [];' 'const vage = [];' 'for (const teil of PFLICHT) {' ' const text = (auftrag[teil] || \"\").trim();' ' if (text === \"\") fehlend.push(teil);' ' else if (BRAUCHT_ZAHL.includes(teil) && /[0-9]/.test(text) === false) vage.push(teil);' '}' 'console.log(\"Fehlende Teile:\", fehlend.join(\", \"));' 'console.log(\"Teile ohne Zahl:\", vage.join(\", \"));' 'console.log(fehlend.length + vage.length === 0 ? \"Die Auftragsbeschreibung ist bereit.\" : \"Die Auftragsbeschreibung ist nicht bereit.\");' >> auftrag.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.
Den Auftrag der Bibliothek prüfen
docker exec -w /home/node/project agent node auftrag.jsHier 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
| Zeile | Was sie sagt |
|---|---|
| Fehlende Teile | kosten, datenschutz, notloesung, verantwortlich |
| Teile ohne Zahl | grenzen, messung |
| Letzte Zeile | Die Auftragsbeschreibung ist nicht bereit. |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.