Claude Platform Docs
  • Mensajes
  • Agentes gestionados
  • Administración

Search...
⌘K
Primeros pasos
Introducción a ClaudeInicio rápido
Desarrollar con Claude
Descripción general de funcionesUso de la API de MensajesMotivos de detención y respaldoRechazos y respaldoCrédito de respaldo
Capacidades del modelo
Pensamiento extendidoPensamiento adaptativoEsfuerzoPresupuestos de tareas (beta)Modo rápido (vista previa de investigación)Salidas estructuradasCitasStreaming de mensajesProcesamiento por lotesResultados de búsquedaStreaming de rechazosSoporte multilingüeEmbeddings
Herramientas
Descripción generalCómo funciona el uso de herramientasTutorial: Crear un agente que usa herramientasDefinir herramientasGestionar llamadas a herramientasUso de herramientas en paraleloTool Runner (SDK)Uso de herramientas estrictoHerramientas de servidorHerramienta de búsqueda webHerramienta de obtención webHerramienta de ejecución de códigoHerramienta de asesorHerramienta de búsqueda de herramientasHerramienta de memoriaHerramienta BashHerramienta de editor de textoHerramienta de uso de computadoraSolución de problemas
Infraestructura de herramientas
Referencia de herramientasGestionar el contexto de herramientasCombinaciones de herramientasUso de herramientas con almacenamiento en caché de promptsLlamadas programáticas a herramientasStreaming detallado de herramientas
Gestión de contexto
Ventanas de contextoCompactaciónEdición de contextoAlmacenamiento en caché de promptsMensajes del sistema a mitad de conversaciónCrear un modo de orquestaciónDiagnóstico de caché (beta)Conteo de tokens
Trabajar con archivos
API de archivosCompatibilidad con PDF
Habilidades
Descripción generalInicio rápidoMejores prácticasHabilidades para empresasHabilidades en la API
MCP
Servidores MCP remotosConector MCP
Claude en plataformas en la nube
Amazon BedrockAmazon Bedrock (heredado)Claude Platform en AWSGoogle CloudMicrosoft Foundry

Log in
Uso de la API de Mensajes
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
Mensajes/Desarrollar con Claude

Uso de la API de Messages

Patrones prácticos y ejemplos para usar la API de Messages de manera efectiva

Anthropic ofrece dos formas de desarrollar con Claude, cada una adecuada para diferentes casos de uso:

Messages APIClaude Managed Agents
Qué esAcceso directo para enviar prompts al modeloUn "agent harness" (arnés de agente) preconfigurado y personalizable que se ejecuta en infraestructura gestionada
Ideal paraBucles de agente personalizados y control detalladoTareas de larga duración y trabajo asíncrono
Más informaciónDocumentación de Messages APIDocumentación de Claude Managed Agents

Esta guía cubre patrones comunes para trabajar con la API de Messages, incluyendo solicitudes básicas, conversaciones de múltiples turnos, técnicas de "prefill" (prellenado) y capacidades de visión. Para las especificaciones completas de la API, consulta la referencia de la API de Messages.



Esta función es elegible para Zero Data Retention (ZDR). Cuando tu organización tiene un acuerdo de ZDR, los datos enviados a través de esta función no se almacenan después de que se devuelve la respuesta de la API.

Solicitud y respuesta básicas



Los parámetros de muestreo temperature, top_p y top_k no son compatibles con Claude Opus 4.7 y modelos posteriores, incluido Claude Opus 4.8. Establecerlos en un valor no predeterminado devuelve un error 400. Omítelos de las cargas útiles de las solicitudes y usa indicaciones para guiar el comportamiento del modelo en su lugar. Consulta la guía de migración.

message = anthropic.Anthropic().messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello, Claude"}],
)
print(message)
Output
{
  "id": "msg_01XFDUDYJgAACzvnptvVoYEL",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "Hello!"
    }
  ],
  "model": "claude-opus-4-8",
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 12,
    "output_tokens": 6
  }
}

En Claude Opus 4.7 y modelos posteriores, las respuestas de rechazo (stop_reason: "refusal") también incluyen un objeto stop_details que identifica la categoría de política que activó el rechazo. Consulta Manejo de razones de detención para la referencia del campo y código de ejemplo de manejo.

Múltiples turnos conversacionales

La API de Messages no tiene estado, lo que significa que siempre envías el historial conversacional completo a la API. Puedes usar este patrón para construir una conversación a lo largo del tiempo. Los turnos conversacionales anteriores no necesariamente tienen que originarse realmente de Claude. Puedes usar mensajes assistant sintéticos.

message = anthropic.Anthropic().messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Hello, Claude"},
        {"role": "assistant", "content": "Hello!"},
        {"role": "user", "content": "Can you describe LLMs to me?"},
    ],
)
print(message)
Output
{
  "id": "msg_018gCsTGsXkYJVqYPxTgDHBU",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "Sure, I'd be happy to provide..."
    }
  ],
  "model": "claude-opus-4-8",
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 30,
    "output_tokens": 309
  }
}

