Saturday, 11 July 2026 | Updating Daily AI insight, written for builders

So erstellen Sie 2026 einen KI-Chatbot mit der Claude-API

Aktualisiert · Ursprünglich veröffentlicht am 18. Mai 2026

Früher bedeutete die Entwicklung eines Chatbots das mühsame Management von Intent-Klassifikatoren, Dialogbäumen und einer Vielzahl von Randfällen. Mit einer modernen Sprachmodell-API übernimmt das Modell den schwierigen Teil – das Verstehen und Beantworten – während Ihre Aufgabe darin besteht, die entsprechende Infrastruktur drumherum zu implementieren. Mit der Claude-API können Sie innerhalb weniger als einer Stunde einen wirklich leistungsfähigen Chatbot betriebsbereit machen.

In dieser Anleitung werden sowohl die zugrundeliegenden Konzepte als auch der zugehörige Code behandelt: Einrichtung, Führung einer Konversation, Steuerung des Verhaltens, Streamen von Antworten sowie Kostenoptimierung.

Wichtigste Erkenntnisse

  • Der zentrale Aufruf ist die Messages-API – Sie senden eine Liste von Nachrichten, und Claude gibt eine Antwort zurück.
  • Konversationsverlauf liegt in Ihrer Verantwortung: Speichern Sie den Nachrichtenverlauf und senden Sie ihn bei jedem neuen Schritt erneut.
  • Der System-Prompt legt die Rolle, Persönlichkeit und Regeln des Bots fest.
  • Streaming bewirkt, dass die Antwort Wort für Wort angezeigt wird – wie bei einem echten Chat.
  • Prompt-Caching nutzt stabile Teile des Prompts wiederverwendbar, um Kosten und Latenz signifikant zu senken.

Schritt 1: Einrichtung

Sie benötigen zwei Dinge: einen API-Schlüssel und das SDK.

  1. API-Schlüssel beschaffen – Erstellen Sie ein Konto in der Anthropic-Konsole und generieren Sie dort einen API-Schlüssel. Bewahren Sie diesen geheim auf: Speichern Sie ihn in einer Umgebungsvariablen – niemals hartcodiert oder im Versionskontrollsystem committen.
  2. SDK installieren – Anthropic stellt offizielle SDKs bereit. Für Python lautet der Befehl:
pip install anthropic

(Ein Node.js-SDK ist ebenfalls verfügbar; die nachfolgenden Konzepte sind identisch.)

Schritt 2: Ihre erste Nachricht

Das Herzstück der Claude-API ist die Messages-API. Sie senden eine Liste von Nachrichten; Claude gibt die nächste Antwort zurück. Hier ist der einfachstmögliche Aufruf:

from anthropic import Anthropic

client = Anthropic()  # liest die Umgebungsvariable ANTHROPIC_API_KEY

response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Hallo! Wobei können Sie mir helfen?"}
    ],
)

print(response.content[0].text)

Damit haben Sie bereits einen funktionierenden – wenn auch sehr vergesslichen – Chatbot. model wählt das gewünschte Claude-Modell aus, max_tokens begrenzt die Länge der Antwort und messages enthält den bisherigen Konversationsverlauf.

Schritt 3: Dem Bot ein Gedächtnis verleihen

Das obige Beispiel besitzt kein Gedächtnis: Jeder Aufruf ist unabhängig. Um eine echte Konversation zu führen, Sie speichern den Verlauf und senden ihn bei jedem neuen Schritt erneut. Die API selbst ist zustandslos – sie kennt ausschließlich das, was Sie ihr übermitteln.

Das Vorgehen: Führen Sie eine messages Liste, fügen Sie jede Benutzereingabe und jede Antwort von Claude hinzu und übergeben Sie bei jedem Aufruf die gesamte Liste.

from anthropic import Anthropic

client = Anthropic()
messages = []

while True:
    user_input = input("Sie: ")
    if user_input.lower() == "quit":
        break

    messages.append({"role": "user", "content": user_input})

    response = client.messages.create(
        model="claude-sonnet-4-6",
        max_tokens=1024,
        messages=messages,
    )

    reply = response.content[0].text
    print(f"Claude: {reply}")

    messages.append({"role": "assistant", "content": reply})

Jetzt handelt es sich um einen echten Chatbot – er behält alles aus früheren Gesprächsabschnitten im Gedächtnis, da dieser Verlauf bei jedem Schritt erneut übermittelt wird.

Schritt 4: Legen Sie die Persönlichkeit mithilfe eines System-Prompts fest

Ein generischer Assistent entspricht selten Ihren Anforderungen. Der System-Prompt definiert die Rolle, den Ton und die Regeln des Bots. Er wird als separater system Parameter übergeben, nicht als Nachricht.

