Del CLI al SDK
El Agent SDK te da el mismo motor que mueve Claude Code —las mismas tools, el mismo agent loop, la misma gestión de contexto— pero como librería, programable en Python y TypeScript. En vez de abrir claude, llamas a una función desde tu código.
El agent loop, ahora en tu programa
¿Recuerdas el bucle de la primera lección del plan (pensar → usar herramienta → observar → repetir)? El SDK lo expone como un iterador que consumes:
import asyncio
from claude_agent_sdk import query, ClaudeAgentOptions
async def main():
async for message in query(
prompt="Encuentra y arregla el bug en auth.py",
options=ClaudeAgentOptions(allowed_tools=["Read", "Edit", "Bash"]),
):
print(message) # Claude lee el fichero, encuentra el bug, lo edita
asyncio.run(main())
import { query } from "@anthropic-ai/claude-agent-sdk";
for await (const message of query({
prompt: "Encuentra y arregla el bug en auth.ts",
options: { allowedTools: ["Read", "Edit", "Bash"] }
})) {
console.log(message);
}
query() arranca el bucle y va emitiendo mensajes (razonamiento, llamadas a tools, resultados) mientras Claude trabaja. El SDK orquesta la ejecución de tools, el contexto y los reintentos — tú solo consumes el stream. Trae tools integradas (Read, Write, Edit, Bash, Glob, Grep, WebSearch…), así que el agente funciona desde el minuto cero.
Dónde encaja: cuatro opciones
El SDK es una de varias formas de construir con Claude. La diferencia clave:
| Opción | Qué hace |
|---|---|
| Client SDK (API) | acceso directo a la API; tú implementas el bucle de tools |
| Agent SDK | Claude gestiona las tools por ti; corre en tu proceso |
| Claude Code CLI | el SDK con interfaz interactiva, para uso a mano |
| Managed Agents | API REST hosteada; Anthropic corre el agente y el sandbox |
Con el Client SDK escribes tú el while response.stop_reason == "tool_use". Con el Agent SDK, eso ya está hecho: le das un objetivo y él ejecuta tools hasta terminar.
Cuándo construir vs. usar
No todo pide un agente propio. La regla:
| Caso | Mejor opción |
|---|---|
| Desarrollo interactivo, tareas puntuales | CLI |
| Pipelines CI/CD | SDK (o el modo headless que ya viste) |
| Aplicaciones a medida, automatización en producción | SDK |
| Producción sin operar sandbox ni sesiones | Managed Agents |
Muchos equipos usan los dos: CLI para el día a día, SDK para producción. Y un camino habitual es prototipar con el Agent SDK en local y, si necesitas infraestructura gestionada, pasar a Managed Agents. Lo que aprendiste del CLI se traslada directo.
Nota de autenticación: el SDK usa
ANTHROPIC_API_KEY(o Bedrock/Vertex/Foundry), no el login de claude.ai. Un producto de terceros sobre el SDK se autentica por API key.
Qué llevas hasta aquí
- El Agent SDK es el motor de Claude Code como librería (Python/TS);
query()arranca el agent loop. - Frente al Client SDK, el Agent SDK gestiona las tools por ti; frente a Managed Agents, corre en tu proceso.
- Construyes con el SDK cuando es una app o automatización de producción; para lo interactivo, el CLI.
En la siguiente lección montas tu primer agente de verdad.
Fuente oficial: Agent SDK overview · Agent loop
¿Quieres llevar la cuenta de las lecciones que has terminado?
Entrar para guardar progreso