0Pricing
AI Prompt Engineering · Lektion

Die Chat-Oberfläche verstehen

So funktionieren LLM-Chat-UIs: Rollen, Gesprächsrunden und Sitzungskontext

Die Chat-Oberfläche verstehen ist eine kostenlose AI Prompt Engineering-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des AI Prompt Engineering-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der AI Prompt Engineering-Kurs umfasst insgesamt 4 Lektionen.

Die drei Rollen

Jede Unterhaltung mit einem LLM basiert auf drei Rollen: system, user und assistant.

Die Rolle system legt die Regeln und die Persona fest, bevor die Unterhaltung beginnt. In der Rolle user senden Sie Nachrichten. In der Rolle assistant antwortet das Modell.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

message = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=256,
    system='You are a helpful cooking assistant.',
    messages=[
        {'role': 'user', 'content': 'What is mise en place?'}
    ]
)
print(message.content[0].text)

Die Systemnachricht

Die Systemnachricht ist das Handbuch des Modells. Sie wird vor dem ersten Benutzerturn ausgeführt und bleibt während der gesamten Sitzung aktiv.

Verwenden Sie sie, um Persona, Ton, Domänenbeschränkungen oder das Ausgabeformat festzulegen. Das Modell behandelt sie während der gesamten Unterhaltung als richtungsweisenden Kontext.

import openai

client = openai.OpenAI(api_key='sk-your-key-here')

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[
        {
            'role': 'system',
            'content': 'You are a senior Python engineer. '
                       'Always include type hints and docstrings in your examples.'
        },
        {
            'role': 'user',
            'content': 'Show me a function that parses JSON safely.'
        }
    ]
)
print(response.choices[0].message.content)

Turns und Gesprächsablauf

Eine Unterhaltung besteht aus einer Abfolge von Turns. Die Turns wechseln sich ab: Der Benutzer spricht, der Assistent antwortet, dann spricht wieder der Benutzer.

Das Modell sieht bei jeder Anfrage den vollständigen Verlauf der Turns. Dadurch wirkt die Unterhaltung wie ein kontinuierlicher Dialog – technisch ist jedoch jeder API-Aufruf zustandslos und erhält jedes Mal den vollständigen Kontext.

import openai

client = openai.OpenAI(api_key='sk-your-key-here')

# Each call sends the FULL conversation history
history = [
    {'role': 'system', 'content': 'You are a geography tutor.'},
    {'role': 'user', 'content': 'What is the capital of France?'},
    {'role': 'assistant', 'content': 'The capital of France is Paris.'},
    {'role': 'user', 'content': 'And its population?'}   # follow-up turn
]

response = client.chat.completions.create(
    model='gpt-4o',
    messages=history
)
print(response.choices[0].message.content)

Sitzungskontext

Der Sitzungskontext ist das fortlaufende Gedächtnis Ihrer Unterhaltung. Jede Nachricht des Benutzers und des Assistenten wird im Array history zum Verlauf hinzugefügt.

Das Modell verfügt über keinen separaten Speicher für Erinnerungen, sondern schließt ausschließlich aus dem Inhalt des aktuellen Kontextfensters. Wenn Sie eine neue Sitzung beginnen, erinnert sich das Modell nicht an vorherige Sitzungen, es sei denn, Sie fügen diese Informationen erneut ein.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

# Simulating 3-turn session context
conversation = [
    {'role': 'user', 'content': 'My name is Alex.'},
    {'role': 'assistant', 'content': 'Nice to meet you, Alex!'},
    {'role': 'user', 'content': 'What is 5 times 7?'},
    {'role': 'assistant', 'content': '5 times 7 is 35.'},
    {'role': 'user', 'content': 'Can you repeat my name?'}   # uses session context
]

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=128,
    messages=conversation
)
print(response.content[0].text)  # expects: Your name is Alex.

Struktur des Nachrichtenverlaufs

Der Nachrichtenverlauf ist einfach eine Liste von Dictionaries, die jeweils einen Schlüssel role und einen Schlüssel content enthalten.

Sie verwalten diese Liste selbst im Code. Nach jeder Antwort des Assistenten fügen Sie dessen Antwort hinzu und anschließend die nächste Benutzernachricht – beim nächsten Aufruf senden Sie dann die gesamte Liste erneut.

import openai

client = openai.OpenAI(api_key='sk-your-key-here')

def chat(history, user_message):
    history.append({'role': 'user', 'content': user_message})
    response = client.chat.completions.create(
        model='gpt-4o',
        messages=history
    )
    reply = response.choices[0].message.content
    history.append({'role': 'assistant', 'content': reply})
    return reply, history

history = [{'role': 'system', 'content': 'You are a math tutor.'}]
reply, history = chat(history, 'What is a prime number?')
print(reply)
print('History length:', len(history))

