Menu

System-Prompt: Bedeutung und Beispiele zum Kopieren

Ein System-Prompt ist ein Satz stehender Anweisungen, der für ein ganzes Gespräch mit einem KI-Modell gilt. Hier erfährst du, wo er steht, was hineingehört und wie er sich von einer User-Nachricht unterscheidet.

Jeder Prompt auf dieser Seite lässt sich bearbeiten und danach in ChatGPT, Claude oder einer anderen KI-App öffnen.

Ein System-Prompt ist ein Satz Anweisungen, den ein KI-Modell vor Beginn des Gesprächs bekommt und der für jede folgende Nachricht gilt. Er legt die Rolle des Modells fest, sein Publikum, seine Regeln und das Standardformat der Antworten, damit du sie nicht in jeder Nachricht wiederholen musst. Der User schreibt die Prompts; der System-Prompt prägt, wie das Modell auf alle antwortet.

Jede Chat-App verwendet schon einen. Wenn du ChatGPT, Claude oder Gemini öffnest, hat das Modell bereits Anweisungen von der Firma dahinter, die dir das Chatfenster nicht zeigt. Wenn Entwickler eine App auf einem Modell aufbauen, machen sie im System-Prompt aus einem allgemeinen Modell einen Programmier-Tutor, einen Support-Assistenten oder einen Schreiber für Commit-Messages.

Was ein System-Prompt tut

Der Input eines Modells in einem Chat hat eine Struktur: zuerst ein System-Prompt, dann das Gespräch als abwechselnde Nachrichten von User und Assistent. Der System-Prompt steht über dem ganzen Austausch, also liegt er dem Modell bei jeder Antwort vor, egal wie lang der Chat wird.

Diese Position macht ihn zum richtigen Ort für alles, was immer gelten soll: mit wem das Modell spricht, was es darf und was nicht, wie eine Antwort standardmäßig aussehen soll. Modelle sind außerdem darauf trainiert, ihm mehr Gewicht zu geben als einer User-Nachricht, wenn sich beide widersprechen. Das ist eine Tendenz, kein Schloss. Ein hartnäckiger User kann ein Modell manchmal von seinem System-Prompt abbringen, deshalb sollte er nie deine einzige Schutzmaßnahme sein.

System-Prompt vs. User-Nachricht

System-PromptUser-Nachricht
Wer ihn schreibtDer Entwickler, oder du in den Einstellungen der AppDu, im Chatfeld
GeltungsbereichDas ganze GesprächEine Anfrage
Typischer InhaltRolle, Publikum, Regeln, Fakten, StandardformatDie Aufgabe und das Material dazu
Wann er sich ändertSeltenBei jeder Nachricht
Gewicht bei einem KonfliktMeist höherMeist niedriger

Ein nützlicher Test: Wenn ein Satz für jede Nachricht im Chat stimmen würde, gehört er in den System-Prompt. Wenn er diese eine Anfrage betrifft, gehört er in die User-Nachricht. "Antworte in unter 100 Wörtern" passt in beide; "fasse die E-Mail unten zusammen" ist immer eine User-Nachricht.

Wo du einen System-Prompt festlegst

In der API ist der System-Prompt ein eigener Input. In OpenAIs Python-Bibliothek ist er die erste Nachricht in der Liste, mit der Rolle system. OpenAIs Dokumentation verwendet für neuere Modelle auch den Namen Developer Message für dieselbe Art von Anweisung.

from openai import OpenAI

client = OpenAI()
MODEL = "your-model-id"  # e.g. from your provider's model list

response = client.chat.completions.create(
    model=MODEL,
    messages=[
        {"role": "system", "content": "You are a patient Python tutor. Give hints, not full solutions."},
        {"role": "user", "content": "Why does my loop stop at 9?"},
    ],
)
print(response.choices[0].message.content)

In Anthropics Python-Bibliothek ist er ein eigener Parameter system auf oberster Ebene, und die Liste messages enthält nur das Gespräch:

import anthropic

client = anthropic.Anthropic()
MODEL = "your-model-id"  # e.g. from your provider's model list

message = client.messages.create(
    model=MODEL,
    max_tokens=500,
    system="You are a patient Python tutor. Give hints, not full solutions.",
    messages=[{"role": "user", "content": "Why does my loop stop at 9?"}],
)
print(message.content[0].text)

Googles Gemini API nennt ihn System Instruction. Der Name ist anders, die Idee dieselbe.

