Wenn du mit der Anthropic API und Claude arbeitest, gibt es ein entscheidendes Konzept, das du verstehen musst: Claude speichert keinen deiner Konversationsverläufe. Jede Anfrage, die du stellst, ist völlig unabhängig, ohne Erinnerung an vorherige Austausche.

Das bedeutet, wenn du eine Multi-Turn-Konversation führen möchtest, bei der sich Claude an den Kontext früherer Nachrichten erinnert, musst du den Konversationszustand selbst verwalten.
Das Problem mit zustandslosen Konversationen
Angenommen, du fragst Claude „Was ist Quantencomputing?" und erhältst eine gute Antwort. Dann folgst du mit „Schreibe einen weiteren Satz" - Claude hat keine Ahnung, worauf du dich bezieht. Es wird einen Satz über etwas völlig Zufälliges schreiben, weil es sich nicht an die Diskussion über Quantencomputing erinnert.

Wie Multi-Turn-Konversationen funktionieren
Um den Konversationskontext aufrechtzuerhalten, musst du zwei Dinge tun:
- Manuell eine Liste aller Nachrichten in deinem Code führen
- Den vollständigen Nachrichtenverlauf mit jeder Anfrage senden

Hier ist der Ablauf, der tatsächlich funktioniert:
- Sende deine erste Benutzernachricht an Claude
- Nimm Claudes Antwort und füge sie als Assistant-Nachricht zu deiner Nachrichtenliste hinzu
- Füge deine Folgefrage als weitere Benutzernachricht hinzu
- Sende den gesamten Konversationsverlauf an Claude

Hilfsfunktionen erstellen
Um die Konversationsverwaltung zu vereinfachen, kannst du drei Hilfsfunktionen erstellen:
def add_user_message(messages, text):
user_message = {"role": "user", "content": text}
messages.append(user_message)
def add_assistant_message(messages, text):
assistant_message = {"role": "assistant", "content": text}
messages.append(assistant_message)
def chat(messages):
message = client.messages.create(
model=model,
max_tokens=1000,
messages=messages,
)
return message.content[0].textAlles zusammenfügen
So verwendest du diese Funktionen, um eine Konversation aufrechtzuerhalten:
# Beginne mit einer leeren Nachrichtenliste
messages = []
# Füge die ursprüngliche Nutzerfrage hinzu
add_user_message(messages, "Define quantum computing in one sentence")
# Hole die Antwort von Claude
answer = chat(messages)
# Füge Claudes Antwort zum Gesprächsverlauf hinzu
add_assistant_message(messages, answer)
# Füge eine Anschlussfrage hinzu
add_user_message(messages, "Write another sentence")
# Hole die Antwort auf die Anschlussfrage mit vollständigem Kontext
final_answer = chat(messages)Jetzt wird Claude verstehen, dass sich „Schreibe einen weiteren Satz" auf die Erweiterung der Definition von Quantencomputing bezieht, weil du den vollständigen Konversationskontext bereitgestellt hast.
Diese Hilfsfunktionen werden während deiner gesamten Arbeit mit Claude nützlich sein und es dir wesentlich erleichtern, Anwendungen zu erstellen, die über mehrere Austausche hinweg sinnvolle Konversationen aufrechterhalten können.