Token-Limits erklärt

Jedes Modell verfügt über ein Kontextfenster, das in Tokens gemessen wird. Ein Token entspricht im Englischen ungefähr 4 Zeichen oder 0,75 Wörtern.

Sowohl Ihre Eingabe (Systemnachricht + gesamter Verlauf) als auch die Ausgabe des Modells werden auf dieses Limit angerechnet. GPT-4o unterstützt 128k Tokens; Claude Opus 4.5 unterstützt 200k. Wenn das Limit erreicht ist, müssen ältere Nachrichten entfernt oder zusammengefasst werden.

import tiktoken

# Count tokens before sending to avoid exceeding the limit
encoding = tiktoken.encoding_for_model('gpt-4o')

messages = [
    {'role': 'system', 'content': 'You are a helpful assistant.'},
    {'role': 'user', 'content': 'Explain quantum entanglement in simple terms.'}
]

total_tokens = 0
for msg in messages:
    total_tokens += len(encoding.encode(msg['content']))
    total_tokens += 4  # overhead per message

print(f'Estimated input tokens: {total_tokens}')
print(f'GPT-4o limit: 128,000 tokens')
print(f'Budget remaining: {128000 - total_tokens:,} tokens')

Was beim Erreichen des Token-Limits geschieht

Wenn der Gesprächsverlauf über das Kontextfenster hinauswächst, haben Sie drei Möglichkeiten:

  • Abschneiden — die ältesten Nachrichten entfernen
  • Zusammenfassen — das Modell auffordern, frühere Gesprächsrunden in einer kurzen Zusammenfassung zu komprimieren
  • Gleitendes Fenster — nur die letzten N Nachrichten beibehalten

Die Wahl der falschen Strategie kann dazu führen, dass das Modell wichtigen Kontext verliert und unzusammenhängende Antworten gibt.

def trim_history(history, max_messages=10, keep_system=True):
    '''Keep the system message and the last N non-system messages.'''
    system_msgs = [m for m in history if m['role'] == 'system']
    non_system  = [m for m in history if m['role'] != 'system']

    if len(non_system) > max_messages:
        non_system = non_system[-max_messages:]
        print(f'Trimmed to last {max_messages} messages.')

    return system_msgs + non_system if keep_system else non_system

history = [{'role': 'system', 'content': 'You are a tutor.'}]
for i in range(15):
    history.append({'role': 'user',      'content': f'Question {i}'})
    history.append({'role': 'assistant', 'content': f'Answer {i}'})

trimmed = trim_history(history, max_messages=6)
print('Trimmed history length:', len(trimmed))

Multi-Turn-Kontext in der Praxis

Sehen Sie sich den Kontext in Aktion an. In einer Unterhaltung mit mehreren Gesprächsrunden verwendet das Modell jede vorherige Nachricht, um Anschlussfragen korrekt zu beantworten.

Deshalb können Sie sagen: „Erklären Sie das einfacher“, ohne zu wiederholen, worauf sich „das“ bezog – das Modell sieht den vollständigen Verlauf und weiß, worauf Sie sich bezogen haben.

import openai

client = openai.OpenAI(api_key='sk-your-key-here')

history = [{'role': 'system', 'content': 'You are a science teacher.'}]

# Turn 1
history.append({'role': 'user', 'content': 'What is photosynthesis?'})
r1 = client.chat.completions.create(model='gpt-4o', messages=history)
reply1 = r1.choices[0].message.content
history.append({'role': 'assistant', 'content': reply1})

# Turn 2 — refers to prior answer without repeating it
history.append({'role': 'user', 'content': 'Can you explain that using only 3 bullet points?'})
r2 = client.chat.completions.create(model='gpt-4o', messages=history)
print(r2.choices[0].message.content)

Zustandslose API, zustandsbehaftete UX

Hier ist eine wichtige Erkenntnis: Die API ist vollständig zustandslos. Der Server merkt sich zwischen den Aufrufen nichts.

Chat-Produkte wie ChatGPT erzeugen die Illusion eines Gedächtnisses, indem sie den Gesprächsverlauf in ihrer eigenen Datenbank speichern und ihn bei jedem API-Aufruf wieder einfügen. Sie können denselben Mechanismus selbst umsetzen.

# Illustration: two isolated API calls vs one with history
import openai

client = openai.OpenAI(api_key='sk-your-key-here')

# ❌ WITHOUT history — model has no memory
r1 = client.chat.completions.create(
    model='gpt-4o',
    messages=[{'role': 'user', 'content': 'My dog is named Biscuit.'}]
)
r2 = client.chat.completions.create(
    model='gpt-4o',
    messages=[{'role': 'user', 'content': "What's my dog's name?"}]
)
print('Without history:', r2.choices[0].message.content)  # will not know