In Chat-Apps bekommst du nicht das rohe System-Feld, weil die App schon ihr eigenes hat. Du bekommst stattdessen einen Ort für stehende Anweisungen, die die App für dich mitschickt. In ChatGPT sind das benutzerdefinierte Anweisungen, Projektanweisungen und die Anweisungen eines eigenen GPTs. In Claude sind es Projektanweisungen und die Einstellungen in deinem Profil. In Gemini sind es die Anweisungen eines Gems. Wie genau jede App deinen Text mit ihren eigenen Anweisungen zusammenführt, ist nicht vollständig dokumentiert, aber in der Praxis verhalten sie sich wie ein System-Prompt, den du dir mit der App teilst.

Was in einen System-Prompt gehört

  • Rolle und Publikum. "Du bist Tutor für Lernende in ihrem ersten Monat Programmieren" legt Wortschatz und Niveau jeder Antwort fest. Rollen-Prompting zeigt, was eine Rolle ändert und was nicht.
  • Regeln, die bei jeder Nachricht gelten. Was das Modell immer oder nie tun soll: Hinweise statt kompletter Lösungen geben, nur Fragen zum Produkt beantworten, in der Sprache des Users antworten.
  • Was bei Unsicherheit zu tun ist. "Wenn die Antwort nicht in den Fakten unten steht, sag, dass du es nicht weißt" hilft mehr gegen erfundene Antworten als ein allgemeines "sei genau".
  • Fakten, die das Modell braucht. Produktdetails, Richtlinien, das aktuelle Datum, der Tarif des Users. Ein Modell kann Fragen zu deiner App nicht aus Trainingsdaten beantworten.
  • Standardformat. Länge, Aufbau, ob Codeblöcke verwendet werden. Wenn ein Programm die Ausgabe liest, gib die genaue Form vor; siehe strukturierte Ausgabe.

Was draußen bleibt

Geheimnisse. Ein System-Prompt ist nicht privat. User können ein Modell bitten, seine Anweisungen zu wiederholen, oder es dazu austricksen, und Modelle lehnen nicht zuverlässig ab. API-Schlüssel, Passwörter und alles, was du nicht veröffentlicht sehen willst, gehören nicht hinein. Behandle den System-Prompt als Text, den der User eines Tages lesen könnte, und lies unter Prompt Injection nach, wie Anweisungen ausgehebelt werden.

Die Aufgabe einer einzelnen Nachricht. Wenn im System-Prompt "fasse diesen Artikel zusammen" steht, weiß die zweite Nachricht im Chat nicht, wohin.

Stapel sich überschneidender Regeln. Zwanzig Regeln, die zu verschiedenen Zeiten geschrieben wurden, widersprechen sich gern, und das Modell muss raten, welche gewinnt. Gruppiere die Regeln, entferne Doppelungen und nenn Prioritäten, wenn zwei kollidieren können.

Füllmaterial. Der System-Prompt wird mit jeder Anfrage erneut gesendet und zählt gegen das Kontextfenster des Modells, also bezahlst du jeden unnötigen Absatz bei jeder Nachricht.

System-Prompt Beispiele

Das erste Beispiel ist ein Produktassistent. Der System-Prompt legt einen Themenbereich, eine Länge und eine Regel für Fragen fest, die er nicht beantworten kann, und enthält die Fakten, die das Modell braucht. Wechsle zwischen den Tabs, um ihm verschiedene Nachrichten zu schicken: Derselbe System-Prompt prägt alle drei Antworten.

System prompt
Du bist der Hilfe-Assistent in einer Budget-App. Beantworte nur Fragen zur Nutzung der App. Halte jede Antwort unter 80 Wörtern. Wenn eine Frage etwas anderes betrifft, sag, dass du nur bei der App helfen kannst, und biete etwas Verwandtes an, bei dem du helfen kannst. Wenn die Fakten unten eine Frage nicht abdecken, sag, dass du nicht sicher bist, und empfiehl, den Support zu kontaktieren. Erfinde nie Menünamen oder Funktionen. Fakten: Transaktionen lassen sich aufteilen: Transaktion öffnen, auf Aufteilen tippen, dann Kategorien und Beträge wählen. Budgets werden am ersten Tag jedes Monats zurückgesetzt.
Fill in
Wie teile ich einen Einkauf zwischen Lebensmitteln und Haushalt auf?
Try it
Chat apps receive the system prompt as the start of your message, so this tries its wording, not its priority. To test it as standing instructions, put it in the app's custom instructions or the API's system field.
Example replyReplies vary between models and runs.

Öffne den Einkauf in deinen Transaktionen und tippe auf Aufteilen. Wähle dann die beiden Kategorien Lebensmittel und Haushalt und gib jeweils den passenden Betrag ein.

