

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Mid-conversation Systemnachrichten
<a name="claude-messages-mid-conversation-system"></a>

Sie können `{"role": "system", ...}` Nachrichten an das Array anhängen. `messages` Dadurch werden Systemanweisungen während einer Konversation hinzugefügt oder aktualisiert, ohne dass das zwischengespeicherte Präfix ungültig wird.

Bisher konnten Systemanweisungen nur über den Parameter der obersten Ebene bereitgestellt werden. `system` Dadurch ist es möglich, Anweisungen zu aktualisieren, ohne den vorherigen Kontext zurückzusetzen.

Dies ist nützlich in agentischen Arbeitsabläufen, bei denen sich das Modell an den Fortschritt einer Aufgabe anpassen muss. Beispiele hierfür sind die Einführung einer neuen Einschränkung während der Aufgabe, die Aktualisierung des verbindlichen Kontextes oder die Änderung der Werkzeugführung für spätere Runden.

## Unterstützte Modelle
<a name="claude-messages-mid-conversation-system-supported-models"></a>

Diese Funktion ist nur in Claude Opus 4.8 verfügbar. Es ist kein Beta-Header erforderlich. Anfragen, die ein Modell enthalten`role: "system"`, das nicht unterstützt wird, geben a `400 invalid_request_error` zurück. `messages[]`

## Nachrichtenfelder
<a name="claude-messages-mid-conversation-system-fields"></a>


| **Feld** | **Typ** | **Beschreibung** | 
| --- | --- | --- | 
| role | Zeichenfolge | Erforderlich Muss system sein. | 
| content | Zeichenfolge oder Liste von Textblöcken | Erforderlich Verwenden Sie eine einfache Zeichenfolge oder Inhaltsblöcke, genau wie eine Benutzer- oder Assistentennachricht. | 
| cache\_control | Objekt | Optional. Dieselbe Semantik wie der Systemparameter der obersten Ebene. | 

## Regeln für die Platzierung
<a name="claude-messages-mid-conversation-system-placement"></a>

Für `{"role": "system"}` eingehende Nachrichten `messages` gelten die folgenden Platzierungsbeschränkungen:
+ Kann nicht der erste Eintrag in sein`messages`. Verwenden Sie das `system` Feld auf oberster Ebene für Anweisungen, die von Anfang an gelten.
+ Muss unmittelbar auf eine Benutzermeldung oder eine Assistentennachricht folgen, die mit der Verwendung eines Servertools endet.
+ Muss entweder der letzte Eintrag sein, `messages` oder ein Assistent muss an der Reihe sein.
+ Kann nicht neben einer anderen Systemnachricht stehen. Aufeinanderfolgende Systemnachrichten sind nicht zulässig.

Anfragen, die gegen diese Platzierungsregeln verstoßen, geben a zurück`400 invalid_request_error`.

## Regeln für den Inhalt
<a name="claude-messages-mid-conversation-system-content-rules"></a>

System-role Der Nachrichteninhalt unterstützt nur Textblöcke. Bilder, Dokumente, Werkzeugblöcke und Zitate werden nicht unterstützt.

Legen `content` Sie entweder eine einfache Zeichenfolge oder Inhaltsblöcke fest. Die Anweisung gilt ab diesem Zeitpunkt in der Konversation. Verwenden Sie das `system` Feld auf oberster Ebene für Anweisungen, die für die gesamte Konversation gelten sollten, und verwenden Sie Systemnachrichten, die sich während der Konversation befinden, für Anweisungen, die später relevant werden.

## Prompt-Caching
<a name="claude-messages-mid-conversation-system-caching"></a>

Mid-conversation Systemnachrichten sind so konzipiert, dass sie mit sofortiger Zwischenspeicherung funktionieren. Zwischenspeichern Sie das stabile Präfix wie gewohnt, indem Sie es `cache_control` auf den letzten Block setzen, der bei allen Anfragen unverändert bleibt. Hängen Sie dann die Systemnachricht nach diesem Breakpoint an. Da die neue Anweisung hinter dem zwischengespeicherten Präfix erscheint, ändert sie den Präfix-Hash nicht, und der Cache kann immer noch Treffer verursachen.

Sobald eine Systemnachricht während einer Konversation Teil der stabilen Historie wird, kann sie bei nachfolgenden Zügen selbst aus dem Cache gelesen werden. Vermeiden Sie es, eine zuvor während der Konversation gesendete Systemnachricht zu bearbeiten oder zu entfernen, da das Ändern früherer Nachrichten den Cache ab diesem Zeitpunkt ungültig macht.

Weitere Informationen zum Zwischenspeichern von Eingabeaufforderungen finden Sie unter Zwischenspeicherung von [Eingabeaufforderungen für schnellere Modellinferenzen](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-caching.html).

## Verhalten der Antwort
<a name="claude-messages-mid-conversation-system-response"></a>

Die Form der Antwort ist unverändert. System-role Nachrichten werden nicht im Inhaltsarray der Antwort angezeigt. Das Modell verarbeitet die Systembefehle, gibt sie jedoch in seiner Antwort nicht wieder.

## Codebeispiel
<a name="claude-messages-mid-conversation-system-example"></a>

Das folgende Python-Beispiel zeigt, wie Sie Systemaufforderungen während einer Konversation mit Amazon Bedrock verwenden:

```
import boto3
import json

client = boto3.client("bedrock-runtime", region_name="us-east-1")

response = client.invoke_model(
    modelId="us.anthropic.claude-opus-4-8",
    body=json.dumps({
        "anthropic_version": "bedrock-2023-05-31",
        "max_tokens": 1024,
        "system": "You are a helpful travel planning assistant.",
        "messages": [
            {"role": "user", "content": "Help me plan a week in Paris."},
            {"role": "assistant", "content": "I'd love to help! What kind of experience are you looking for?"},
            {"role": "user", "content": "I want to see the major sights. What should I do on day one?"},
            {"role": "system", "content": "The user has a budget of $150/day. Only suggest options that fit within this budget. Prioritize free attractions and affordable dining."}
        ]
    })
)

result = json.loads(response["body"].read())
print(result["content"][0]["text"])
```