Vier Teile ergeben einen klaren Prompt
Ein Prompt ist der Text, den Sie an ein Sprachmodell schicken. Das Modell liest nur diesen Text und kann nicht raten, was Sie noch sagen wollten.
„Erzählen Sie mir etwas über das Spiel“ ergibt jedes Mal eine andere Antwort. Ein Prompt mit Rolle, Aufgabe, Grenzen und Form ergibt eine, die Sie verwenden können.
Am Ende dieser Lektion
Notiz
Ich kann eine vage Bitte in einen Prompt mit Rolle, Aufgabe, Grenzen und Form verwandeln.
Schlüsselwörter
| Begriff | Was er bedeutet |
|---|---|
| Prompt | der Text, den Sie an ein Modell schicken |
| Rolle | wer das Modell sein soll |
| Aufgabe | die eine Arbeit, die jetzt zu tun ist |
| Grenzen | was die Antwort nicht überschreiten darf |
| Ausgabeform | die Gestalt, die die Antwort haben soll |
| Checkliste | eine Liste zum Abhaken |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Was sind die vier Teile eines Prompts?
Die Rolle sagt, wer das Modell ist. Die Aufgabe nennt die eine Arbeit. Die Grenzen sagen, was es nicht überschreiten darf, zum Beispiel die Länge oder die Quellen. Die Ausgabeform nennt die Gestalt der Antwort, etwa einen Satz oder eine Liste.
Schreiben Sie jeden Teil in eine eigene Zeile mit einer Beschriftung. So ist der Prompt leicht zu lesen und leicht zu prüfen.
Dieselbe Bitte, schlecht und gut
| Teil | Vage | Klar |
|---|---|---|
| Rolle | (nichts) | Sie sind Berichterstatter eines Sportvereins. |
| Aufgabe | Erzählen Sie mir etwas über das Spiel. | Schreiben Sie eine Nachrichtenzeile zum Ergebnis unten. |
| Grenzen | (nichts) | Ein Satz. Nur die genannten Fakten. |
| Ausgabeform | (nichts) | Reiner Text, keine Überschrift. |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
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.
Prompt-Prüfer schreiben, Teil 1
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const { fragen } = require(\"./model\");' 'const vage = \"Erzählen Sie mir etwas über das Spiel.\";' 'const gut = [' ' \"Rolle: Sie sind Berichterstatter eines Sportvereins.\",' ' \"Aufgabe: Schreiben Sie eine Nachrichtenzeile zum Spielergebnis unten.\",' ' \"Grenzen: Ein Satz. Nur die genannten Fakten.\",' ' \"Form: Reiner Text, keine Überschrift.\",' ' \"Fakten: Rheinau 3, Berg 1. Zwei Tore von Sam.\",' '].join(\"\n\");' > klar1.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.
Prompt-Prüfer schreiben, Teil 2
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const TEILE = [\"Rolle\", \"Aufgabe\", \"Grenzen\", \"Form\"];' 'function fehlend(prompt) {' ' const zeilen = prompt.split(\"\n\");' ' const weg = [];' ' for (const teil of TEILE) {' ' const da = zeilen.some(function (z) {' ' return z.startsWith(teil + \": \") && z.length > teil.length + 2;' ' });' ' if (da === false) weg.push(teil);' ' }' ' return weg;' '}' >> klar1.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.
Prompt-Prüfer schreiben, Teil 3
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'async function main() {' ' for (const p of [vage, gut]) {' ' const weg = fehlend(p);' ' console.log(\"Wertung \" + (4 - weg.length) + \" von 4, es fehlt: \" + (weg.join(\", \") || \"nichts\"));' ' }' ' const probe = \"Rheinau schlug Berg mit 3 zu 1, Sam erzielte zwei Tore.\";' ' const antwort = await fragen([{ role: \"user\", content: gut }], probe, 60);' ' console.log(\"Modell: \" + antwort.text);' '}' 'main();' >> klar1.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.
Zwei Prompts ausführen und bewerten
docker exec -w /home/node/project agent node klar1.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 druckt
Die ersten zwei Zeilen bewerten den vagen und den ausgearbeiteten Prompt. Der vage erhält 0 von 4 und führt alle vier Teile als fehlend auf. Der ausgearbeitete erhält 4 von 4.
Die letzte Zeile ist eine kurze Antwort des Labor-Modells. Ohne Modell steht zuerst Aufgezeichnete Probe. Die Worte einer Antwort können sich bei jedem Lauf ändern, und das ist normal.
Ein häufiger Fehler
Warnung
Viele glauben, ein längerer Prompt sei ein besserer Prompt. Das stimmt nicht. Ein Prompt ist besser, wenn jeder Teil da ist und je eines sagt. Fügen Sie eine Zeile nur hinzu, wenn sie die Antwort begrenzt oder formt.