Claude Platform Docs
  • Messages
  • Managed Agents
  • Admin

Search...
⌘K
Erste Schritte
Einführung in ClaudeSchnellstart
Entwickeln mit Claude
FunktionsübersichtVerwendung der Messages APIStop-Gründe und FallbackAblehnungen und FallbackFallback-Guthaben
Modellfähigkeiten
Erweitertes DenkenAdaptives DenkenEffortAufgabenbudgets (Beta)Schnellmodus (Forschungsvorschau)Strukturierte AusgabenZitateStreaming von MessagesBatch-VerarbeitungSuchergebnisseStreaming von AblehnungenMehrsprachige UnterstützungEmbeddings
Tools
ÜbersichtFunktionsweise der Tool-NutzungTutorial: Einen Tool-nutzenden Agenten erstellenTools definierenTool-Aufrufe verarbeitenParallele Tool-NutzungTool Runner (SDK)Strikte Tool-NutzungServer-ToolsWebsuche-ToolWeb-Fetch-ToolCodeausführungs-ToolAdvisor-ToolTool-Suche-ToolMemory-ToolBash-ToolTexteditor-ToolComputer-Use-ToolFehlerbehebung
Tool-Infrastruktur
Tool-ReferenzTool-Kontext verwaltenTool-KombinationenTool-Nutzung mit Prompt-CachingProgrammatischer Tool-AufrufFeingranulares Tool-Streaming
Kontextverwaltung
KontextfensterKompaktierungKontextbearbeitungPrompt-CachingSystemnachrichten während der KonversationEinen Orchestrierungsmodus erstellenCache-Diagnose (Beta)Token-Zählung
Arbeiten mit Dateien
Files APIPDF-Unterstützung
Skills
ÜbersichtSchnellstartBest PracticesSkills für UnternehmenSkills in der API
MCP
Remote-MCP-ServerMCP-Connector
Claude auf Cloud-Plattformen
Amazon BedrockAmazon Bedrock (Legacy)Claude Platform auf AWSGoogle CloudMicrosoft Foundry

Log in
Streaming von Ablehnungen
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Claude Platform Docs

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Claude on AWS
  • Claude on Google Cloud

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
Messages/Modellfähigkeiten

Streaming-Ablehnungen

Erkenne und behandle Ablehnungs-Stop-Reasons in Streaming-Antworten und wiederhole abgelehnte Anfragen mit einem Fallback-Modell.

Ab den Claude 4-Modellen geben Streaming-Antworten der Claude-API stop_reason: "refusal" zurück, wenn Streaming-Klassifikatoren eingreifen, um potenzielle Richtlinienverstöße zu behandeln. Diese Sicherheitsfunktion hilft dabei, die Einhaltung von Inhaltsrichtlinien während des Echtzeit-Streamings zu gewährleisten.



Diese Seite behandelt, wie Ablehnungen in Streaming-Antworten erscheinen. Für jeden stop_reason-Wert und dessen Behandlung siehe Stop-Reasons und Fallback. Um abgelehnte Anfragen mit einem anderen Claude-Modell zu wiederholen, siehe Ablehnungen und Fallback.

API-Antwortformat

Wenn Streaming-Klassifikatoren Inhalte erkennen, die gegen die Richtlinien von Anthropic verstoßen, gibt die API diese Antwort zurück:

{
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "Hello.."
    }
  ],
  "stop_reason": "refusal"
}


Es wird keine zusätzliche Ablehnungsnachricht mitgeliefert. Du musst die Antwort selbst behandeln und geeignete benutzerseitige Nachrichten bereitstellen.

Kontext nach Ablehnung zurücksetzen

Wenn du stop_reason: refusal erhältst, musst du den Gesprächskontext zurücksetzen, bevor du fortfährst. Du kannst den Turn, der die Ablehnung ausgelöst hat, entfernen oder umformulieren, oder den Gesprächsverlauf vollständig löschen. Ein Versuch, ohne Zurücksetzen fortzufahren, führt zu weiteren Ablehnungen.



Nutzungsmetriken werden weiterhin in der Antwort bereitgestellt, auch wenn die Antwort abgelehnt wird.

Wenn eine Ablehnung eintrifft, bevor Claude eine Ausgabe generiert, wird dir die Anfrage über die Claude-API nicht in Rechnung gestellt, und die Nutzungszahlen in dieser Antwort dienen nur zur Information. Wenn Claude vor der Ablehnung eine Ausgabe generiert, wird dir diese Anfrage in Rechnung gestellt.



Das Zurücksetzen des Kontexts ist nicht die einzige Möglichkeit zur Wiederherstellung. Du kannst die abgelehnte Anfrage auch mit einem anderen Claude-Modell wiederholen, und die Seite Ablehnungen und Fallback zeigt, wie du das mit serverseitigem Fallback, der SDK-Middleware oder einem manuellen Retry einrichtest.

Implementierungsleitfaden

So erkennst und behandelst du Streaming-Ablehnungen in deiner Anwendung:

client = anthropic.Anthropic()
messages = []