SYSTEM_PROMPT = """Sie sind ein freundlicher Support-Assistent für einen Kaffee-Abonnement-Service. Seien Sie herzlich, prägnant und hilfsbereit. Falls ein Kunde nach etwas fragt, das Sie nicht wissen, teilen Sie ihm mit, dass Sie ihn mit einem menschlichen Agenten verbinden werden. Besprechen Sie niemals Wettbewerber."""

response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    system=SYSTEM_PROMPT,
    messages=messages,
)

Der System-Prompt ist Ihr wichtigstes Werkzeug zur Verhaltenssteuerung – investieren Sie Zeit in seine Gestaltung. Seien Sie konkret hinsichtlich der Rolle, des Tons, des Verhaltens bei Unsicherheit und etwaiger fester Grenzen.

Schritt 5: Die Antwort streamen

In den obigen Beispielen warten Sie, bis die gesamte Antwort empfangen ist, bevor etwas angezeigt wird. Echte Chat-Oberflächen streamen jedoch – der Text erscheint Wort für Wort. Das SDK macht dies besonders einfach:

with client.messages.stream(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    system=SYSTEM_PROMPT,
    messages=messages,
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

Das Streaming beschleunigt die Generierung nicht, verleiht dem Bot aber ein deutlich reaktionsfreudigeres Gefühl, da der Nutzer die Ausgabe sofort sieht.

Schritt 6: Kosten durch Prompt-Caching senken

API-Aufrufe werden nach Token berechnet, und ein Chatbot sendet bei jeder Interaktion viel identischen Text erneut – den System-Prompt sowie einen Gesprächsverlauf, der stetig wächst. Prompt-Caching Mit Prompt-Caching können Sie stabile Teile des Prompts kennzeichnen, sodass die API diese wiederverwendet, anstatt sie erneut zu verarbeiten – dadurch sinken sowohl Kosten als auch Latenz deutlich.

Sie fügen einen Cache-Marker zu dem Inhalt hinzu, den Sie zwischenspeichern möchten – typischerweise zum System-Prompt und zu jedem langen, festen Kontext:

response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    system=[
        {
            "type": "text",
            "text": SYSTEM_PROMPT,
            "cache_control": {"type": "ephemeral"},
        }
    ],
    messages=messages,
)

Aktivieren Sie Prompt-Caching von Anfang an für jeden Chatbot mit echtem Traffic – es gehört zu den wirkungsvollsten Optimierungen überhaupt und kostet nichts.

Modellauswahl

Claude ist in mehreren Leistungsstufen verfügbar. Als Faustregel gilt:

  • Ein schnelles, ausgewogenes Modell (wie die Sonnet-Stufe) ist die richtige Standardeinstellung für die meisten Chatbots – starke Qualität, gute Geschwindigkeit und vernünftige Kosten.
  • Das leistungsfähigste Modell (die Opus-Stufe) lohnt sich, wenn der Bot komplexe Schlussfolgerungen ziehen oder anspruchsvolle Aufgaben bewältigen muss.
  • Ein kleineres, schnellstes Modell (die Haiku-Stufe) eignet sich für einfache, hochvolumige Bots, bei denen Geschwindigkeit und Kosten im Vordergrund stehen.

Beginnen Sie mit der ausgewogenen Stufe und wechseln Sie erst dann nach oben oder unten, sobald Sie reale Nutzungszahlen vorliegen haben.

Produktiveinsetzung

Der obige Code bildet den funktionsfähigen Kern. Für eine echte Bereitstellung fügen Sie hinzu:

  • Eine Web-Schicht – umschließen Sie die Logik in einem API-Endpunkt und verbinden Sie eine Chat-Benutzeroberfläche.
  • Verlaufsbegrenzungen – Gespräche wachsen unbegrenzt; begrenzen oder fassen Sie ältere Einträge zusammen, damit die Prompts nicht unkontrolliert anschwellen.
  • Fehlerbehandlung – behandeln Sie Rate-Limits und vorübergehende Fehler durch Wiederholungsversuche.
  • Wissensbasis – um Antworten auf Grundlage Ihrer eigenen Daten zu ermöglichen, integrieren Sie retrieval-augmented generation (generierung mit Abrufunterstützung) so, dass der Bot relevante Dokumente einbezieht.
  • Sicherheit – validieren Sie Eingaben und legen Sie klare Grenzen im System-Prompt fest.

Behandeln Sie Fehler und Rate-Limits, bevor Benutzer sie entdecken