# ✅ WITH history injected
r3 = client.chat.completions.create(
    model='gpt-4o',
    messages=[
        {'role': 'user',      'content': 'My dog is named Biscuit.'},
        {'role': 'assistant', 'content': 'Got it, your dog is named Biscuit!'},
        {'role': 'user',      'content': "What's my dog's name?"}
    ]
)
print('With history:', r3.choices[0].message.content)

Praktische Tipps zur Verwendung der Chat-Oberfläche

So holen Sie das meiste aus der Chat-Oberfläche heraus:

  • Fügen Sie dauerhafte Anweisungen in die Systemnachricht ein, statt sie in jeder Nutzernachricht zu wiederholen
  • Halten Sie frühere Gesprächsrunden knapp — ein ausführlicher Verlauf verbraucht schnell Tokens
  • Starten Sie beim Wechsel des Themas eine neue Sitzung, um eine Verunreinigung des Kontexts zu vermeiden
  • Fügen Sie beim Fortsetzen eines langen Projekts nur die relevante Teilmenge des bisherigen Kontexts ein
# Good practice: compact system message + focused history
import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

system = (
    'You are a concise Python code reviewer. '
    'Reply with: 1) one-line verdict, 2) top 3 issues, 3) fixed snippet.'
)

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=512,
    system=system,
    messages=[
        {'role': 'user', 'content': 'def add(a,b): return a+b\nprint(add(1,2))'}
    ]
)
print(response.content[0].text)

Zusammenfassung: Die Chat-Oberfläche

Sehen Sie sich die wichtigsten Erkenntnisse zur Funktionsweise der Chat-Oberfläche an:

  • Drei Rollen: system legt Regeln fest, user sendet Prompts, assistant antwortet
  • Der vollständige Verlauf wird bei jedem API-Aufruf gesendet — der Server ist zustandslos
  • Token-Limits begrenzen den gesamten Kontext; kürzen oder fassen Sie ihn zusammen, wenn Sie sich ihnen nähern
  • Der Sitzungskontext ist lediglich eine Liste, die Sie in Ihrem eigenen Code verwalten
  • Starten Sie beim Themenwechsel neue Sitzungen, damit der Kontext übersichtlich bleibt
# Summary: minimal chat loop skeleton
import openai

client = openai.OpenAI(api_key='sk-your-key-here')
history = [{'role': 'system', 'content': 'You are a helpful assistant.'}]

def ask(question):
    history.append({'role': 'user', 'content': question})
    res = client.chat.completions.create(model='gpt-4o', messages=history)
    answer = res.choices[0].message.content
    history.append({'role': 'assistant', 'content': answer})
    return answer

print(ask('Hello! What can you help me with?'))

Wissenscheck

Testen Sie Ihr Verständnis der Funktionsweise der Chat-Oberfläche.

Ein Benutzer startet eine völlig neue Sitzung und fragt die KI: „Was haben wir gestern besprochen?“ Die KI hat keine Erinnerung an die Sitzung von gestern. Warum ist das so?

Das haben Sie gelernt

Sie verstehen nun die Grundlagen jeder KI-Chat-Interaktion:

  • die Rollenstruktur aus system/user/assistant, die jede Unterhaltung prägt
  • wie der vollständige Nachrichtenverlauf bei jedem Aufruf gesendet wird, um eine Erinnerung zu simulieren
  • warum die API zustandslos ist und wie Chat-Produkte darauf aufbauend ein Gedächtnis schaffen
  • wie Token-Limits den Kontext begrenzen und wie Sie damit umgehen

Dieses Denkmodell hilft Ihnen, bessere Prompts zu formulieren und intelligentere KI-gestützte Anwendungen zu entwickeln.

Häufig gestellte Fragen

Ist die Lektion „Die Chat-Oberfläche verstehen“ kostenlos?

Ja — der vollständige Text von „Die Chat-Oberfläche verstehen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des AI Prompt Engineering-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der AI Prompt Engineering-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Die Chat-Oberfläche verstehen“?

So funktionieren LLM-Chat-UIs: Rollen, Gesprächsrunden und Sitzungskontext Du übst AI Prompt Engineering mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um AI Prompt Engineering zu starten?

Keine Vorkenntnisse erforderlich. AI Prompt Engineering auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Die Chat-Oberfläche verstehen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser AI Prompt Engineering-Lektion Code schreiben und ausführen?

Ja. Jede AI Prompt Engineering-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Die Chat-Oberfläche verstehen
  2. Arten von Anfragen, die KI bearbeiten kann
  3. Wie KI Antworten erzeugt
  4. Was KI nicht kann
← Zurück zu AI Prompt Engineering