def reset_conversation():
    """Reset conversation context after refusal"""
    global messages
    messages = []
    print("Conversation reset due to refusal")


try:
    with client.messages.stream(
        max_tokens=1024,
        messages=messages + [{"role": "user", "content": "Hello"}],
        model="claude-opus-4-8",
    ) as stream:
        for event in stream:
            # Prüfe auf Ablehnung im Message-Delta
            if event.type == "message_delta":
                if event.delta.stop_reason == "refusal":
                    reset_conversation()
                    break
except Exception as e:
    print(f"Error: {e}")

Aktuelle Ablehnungstypen

Die API behandelt Ablehnungen derzeit auf drei verschiedene Arten:

AblehnungstypAntwortformatWann es auftritt
Ablehnungen durch Streaming-Klassifikatorenstop_reason: refusalWährend des Streamings, wenn Inhalte gegen Richtlinien verstoßen
API-Eingabe- und Urheberrechtsvalidierung400-FehlercodesWenn die Eingabe die Validierungsprüfungen nicht besteht
Vom Modell generierte AblehnungenStandard-TextantwortenWenn das Modell selbst entscheidet, abzulehnen


Zukünftige API-Versionen werden das stop_reason: refusal-Muster erweitern, um die Ablehnungsbehandlung über alle Typen hinweg zu vereinheitlichen.

Best Practices

  • Auf Ablehnungen überwachen: Integriere Prüfungen auf stop_reason: refusal in deine Fehlerbehandlung
  • Automatisch zurücksetzen: Implementiere ein automatisches Zurücksetzen des Kontexts, wenn Ablehnungen erkannt werden
  • Auf ein anderes Modell zurückfallen: Konfiguriere serverseitigen Fallback oder die SDK-Middleware, damit abgelehnte Anfragen mit einem anderen Claude-Modell wiederholt werden, anstatt dem Nutzer eine Ablehnung anzuzeigen
  • Fallback-Credit bei manuellen Retries einlösen: Wenn du den Retry selbst implementierst, übergib das Fallback-Credit-Token der Ablehnung, damit der Retry die Prompt-Cache-Kosten nicht doppelt bezahlt
  • Benutzerdefinierte Nachrichten bereitstellen: Erstelle benutzerfreundliche Nachrichten für eine bessere UX, wenn Ablehnungen auftreten
  • Ablehnungsmuster verfolgen: Überwache die Häufigkeit von Ablehnungen, um potenzielle Probleme mit deinen Prompts zu identifizieren

Migrationshinweise

Wenn du die Ablehnungsbehandlung implementiert hast, als diese Funktion erstmals ausgeliefert wurde, oder wenn du sie zu einer bestehenden Integration hinzufügst, überprüfe Folgendes:

  • Ablehnungen sind Antworten, keine Fehler. Eine Ablehnung kommt als erfolgreiche HTTP-200-Antwort mit stop_reason: "refusal" an, sodass ein Monitoring, das nur auf Fehlerraten basiert, sie nicht erfasst. Verfolge Ablehnungen als eigenes Signal.
  • Neuere Modelle liefern mehr Details. Bei Claude Fable 5 enthält eine Ablehnung zusätzlich ein stop_details-Objekt, das die Richtlinienkategorie hinter der Ablehnung identifiziert. Siehe Ablehnungen und Fallback für die vollständige Antwortstruktur.
  • Mit einem anderen Modell wiederholen. Das erneute Senden einer abgelehnten Anfrage an dasselbe Modell führt in der Regel zu einer weiteren Ablehnung. Anstatt nur den Kontext zurückzusetzen, wiederhole die Anfrage mit einem Fallback-Modell über serverseitigen Fallback, die SDK-Middleware oder einen manuellen Retry und löse Fallback-Credit ein, wenn du den Retry selbst implementierst.
  • Batch-Ergebnisse auf Ablehnungen prüfen. Eine abgelehnte Anfrage in einem Message Batch wird als erfolgreiches Ergebnis mit stop_reason: "refusal" zurückgegeben, nicht als fehlerhaftes Ergebnis.
  • Behandlung auf stop_reason zentralisieren. Die API konsolidiert die Ablehnungsbehandlung weiterhin rund um stop_reason: "refusal", verzweige also anhand des Stop-Reasons und nicht anhand modellspezifischen Verhaltens.

Nächste Schritte

Ablehnungen und Fallback

Wiederhole abgelehnte Anfragen mit einem anderen Claude-Modell, serverseitig oder in deinem Client.


Stop-Reasons und Fallback

Jeder stop_reason-Wert und wie du ihn behandelst.


Streaming-Nachrichten

Streame Antworten und lies stop_reason aus message_delta-Events, sobald sie eintreffen.


Mehrsprachige Unterstützung

Bediene Nutzer in verschiedenen Sprachen mit Claudes sprachübergreifenden Fähigkeiten.

Was this page helpful?

  • API-Antwortformat
  • Kontext nach Ablehnung zurücksetzen
  • Implementierungsleitfaden
  • Aktuelle Ablehnungstypen
  • Best Practices
  • Migrationshinweise
  • Nächste Schritte