Ein Chatbot, der auf Ihrem Laptop funktioniert, stürzt dennoch sofort in Produktion ab, sobald echter Datenverkehr eintrifft. Die Claude-API liefert zwei Arten von Fehlern, die jeweils unterschiedliche Reaktionen erfordern. Der erste Typ ist vorübergehende API-Fehler – diese treten als Ausnahmen mit einem HTTP-Statuscode auf. Der zweite Typ ist eine Ablehnung, bei der es sich um eine vollständig erfolgreiche Antwort handelt, die die Anfrage jedoch einfach ablehnt. Diese beiden Fälle zu verwechseln, ist der häufigste Zuverlässigkeitsfehler, den wir im frühen Chatbot-Code beobachten.

Im Bereich vorübergehender Fehler sind zwei Statuscodes besonders wichtig:

  • 429 (Rate-Limit) – Sie haben das Kontingent Ihres Kontos für Anfragen pro Minute oder Tokens pro Minute überschritten. Die Antwort enthält einen Header retry-after , der Ihnen genau angibt, wie viele Sekunden Sie warten müssen. Halten Sie sich exakt daran; kürzeres Warten führt lediglich zu einem weiteren 429.
  • 529 (Überlastung) – Die Anthropic-API ist vorübergehend für alle Benutzer überlastet. Dies lässt sich durch Code nicht verhindern, und abgelehnte 529-Anfragen werden nicht in Rechnung gestellt. Ziehen Sie sich zurück und versuchen Sie es erneut; senden Sie niemals wiederholt Anfragen an einen überlasteten Endpunkt.
  • 500 (Serverfehler) – ein seltener interner Fehler. Behandeln Sie ihn wie 529: Versuchen Sie es mit exponentiellem Backoff erneut.

Die gute Nachricht ist, dass die offiziellen SDKs bereits 429- und 5xx-Fehler automatisch mit exponentiellem Backoff erneut versuchen (standardmäßig zwei Wiederholungen). Für einen Produktions-Chatbot sollten Sie diese Obergrenze erhöhen und dem SDK die Arbeit überlassen, anstatt Ihre eigene Schleife zu schreiben:

  • Erhöhen Sie max_retries auf dem Client (ein Wert zwischen vier und fünf ist für nutzerseitige Chats sinnvoll).
  • Fangen Sie die typisierten Ausnahmen ab – RateLimitError, OverloadedError, APIError – statt nach Fehlermeldungen als Zeichenkette zu suchen, was stillschweigend versagt, sobald sich die Formulierung ändert.
  • Wenn alle Wiederholungsversuche endgültig erschöpft sind, zeigen Sie dem Benutzer stattdessen eine ruhige Meldung wie „Ich bin gerade etwas beschäftigt – bitte versuchen Sie es gleich noch einmal“ an, statt einen Stacktrace anzuzeigen.

Ablehnungen stellen einen völlig separaten Pfad dar. Wenn eine Antwort mit stop_reason: "refusal"zurückkommt, hat die Anfrage erfolgreich abgeschlossen – Claude hat aus Sicherheitsgründen abgelehnt zu antworten, und bei aktuellen Modellen fallen keine Kosten an, wenn keine Ausgabe generiert wurde. Entscheidend ist, dass Sie die gleiche Konversation nicht einfach erneut senden dürfen: Die Ablehnung wird sich wiederholen. Entfernen oder formulieren Sie stattdessen die Nachricht um, die sie ausgelöst hat, oder setzen Sie den Verlauf zurück, und geben Sie dem Benutzer eine klare Rückmeldung. Da eine Ablehnung ein Feld in der Antwort und keine Ausnahme ist, kann Code, der nur nach end_turn und tool_use prüft, sie als leere, verwirrende Antwort unbeabsichtigt durchlassen. Fügen Sie daher immer explizit einen eigenen Verzweigungspfad dafür ein.

Implementieren Sie diese drei Verhaltensweisen – Wiederholung mit Backoff, Behandlung typisierter Ausnahmen sowie einen speziellen Pfad für Ablehnungen –, damit Ihr Chatbot bei hoher Last kontrolliert degradiert, statt lautstark vor den Menschen zu versagen, für die Sie ihn entwickelt haben.

Häufig gestellte Fragen (FAQ)

Wie baue ich einen Chatbot mit der Claude-API?

Installieren Sie das SDK von Anthropic, besorgen Sie sich einen API-Schlüssel und rufen Sie die Messages-API auf: Übergeben Sie eine Liste von Nachrichten, und Claude gibt eine Antwort zurück. Um Konversationen zu ermöglichen, speichern Sie selbst den Nachrichtenverlauf und senden ihn bei jedem Schritt erneut. Fügen Sie einen System-Prompt für Persönlichkeit und Streaming für ein reaktionsfreudiges Erlebnis hinzu.

Behält die Claude-API frühere Nachrichten im Gedächtnis?