Rol de sistema en los mensajes

En Claude Opus 4.8, puedes incluir mensajes con "role": "system" después de un turno de usuario (sujeto a las reglas de ubicación) para agregar una nueva instrucción del sistema en medio de una conversación. Un mensaje system no puede ser la primera entrada en messages; usa el campo system de nivel superior para instrucciones que apliquen desde el inicio.

Un mensaje de sistema a mitad de conversación tiene la misma autoridad que el campo system de nivel superior, pero como se agrega al final del historial de mensajes, no invalida ningún prefijo almacenado en caché que haya venido antes. Usa el campo system de nivel superior para instrucciones que deban aplicarse desde el primer turno, y un mensaje de sistema a mitad de conversación para instrucciones que solo se vuelvan relevantes más adelante.

Consulta Mensajes de sistema a mitad de conversación para la guía completa, incluyendo cómo combinarlo con el almacenamiento en caché de prompts.

Poner palabras en boca de Claude

Puedes prellenar parte de la respuesta de Claude en la última posición de la lista de mensajes de entrada. Esto se puede usar para dar forma a la respuesta de Claude. El ejemplo a continuación usa "max_tokens": 1 para obtener una única respuesta de opción múltiple de Claude.



El prellenado no es compatible con Claude Fable 5, Claude Mythos 5, Claude Mythos Preview, Claude Opus 4.8, Claude Opus 4.7, Claude Opus 4.6, Claude Sonnet 5 y Claude Sonnet 4.6. Las solicitudes que usan prellenado con estos modelos devuelven un error 400. Usa salidas estructuradas en los modelos que lo admitan, o instrucciones en la indicación del sistema, en su lugar. Consulta la guía de migración para patrones de migración.

message = anthropic.Anthropic().messages.create(
    model="claude-sonnet-4-5",
    max_tokens=1,
    messages=[
        {
            "role": "user",
            "content": "What is latin for Ant? (A) Apoidea, (B) Rhopalocera, (C) Formicidae",
        },
        {"role": "assistant", "content": "The answer is ("},
    ],
)
print(message)
Output
{
  "id": "msg_01Q8Faay6S7QPTvEUUQARt7h",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "C"
    }
  ],
  "model": "claude-sonnet-4-5",
  "stop_reason": "max_tokens",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 42,
    "output_tokens": 1
  }
}

Visión

Claude puede leer tanto texto como imágenes en las solicitudes. Las imágenes se pueden proporcionar usando los tipos de fuente base64, url o file. El tipo de fuente file hace referencia a una imagen cargada a través de la API de Files. Los tipos de medios admitidos son image/jpeg, image/png, image/gif e image/webp. Consulta la guía de visión para más detalles.

import base64
import httpx

# Opción 1: Imagen codificada en Base64
image_url = "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg"
image_media_type = "image/jpeg"
image_data = base64.standard_b64encode(httpx.get(image_url).content).decode("utf-8")

message = anthropic.Anthropic().messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image_media_type,
                        "data": image_data,
                    },
                },
                {"type": "text", "text": "What is in the above image?"},
            ],
        }
    ],
)
print(message)

# Opción 2: Imagen referenciada por URL
message_from_url = anthropic.Anthropic().messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "url",
                        "url": "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg",
                    },
                },
                {"type": "text", "text": "What is in the above image?"},
            ],
        }
    ],
)
print(message_from_url)
Output
{
  "id": "msg_01EcyWo6m4hyW8KHs2y2pei5",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "This image shows an ant, specifically a close-up view of an ant. The ant is shown in detail, with its distinct head, antennae, and legs clearly visible. The image is focused on capturing the intricate details and features of the ant, likely taken with a macro lens to get an extreme close-up perspective."
    }
  ],
  "model": "claude-opus-4-8",
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 1551,
    "output_tokens": 71
  }
}

Próximos pasos

Razones de detención y respaldo

Maneja cada valor de stop_reason y decide qué hacer cuando una respuesta termina.


Uso de herramientas con Claude

Dale a Claude herramientas para llamar a servicios y APIs externos desde la API de Messages.


Herramienta de uso de computadora

Controla entornos de computadoras de escritorio con la API de Messages.


Salidas estructuradas

Obtén salida JSON garantizada y validada por esquema de Claude.

Presupuestos de tareas

Establece un presupuesto de tokens orientativo a lo largo de un ciclo agéntico completo con output_config.task_budget.

Was this page helpful?

  • Solicitud y respuesta básicas
  • Múltiples turnos conversacionales
  • Rol de sistema en los mensajes
  • Poner palabras en boca de Claude
  • Visión
  • Próximos pasos