Llamar a la API de Anthropic: messages
Use la API messages de Anthropic: diferencias con OpenAI, ubicación del prompt del sistema y prácticas recomendadas específicas de Claude.
Llamar a la API de Anthropic: messages es una lección gratuita de AI Agents en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de AI Agents, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de AI Agents incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
¿Por qué Anthropic?
Los modelos Claude suelen ofrecer un seguimiento de instrucciones más sólido, mejor uso de herramientas y ventanas de contexto más amplias que los modelos equivalentes de OpenAI, y a veces son más baratos.
La mayoría de los agentes en producción admiten ambos proveedores como alternativa.
Install the SDK
# pip install anthropic
import anthropic
client = anthropic.Anthropic() # reads ANTHROPIC_API_KEY from envSu primera llamada
El endpoint es messages.create:
response = client.messages.create(
model='claude-sonnet-4-5',
max_tokens=512,
system='You are a concise assistant.',
messages=[
{'role': 'user', 'content': 'Capital of France?'},
],
)
print(response.content[0].text)
# 'Paris.'Diferencias clave con OpenAI
systemes un parámetro de nivel superior, no un mensajemax_tokenses OBLIGATORIOcontentes una lista de bloques (texto, tool_use, etc.)- No hay parámetro
n; utilice varias llamadas
Bloques de contenido
Incluso las respuestas de texto llegan como una lista de bloques:
response.content # list of blocks
response.content[0].type # 'text' or 'tool_use'
response.content[0].text # the text content
response.stop_reason # 'end_turn' / 'max_tokens' / 'tool_use'
response.usage.input_tokens
response.usage.output_tokensContenido de varios bloques
También puede enviar una lista de bloques de contenido en los mensajes user (imágenes, resultados de herramientas):
messages = [{
'role': 'user',
'content': [
{'type': 'text', 'text': 'What is in this image?'},
{'type': 'image', 'source': {
'type': 'base64',
'media_type': 'image/png',
'data': image_base64
}}
]
}]Prellenado del assistant
Fuerce que la respuesta comience de una forma específica:
messages = [
{'role': 'user', 'content': 'Return a JSON object.'},
{'role': 'assistant', 'content': '{'}
]
response = client.messages.create(
model='claude-sonnet-4-5',
max_tokens=512,
messages=messages,
)
# Output starts after '{', guaranteed to be JSON.Uso de herramientas
El formato de herramientas de Anthropic es similar al de OpenAI, pero usa input_schema:
tools = [{
'name': 'get_weather',
'description': 'Get current weather',
'input_schema': {
'type': 'object',
'properties': {'city': {'type': 'string'}},
'required': ['city']
}
}]
response = client.messages.create(
model='claude-sonnet-4-5',
max_tokens=1024,
tools=tools,
messages=messages,
)
if response.stop_reason == 'tool_use':
for block in response.content:
if block.type == 'tool_use':
print(block.name, block.input)Devolución de resultados de herramientas
Los resultados de las herramientas se incluyen en un mensaje de usuario con un bloque tool_result:
messages.append({
'role': 'user',
'content': [{
'type': 'tool_result',
'tool_use_id': 'toolu_abc',
'content': json.dumps(weather_data)
}]
})Almacenamiento en caché de prompts
Anthropic admite el almacenamiento en caché de prompts: marque los prefijos estáticos largos con cache_control y pague un 10 % cuando haya aciertos de caché:
system = [
{'type': 'text', 'text': '...long system prompt...',
'cache_control': {'type': 'ephemeral'}}
]
for block in system:
print(f"type={block['type']} cache_control={block['cache_control']}")
print("text preview:", block['text'][:30])
Razonamiento extendido
Claude tiene un modo de «razonamiento extendido» en el que razona internamente antes de responder:
response = client.messages.create(
model='claude-sonnet-4-5',
max_tokens=4096,
thinking={'type': 'enabled', 'budget_tokens': 2048},
messages=messages,
)Ubicación del prompt del sistema
¿Dónde se coloca el prompt del sistema en la API de Anthropic?
Repaso
Ahora puede llamar a los dos principales proveedores. Las diferencias son pequeñas, pero reales; la mayoría de los equipos construye un adaptador fino para poder alternar entre ellos.
Preguntas frecuentes
¿La lección «Llamar a la API de Anthropic: messages» es gratis?
Sí — el texto completo de «Llamar a la API de Anthropic: messages» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de AI Agents, actualiza a CoddyKit PRO. El curso de AI Agents incluye 4 lecciones en total.
¿Qué aprenderé en «Llamar a la API de Anthropic: messages»?
Use la API messages de Anthropic: diferencias con OpenAI, ubicación del prompt del sistema y prácticas recomendadas específicas de Claude. Practicas AI Agents con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar AI Agents?
No se requiere experiencia previa. AI Agents en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Llamar a la API de Anthropic: messages»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de AI Agents?
Sí. Cada lección de AI Agents incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Llamar a la API de OpenAI: chat.completions
- Llamar a la API de Anthropic: messages
- Respuestas en streaming (SSE)
- Control de costes: recuento de tokens y presupuestos