Wenn du schon einmal ChatGPT und Co über die API genutzt hast, bist du sicherlich über die Prompt-Rollen gestolpert. Assistant, User, Developer. Ich kann an dieser Stelle schon einmal sagen: Die Unterschiede zu kennen und die Rollen richtig einzusetzen wird (so würde es ChatGPT sagen) dein Prompting aufs nächste Level bringen!
Also: Wie funktionieren diese Rollen, wofür sind sie gedacht und wie kannst du sie in Kombination nutzen? (Ja, du darfst mehrere Rollen gleichzeitig einsetzen und solltest das auch.)
➡️ Du möchtest erst einmal mehr zu den unterschiedlichen OpenAI Sprachmodellen lesen? Dieser Artikel ist interessant für dich!
Was sind Prompt-Rollen eigentlich?
Sprachmodelle, also nicht nur die Modelle von OpenAI, sondern beispielsweise auch Anthropics Claude oder Perplexity, haben unterschiedliche Rollen, die belegt werden können.
Via API hat jeder Eingabe mindestens einen Eintrag, der aus je einem role
und einem content
-Feld besteht. Die drei Rollen (bei ChatGPT) sind:
- developer/system: legt Verhalten, Stil und Regeln für das Modell fest (empfohlen)
Per default startet das bei OpenAI übrigens mit „You are a friendly assistant…“ - user: gibt die eigentlichen Eingaben oder Fragen des Nutzers (Pflicht, das ist dein eigentlicher Prompt)
- assistant: enthält die Antworten des Modells (damit kannst du Beispiele ideal übergeben)
Prompt-Rollen bei make.com
In make.com ist die Anwendung der Prompt-Rollen einfach. Bei Input einfach die Rolle auswählen und den Content definieren. Die Dialoge dazu siehst du oben im Header.
Bei Claude gibt es eine Besonderheit: in make.com lässt sich der System-Prompt nur über „Other Input Parameters“ definieren (s. Screenshot).

Mittlerweile gibt es bei Claude und ChatGPT auch „Tool“, darauf gehen wir aber nicht ein.
Zum Nachlesen findest du die Dokumentation zu den Tools hier:
Warum sind Prompt-Rollen wichtig?
Durch die Trennung kannst du explizit festlegen, welcher Logik dein LLM folgen soll und wie es sich verhalten soll (developer/system), welche Eingabe vom Menschen kommt (user), und welche Antwort die KI auf Basis dieser beiden Kontexte generiert (assistant). Das ist nicht nur sauberer strukturiert, es ist vor allem sicherer, nachvollziehbarer und robuster bei komplexen Anwendungsfällen.
Analogie: Funktion und Argumente
OpenAI beschreibt es treffend: developer messages sind wie die Funktionsdefinition, user messages wie die Argumente. Die Modellantwort ist das „Return“. Diese Denkweise hilft besonders beim Bau komplexer KI-gestützter Systeme mit Tool-Logik, Datenzugriff, Validierung oder Sicherheit.
Das Return kannst du mit den assistant messages simulieren. So kannst du perfekt definieren für welchen Input er welchen Output geben sollte.
Beispiel aus der OpenAI-Dokumentation
Wichtig für die richtige Funktionsweise ist auch die Reihenfolge! Starte mit developer/system und dann User!
messages: [
{
"role": "developer",
"content": "Talk like a pirate."
},
{
"role": "user",
"content": "Are semicolons optional in JavaScript?"
}
]
Das Modell formuliert dann die Antwort im Stil eines Piraten, weil die Anweisung des Developers Vorrang vor dem Stil des Users hat.
Testweise ausprobiert, ein bisschen schmunzeln muss ich schon:
Aye! Ye can skip semicolons in JavaScript thanks to automatic insertion — but beware, it ain’t foolproof. Use ‚em to keep the bugs at bay, matey! ☠️
Best Practice: Prompt-Rollen kombinieren
Ein professionelles Prompt-Setup nutzt beide Rollen explizit z. B. so (ich musste das JSON-Format entfernen, da es sonst hier nahezu unlesbar wäre):
„role“: „developer“
„content“: „Du bist ein juristisch geschulter Assistent. Antworte formell und mit Fokus auf deutsches Recht.“„role“: „user“
„content“: „Ich möchte eine genaue Analyse des folgenden Sachverhaltes.“„role“: „user“
„content“: „<hier könnte ein User-Input stehen, beispielsweise dass es um Mietrecht und den Vertrag geht, in dem folgendes steht…>“
Der Entwickler, das System gibt Regeln und Ton vor. Der User liefert das Anliegen. Das kann auch prepromtet sein, wie hier in unserem Beispiel. Wir übergeben gerne „normalen“ User-Input getrennt von einem vorgefertigten Input.
Ein weitere Beispiel: Du möchtest den Inhalte in genau einem Format zurückgegeben haben (bspw. für individualisierte Mailings, Formatierungen,, …). Dann kannst du die User + Assistant-Kombination nutzen, um den gewünschten Output zu definieren. Das könnte für Wiki-Einträge beispielsweise folgendermaßen ausssehen:
„role“: „developer“
„content“: „Du bist ein klar formulierender Erklär-Assistent für technische Begriffe, der auch für Laien verständlich antwortet.“„role“: „user“
„content“: „Was ist eine API?“„role“: „assistant“
„content“: „Eine API ist wie ein Restaurant-Menü: Es zeigt dir, was du bestellen kannst – aber nicht, wie die Küche funktioniert. Sie erlaubt es Programmen, miteinander zu kommunizieren.“„role“: „user“
„content“: „<tatsächlicher Input, bspw. Was ist ein Webhook?>“
Die Reihenfolge ist also idealerweise:
- developer/system: Der Prompt, der das Verhalten definiert
- user: Beispieleingabe
- assistant: Erwünschte Beispielausgabe zu 2.
- 2+3 kann auch häufiger wiederholt werden
- user: tatsächlicher, dynamischer Input des Users
Prompting next level…
Wer Large Language Models via API riiiichtig einsetzten möchte, sollte die Rollenlogik ganz bewusst nutzen. Die klare Trennung zwischen developer– und user-Prompts ist essenziell für gute Antworten. Wenn du dann auch noch ein ganz bestimmtes Output-Format erzielen möchtest, kommst du an den assistant-Prompts nicht vorbei.
Empfehlung: Je anspruchsvoller deine Anforderung, desto wichtiger ist die Nutzung der Rollen. Am besten also stets ein dediziertes Rollen-Setup nutzen. So steuerst du Verhalten, Format und letztlich das ganze Ergebnis.
Vertiefende Beiträge zu Prompting und Modellnutzung
Welches OpenAI Sprachmodell was kann, zeigt der Beitrag zu den Sprachmodellen im Vergleich.
Wenn du deine Rollen in Automatisierungen einbinden willst, hilft die Integration von Assistants weiter.