Nein – die API ist zustandslos. Sie kennt nur das, was Sie in einer bestimmten Anfrage übermitteln. Um einem Chatbot ein Gedächtnis zu verleihen, muss Ihre Anwendung den Gesprächsverlauf speichern und ihn bei jedem Aufruf in die messages Liste einfügen.

Was ist ein System-Prompt?

Der System-Prompt ist eine separate Anweisung, die die Rolle, den Ton und die Regeln des Chatbots definiert – beispielsweise: „Sie sind ein prägnanter Support-Assistent; leiten Sie bei Unsicherheit an einen Menschen weiter.“ Er wird als system Parameter übergeben und ist die wichtigste Methode, um das Verhalten des Bots zu steuern.

Wie hoch sind die Kosten für einen Claude-Chatbot?

Die Kosten hängen vom gewählten Modell und der Anzahl verarbeiteter Tokens ab. Ein ausgewogenes Modell ist für typischen Chat-Verkehr kostengünstig. Da Chatbots bei jedem Schritt den System-Prompt und den wachsenden Verlauf erneut senden, kann die Aktivierung von Prompt-Caching die Kosten deutlich senken – stabile Prompt-Anteile werden wiederverwendet, statt bei jedem Aufruf neu verarbeitet zu werden.

Welches Claude-Modell sollte ich für einen Chatbot verwenden?

Für die meisten Chatbots beginnen Sie mit einem schnellen, ausgewogenen Modell (der Sonnet-Stufe) – es bietet starke Qualität bei vernünftiger Geschwindigkeit und Kosten. Verwenden Sie das leistungsfähigste Modell für komplexe Schlussfolgerungsaufgaben und ein kleineres, schnelleres Modell für einfache, hochvolumige Bots.

Was bedeuten die Fehler 429 und 529 der Claude-API?

Ein 429 bedeutet, dass Sie das Rate-Limit Ihres Kontos (Anfragen oder Tokens pro Minute) erreicht haben; die Antwort enthält einen Header retry-after , der Ihnen angibt, wie lange Sie warten müssen. Ein 529 bedeutet, dass die Anthropic-API vorübergehend für alle Benutzer überlastet ist – solche Anfragen werden nicht in Rechnung gestellt und lassen sich durch Programmcode nicht vermeiden. Beide Fälle erfordern exponentiellen Backoff, den die offiziellen SDKs standardmäßig automatisch anwenden.

Wie soll mein Chatbot eine Claude-Ablehnung behandeln?

Eine Ablehnung wird als normale, erfolgreiche Antwort mit stop_reason: "refusal"angezeigt, nicht als Fehler, und Sie werden nicht belastet, wenn keine Ausgabe generiert wurde. Versuchen Sie nicht, die identische Anfrage erneut zu senden – sie wird erneut abgelehnt. Entfernen oder formulieren Sie die auslösende Nachricht um (oder setzen Sie das Gespräch zurück), und zeigen Sie dem Benutzer eine klare, freundliche Erklärung an. Ab Opus 4.7 enthält die Antwort zudem ein Feld stop_details , das die ausgelöste Richtlinienkategorie angibt.

Muss ich meine eigene Wiederholungslogik für die Claude-API schreiben?

Normalerweise nicht. Die offiziellen Anthropic-SDKs wiederholen 429- und 5xx-Fehler bereits standardmäßig mit exponentiellem Backoff, wobei zwei Wiederholungen voreingestellt sind. Für einen nutzerseitigen Chatbot ist die einfachste robuste Konfiguration, max_retries auf dem Client auf etwa vier bis fünf zu erhöhen und die typisierten Ausnahmen (wie z. B. RateLimitError und OverloadedError) abzufangen, anstatt eine eigene Backoff-Schleife zu implementieren oder nach Fehlerstrings zu suchen.

Fazit

Der Aufbau eines Chatbots mit der Claude-API dreht sich weitgehend um die technische Integration, nicht um die KI selbst. Das Modell übernimmt Verständnis und Antwortgenerierung; Sie stellen die Steuerschleife bereit. Führen Sie einen messages Nachrichtenverlauf system für Gedächtnis, nutzen Sie einen

System-Prompt für Persönlichkeit, aktivieren Sie Streaming für Reaktionsfreudigkeit und schalten Sie Prompt-Caching ein, um Kosten zu kontrollieren. RAG Dieser Kern ist tatsächlich innerhalb einer Stunde umsetzbar. Der Weg in die Produktion besteht aus vertrauter Engineering-Arbeit rund um ihn herum – einer Web-Schicht, Verwal­tung des Nachrichtenverlaufs, Fehlerbehandlung und

Scroll to Top
Featured on There's An AI For That