Claude Platform Docs
MessagesAufwand

Effort pro Nachricht

Verwende eine System-Nachricht, um das Effort-Level mitten in einer Konversation zu ändern und den Prompt-Cache zu behalten.

Eine Effort-Änderung pro Nachricht legt ein neues Effort-Level für spätere Turns einer Konversation fest, ohne den Wert auf oberster Ebene der Anfrage zu ändern, sodass das gecachte Präfix weiterhin übereinstimmt.

Das Effort-Level ändern

So änderst du das Level mitten in einer Konversation:

  1. Füge messages eine Nachricht mit role: "system" hinzu, mit leerem content und dem neuen Effort-Level in output_config.effort.
  2. Sende den Beta-Header mid-conversation-output-config-2026-07-01.
  3. Lass den Wert auf oberster Ebene unverändert.

Das folgende Beispiel behält den Wert auf oberster Ebene bei high und wechselt für eine routinemäßige Folgeanfrage zu low:

client = anthropic.Anthropic()

response = client.beta.messages.create(
    model="claude-fable-5-1",
    max_tokens=4096,
    output_config={"effort": "high"},
    messages=[
        {
            "role": "user",
            "content": "Plan a migration from SQLite to PostgreSQL in three short steps.",
        },
        {
            "role": "assistant",
            "content": "1. Export the SQLite data. 2. Create the PostgreSQL schema. 3. Import the data and verify row counts.",
        },
        # Systemnachricht nur für Effort: Die neue Stufe gilt ab dem nächsten Benutzer-Turn.
        {"role": "system", "content": [], "output_config": {"effort": "low"}},
        {"role": "user", "content": "Summarize the plan in one sentence."},
    ],
    betas=["mid-conversation-output-config-2026-07-01"],
)

for block in response.content:
    if block.type == "text":
        print(block.text)

Die Position der Nachricht entscheidet, wann das neue Level beginnt:

  • Direkt nach einem user-Turn mit neuer Eingabe: Claudes Antwort auf diesen Turn verwendet das neue Level.
  • An jeder anderen Stelle, etwa zwischen einem assistant-Turn und dem nächsten user-Turn wie im vorherigen Beispiel: Das neue Level beginnt beim nächsten user-Turn mit neuer Eingabe.

Ein user-Turn, der nur tool_result-Blöcke enthält, zählt nicht als neue Eingabe.

Das neue Level bleibt wirksam, bis eine spätere Nachricht es ändert.

Platziere die Nachricht nach allem, was du bereits gesendet hast, und behalte sie bei späteren Anfragen an ihrer Stelle. Füge sie nicht vor Turns ein, die du bereits gesendet hast, und verschiebe oder entferne sie später nicht. Bei Modellen mit bewahrtem Nachdenken macht jede dieser Änderungen die Thinking-Blöcke in den assistant-Turns nach der Nachricht ungültig. Was die API mit einem ungültigen Block macht beschreibt, was danach passiert.

Steht sie neben einer system-Nachricht mit Inhalt, müssen beide Nachrichten den Platzierungsregeln für System-Nachrichten mitten in der Konversation folgen.

Sende bei der Amazon Bedrock InvokeModel API den Beta-Wert im Array anthropic_beta des Request-Bodys statt im Header. Welche Modelle dort Effort pro Nachricht unterstützen, erfährst du unter System-Nachrichten mitten in der Konversation auf Bedrock.

Fehler

  • Ohne den Beta-Header gibt ein output_config pro Nachricht einen 400-Fehler zurück: messages.N.output_config: Extra inputs are not permitted, wobei N der Index der system-Nachricht in messages ist.
  • Mit dem Beta-Header geben Modelle ohne Effort pro Nachricht, etwa Claude Fable 5, einen 400-Fehler zurück: output_config.effort requires a model that supports per-turn effort; this model does not. Auf Amazon Bedrock geben diese Modelle und Claude Opus 5 stattdessen Extra inputs are not permitted zurück.
  • Bei Claude Sonnet 5.5 mit thinking: {"type": "between_tools"} und bei Claude Haiku 5.5 mit thinking: {"type": "disabled"} kannst du das Effort-Level nicht mitten in der Konversation ändern. Dort gibt ein output_config.effort pro Nachricht mit einem neuen Level einen 400-Fehler zurück. Um den Effort für jeden Turn zu variieren, verwende adaptives Nachdenken.

Effort pro Nachricht oder auf oberster Ebene

Bevorzuge Effort pro Nachricht gegenüber dem Ändern des Werts auf oberster Ebene zwischen Anfragen. Eine Änderung pro Nachricht lässt alles davor unverändert, sodass das gecachte Präfix weiterhin übereinstimmt. Eine Änderung auf oberster Ebene startet den Cache neu. Bei Claude Fable 5.1 steuert eine Änderung auf oberster Ebene das Modell außerdem weniger zuverlässig. Die früheren Antworten des Modells wurden auf dem vorherigen Level geschrieben, und das Modell neigt dazu, mit ihnen konsistent zu bleiben.

Verfügbarkeit

Effort pro Nachricht
Status
Beta
APIs
  • Messages API
  • Managed Agents Nicht unterstützt
Beta-Header
Erfordert
Modelle
  • Claude Fable 5.2, Fable 5.1
  • Claude Mythos 5.2, Mythos 5.1
  • Claude Opus 5.5, Opus 5
  • Claude Sonnet 5.5
  • Claude Haiku 5.5

War diese Seite hilfreich?