Das zweite Beispiel ist die Art Text, die du in benutzerdefinierte Anweisungen oder Projektanweisungen einer Chat-App schreiben könntest. Es beschreibt dich und wie du Antworten haben willst, damit jeder Chat davon ausgeht.

Prompt
System prompt
Über mich: Ich bin Backend-Entwickler und arbeite mit TypeScript auf Node.js. Geh davon aus, dass ich die Grundlagen kenne, und lass Anfängererklärungen weg. Wie ich Antworten haben will: zuerst Code, dann höchstens drei Sätze Erklärung. Sag es dazu, wenn eine Antwort von einer bestimmten Version oder Einstellung abhängt.
Fill in
Wie lese ich eine JSON-Datei ein?
Try it
Chat apps receive the system prompt as the start of your message, so this tries its wording, not its priority. To test it as standing instructions, put it in the app's custom instructions or the API's system field.
Example replyReplies vary between models and runs.
import { readFile } from "node:fs/promises";

const config = JSON.parse(await readFile("config.json", "utf8"));

Mit einer angegebenen Kodierung gibt readFile einen String zurück, den JSON.parse in ein Objekt verwandelt. Top-Level-await funktioniert nur in einem ES-Modul ("type": "module" in package.json oder eine .mts-Datei); ansonsten pack den Aufruf in eine async-Funktion. Ergänze ein try/catch, wenn die Datei fehlen oder fehlerhaft sein könnte.

Ohne den System-Prompt lässt eine so kurze Frage wie "wie lese ich eine JSON-Datei ein?" das Modell die Sprache raten, und die Antwort kommt oft in Python oder reinem JavaScript, mit einem Absatz darüber, was JSON ist. Mit ihm wählt die Antwort die richtige Sprache und Laufzeitumgebung, überspringt die Grundlagen und hält sich an die gewünschte Form.

Dieselbe Struktur funktioniert für jeden Assistenten, den du einrichtest: wem er dient, die Regeln, was bei Unsicherheit zu tun ist, die Fakten, die er braucht, und das Antwortformat. Schreib sie einmal, teste sie mit einer normalen Frage, einer themenfremden und einer, die eine Regel brechen will, und pass sie an, bis alle drei Antworten so sind, wie du willst.

Häufig gestellte Fragen

Was ist ein System-Prompt?

Ein System-Prompt ist ein Satz Anweisungen, den ein KI-Modell vor Beginn des Gesprächs bekommt und der für jede folgende Nachricht gilt. Er legt meist die Rolle, das Publikum, die Regeln und das Standardformat der Antworten fest. In der API ist er ein eigenes System-Feld oder eine eigene Nachricht; in Chat-Apps erfüllen benutzerdefinierte Anweisungen und Projektanweisungen denselben Zweck.

Was ist der Unterschied zwischen System-Prompt und User-Prompt?

Der System-Prompt enthält stehende Anweisungen für das ganze Gespräch und wird meist vom Entwickler geschrieben oder einmal in den Einstellungen festgelegt. Der User-Prompt ist eine einzelne Nachricht mit einer Bitte. Wenn sich beide widersprechen, sind Modelle darauf trainiert, dem System-Prompt mehr Gewicht zu geben, aber das ist eine Tendenz und keine Garantie.

Kann ich in ChatGPT, Claude oder Gemini einen System-Prompt festlegen?

Nicht das rohe System-Feld, aber etwas sehr Ähnliches. ChatGPT hat benutzerdefinierte Anweisungen, Projektanweisungen und Anweisungen für eigene GPTs. Claude hat Projektanweisungen und Profileinstellungen. Gemini hat Anweisungen für Gems. Die App kombiniert, was du dort schreibst, mit ihren eigenen Systemanweisungen und wendet es auf deine Chats an.

Können Nutzer einen System-Prompt sehen oder auslesen?

Oft ja. Ein Nutzer kann das Modell bitten, seine Anweisungen zu wiederholen, oder es dazu austricksen, und Modelle halten sie nicht zuverlässig geheim. Schreib nie Passwörter, API-Schlüssel oder vertrauliche Geschäftsdetails in einen System-Prompt, und verlass dich nicht auf ihn als Sicherheitsgrenze.

Wie lang sollte ein System-Prompt sein?

Lang genug, um abzudecken, was für jede Nachricht gilt, und nicht länger. Ein persönlicher kann drei oder vier Sätze haben. Ein System-Prompt für ein Produkt umfasst oft eine Seite, mit Rolle, Regeln, Fakten und Ausgabeformat. Jedes Wort wird mit jeder Anfrage mitgeschickt, kostet also jedes Mal Tokens.

Coddy programming languages illustration

Lerne mit Coddy zu programmieren

LOS GEHT'S