

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Mid-conversation mensajes del sistema
<a name="claude-messages-mid-conversation-system"></a>

Puede añadir `{"role": "system", ...}` mensajes a la `messages` matriz. Esto añade o actualiza las instrucciones del sistema a mitad de una conversación sin invalidar el prefijo almacenado en caché.

Anteriormente, las instrucciones del sistema solo podían proporcionarse a través del parámetro de nivel superior. `system` Esto permite actualizar las instrucciones sin restablecer el contexto anterior.

Esto resulta útil en los flujos de trabajo de los agentes, en los que el modelo debe adaptarse a medida que avanza una tarea. Los ejemplos incluyen la introducción de una nueva restricción a mitad de la tarea, la actualización del contexto autoritario o el cambio de la guía de la herramienta para turnos posteriores.

## Modelos compatibles
<a name="claude-messages-mid-conversation-system-supported-models"></a>

Esta función solo está disponible en Claude Opus 4.8. No se requiere ningún encabezado beta. Las solicitudes que se incluyen `role: "system"` `messages[]` en modelos no compatibles devuelven un`400 invalid_request_error`.

## Campos de mensajes
<a name="claude-messages-mid-conversation-system-fields"></a>


| **Campo** | **Tipo** | **Descripción** | 
| --- | --- | --- | 
| role | Cadena | Obligatorio. Debe ser system | 
| content | Cadena o lista de bloques de texto | Obligatorio. Utilice una cadena simple o bloques de contenido, igual que un mensaje de usuario o asistente. | 
| cache\_control | Objeto | Opcional. La misma semántica que el parámetro del sistema de nivel superior. | 

## Reglas de colocación
<a name="claude-messages-mid-conversation-system-placement"></a>

Un `{"role": "system"}` mensaje entrante `messages` tiene las siguientes restricciones de ubicación:
+ No puede ser la primera entrada en él`messages`. Utilice el `system` campo de nivel superior para ver las instrucciones que se aplican desde el principio.
+ Debe seguir inmediatamente a un mensaje de usuario o a un mensaje de asistente que termine con el uso de una herramienta de servidor.
+ Debe ser el último en entrar `messages` o ir seguido de un turno de asistente.
+ No puede estar junto a otro mensaje del sistema. No se permiten mensajes consecutivos del sistema.

Las solicitudes que infrinjan estas reglas de colocación devuelven un`400 invalid_request_error`.

## Reglas de contenido
<a name="claude-messages-mid-conversation-system-content-rules"></a>

System-role el contenido de los mensajes solo admite bloques de texto. No se admiten imágenes, documentos, bloques de herramientas ni citas.

`content`Establézcalo en una cadena simple o en bloques de contenido. La instrucción se aplica a partir de ese punto de la conversación. Usa el `system` campo de nivel superior para ver las instrucciones que deberían aplicarse a toda la conversación y usa los mensajes del sistema a mitad de la conversación para obtener instrucciones que sean relevantes más adelante.

## Almacenamiento en caché de peticiones
<a name="claude-messages-mid-conversation-system-caching"></a>

Mid-conversation los mensajes del sistema están diseñados para funcionar con un rápido almacenamiento en caché. El prefijo estable se guarda en caché, como de costumbre, colocándolo `cache_control` en el último bloque que permanece inalterado en todas las solicitudes. A continuación, añada el mensaje del sistema tras ese punto de interrupción. Como la nueva instrucción aparece después del prefijo almacenado en caché, no cambia el hash del prefijo y la caché aún puede activarse.

Una vez que un mensaje del sistema a mitad de una conversación pasa a formar parte del historial estable, se puede leer de la memoria caché en los turnos siguientes. Evita editar o eliminar un mensaje del sistema enviado anteriormente a mitad de una conversación, ya que al cambiar los mensajes anteriores se invalida la memoria caché a partir de ese momento.

Para obtener más información sobre el almacenamiento rápido en caché, consulte Almacenamiento rápido en [caché para una inferencia más rápida](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-caching.html) del modelo.

## Comportamiento de respuesta
<a name="claude-messages-mid-conversation-system-response"></a>

La forma de la respuesta no ha cambiado. System-role los mensajes no aparecen en la matriz de contenido de la respuesta. El modelo procesa las instrucciones del sistema pero no las repite en su respuesta.

## Ejemplo de código
<a name="claude-messages-mid-conversation-system-example"></a>

En el siguiente ejemplo de Python, se muestra cómo utilizar las indicaciones del sistema a mitad de una conversación con Amazon Bedrock:

```
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"])
```