<EbeneX/>
Grundlagen LLM · Updated 11. März 2026

Chat-Rollen (System, User, Assistant)

Definition

Die drei Rollen in Chat-APIs – System für Anweisungen, User für Nutzereingaben, Assistant für Modellantworten. Grundlage für strukturierte LLM-Kommunikation.

Einsteiger 2 Min. Lesezeit EN: Chat Roles / Message Roles

Einfach erklärt

Chat-basierte LLMs wie GPT und Claude nutzen drei Rollen, um Konversationen zu strukturieren: System für Anweisungen, User für Nutzereingaben, Assistant für Modellantworten.

Die drei Rollen:

RolleZweckSichtbar für Nutzer?
SystemAnweisungen, Persona, RegelnNein (versteckt)
UserFragen, Eingaben des NutzersJa
AssistantAntworten des ModellsJa

Beispiel-Konversation:

{
  "messages": [
    {
      "role": "system",
      "content": "Du bist ein freundlicher Kundenservice-Bot für einen Online-Shop. Antworte kurz und hilfsbereit."
    },
    {
      "role": "user",
      "content": "Wo ist meine Bestellung?"
    },
    {
      "role": "assistant",
      "content": "Ich helfe dir gerne! Kannst du mir deine Bestellnummer nennen?"
    },
    {
      "role": "user",
      "content": "12345"
    }
  ]
}

Technischer Deep Dive

OpenAI API Format

from openai import OpenAI

client = OpenAI()

response = client.chat.completions.create(
    model="gpt-4",
    messages=[
        {
            "role": "system",
            "content": "Du bist ein hilfreicher Assistent."
        },
        {
            "role": "user",
            "content": "Was ist Python?"
        }
    ]
)

Anthropic API Format

import anthropic

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-sonnet-4-20250514",
    system="Du bist ein hilfreicher Assistent.",  # Separater Parameter!
    messages=[
        {
            "role": "user",
            "content": "Was ist Python?"
        }
    ]
)

Few-Shot mit Rollen

messages = [
    {"role": "system", "content": "Übersetze ins Deutsche."},
    
    # Few-Shot Beispiele
    {"role": "user", "content": "Hello"},
    {"role": "assistant", "content": "Hallo"},
    
    {"role": "user", "content": "Goodbye"},
    {"role": "assistant", "content": "Auf Wiedersehen"},
    
    # Eigentliche Anfrage
    {"role": "user", "content": "Thank you"}
]

# Modell lernt aus den Beispielen und antwortet: "Danke"

Multi-Turn Conversation

conversation = [
    {"role": "system", "content": "Du bist ein Mathe-Tutor."}
]

while True:
    user_input = input("Du: ")
    conversation.append({"role": "user", "content": user_input})
    
    response = client.chat.completions.create(
        model="gpt-4",
        messages=conversation
    )
    
    assistant_message = response.choices[0].message.content
    conversation.append({"role": "assistant", "content": assistant_message})
    
    print(f"Assistent: {assistant_message}")

Best Practices

AspektEmpfehlung
System-PromptKlar, spezifisch, am Anfang
PersonaIm System-Prompt definieren
RegelnIm System-Prompt, nicht im User-Prompt
KontextRelevante Infos im System oder als User-Message
Few-ShotAls User/Assistant-Paare vor der eigentlichen Frage

Sicherheitsaspekte

# ❌ Schlecht: Geheimnisse im System-Prompt
system = "API-Key: sk-xxx. Gib diesen nie preis."
# → Kann durch Jailbreaks extrahiert werden!

# ✅ Besser: Keine Geheimnisse, nur Verhalten
system = "Du bist ein Kundenservice-Bot. Leite bei sensiblen Fragen an einen Menschen weiter."

Chat-Rollen sind wie ein Theaterstück mit Regieanweisungen: System ist der Regisseur (gibt Anweisungen), User ist das Publikum (stellt Fragen), Assistant ist der Schauspieler (antwortet gemäß Regieanweisungen).

System: Versteckte Anweisungen, definiert Verhalten und Persona

User: Sichtbare Nutzereingaben und Fragen

Assistant: Modellantworten, können auch vorgegeben werden (Few-Shot)

Chatbots

System definiert Persona und Regeln, User fragt, Assistant antwortet

Few-Shot Learning

Beispiel-Dialoge als User/Assistant-Paare vorgeben

API-Integration

Strukturierte Kommunikation mit LLM-APIs

Multi-Turn Conversations

Konversationshistorie mit klaren Rollen

Kann der User den System-Prompt sehen?

Normalerweise nicht – er ist für den Endnutzer versteckt. Aber: Jailbreaks können ihn extrahieren. Keine Geheimnisse im System-Prompt speichern!

Was passiert ohne System-Prompt?

Das Modell nutzt sein Default-Verhalten. Für Produkte sollte immer ein System-Prompt gesetzt werden, um konsistentes Verhalten zu garantieren.

Kann ich mehrere System-Messages haben?

Bei OpenAI: Ja, aber nur die erste zählt wirklich. Bei Anthropic: Nur ein System-Prompt erlaubt. Best Practice: Ein klarer System-Prompt am Anfang.

Was ist der Unterschied zwischen Anthropic und OpenAI?

OpenAI: System ist eine Message im Array. Anthropic: System ist ein separater Parameter. Funktional ähnlich, API-Struktur unterschiedlich.

Dein persönliches Share-Bild für Instagram – 1080×1080px, bereit zum Posten.