Domingo, 26 de julio de 2026  ·  LATAM / Español
ÚLTIMA HORA
Anthropic lanza mejoras en la API de Claude para América Latina  ·  MCP 2026-07-28 ya en release candidate  ·  Claude Sonnet 5 supera benchmarks de coding agéntico  ·  Claude Code alcanza $1B de run-rate en 6 meses  ·  NSA publica guía de seguridad para el protocolo MCP
Hace 45 min →
Intermedio 45 min en total 6 pasos

Cómo hacer que Claude programe una app paso a paso

Aprende a usar la API de Claude para generar el código completo de una app funcional desde cero.

Imagen de portada editorial · Cómo hacer que Claude programe una app paso a paso · Educación · Claude Builders
Requisitos
  • Cuenta en console.anthropic.com con API key activa
  • Python 3.9+ o Node.js 18+ instalado
  • Conocimientos básicos de terminal y Git
  • Un editor de código (VS Code recomendado)
Lo que vas a aprender
  • Estructurar prompts que producen código completo y ejecutable
  • Usar la API de Claude para generar una app de tareas con backend
  • Iterar sobre el código generado corrigiendo errores con Claude
  • Aplicar buenas prácticas de contexto para apps más grandes
PASO 1 · ~5 min

Configurar el entorno y la API key

Antes de que Claude programe nada necesitas acceso a la API. Entra en console.anthropic.com, crea una API key y guárdala como variable de entorno para no exponerla en el código (crítico si trabajas en un repo compartido). En España y LATAM el pago se hace por consumo de tokens, así que empieza con un límite bajo mientras experimentas. Instala el SDK oficial de Python. Verifica que la key funciona con una llamada mínima antes de pedir código complejo: así descartas problemas de autenticación desde el principio.

bash
export ANTHROPIC_API_KEY='sk-ant-tu-clave-aqui'
pip install anthropic
ConsejoEn Windows usa 'setx ANTHROPIC_API_KEY tu-clave' y reinicia la terminal para que persista.
Error comúnNunca escribas la API key directamente en el código ni la subas a GitHub: revócala de inmediato si se filtra.
PASO 2 · ~8 min

Definir la app con un prompt de especificación

El error más común es pedir 'hazme una app' sin contexto. Claude programa mucho mejor cuando le das una especificación clara: qué stack, qué funcionalidades, qué estructura de archivos y qué restricciones. Piensa como si escribieras un ticket para un colega junior con memoria perfecta. Aquí definimos una API REST de gestión de tareas con FastAPI y SQLite. Cuanto más concreto seas con endpoints, modelos de datos y formato de salida, menos iteraciones necesitarás. Pide explícitamente que devuelva el código organizado por archivos con nombres claros, porque eso facilita copiarlo tal cual a tu proyecto.

python
ESPEC = '''
Crea una API REST de gestión de tareas con:
- Stack: Python + FastAPI + SQLite (SQLAlchemy)
- Endpoints: GET /tasks, POST /tasks, PUT /tasks/{id}, DELETE /tasks/{id}
- Modelo Task: id, titulo, completada (bool), creada_en (datetime)
- Validación con Pydantic
- Devuelve el codigo separado por archivos: models.py, database.py, main.py
- Incluye instrucciones para ejecutar
'''
ConsejoEspecifica el formato de salida ('separado por archivos') para poder copiar cada bloque directo a tu proyecto.
PASO 3 · ~7 min

Llamar a la API para generar el código

Ahora enviamos la especificación a Claude usando el modelo claude-opus-4-8, el más capaz para tareas de generación de código complejas. Usamos un system prompt que fija el rol de desarrollador senior y exige código listo para producción, sin explicaciones innecesarias entre líneas. Subimos max_tokens porque generar varios archivos consume bastante salida. La respuesta llegará con bloques de código por archivo, tal como pedimos en la especificación. Guarda la respuesta completa para poder revisarla y extraer cada archivo.

python
from anthropic import Anthropic

client = Anthropic()

respuesta = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=4096,
    system="Eres un desarrollador senior de Python. Escribe codigo limpio, funcional y listo para ejecutar. Separa cada archivo con un encabezado claro.",
    messages=[
        {"role": "user", "content": ESPEC}
    ]
)

print(respuesta.content[0].text)
ConsejoSi la app es grande y la respuesta se corta, pide los archivos en llamadas separadas o aumenta max_tokens.
Error comúnRevisa siempre el código generado antes de ejecutarlo: Claude puede inventar dependencias o versiones que no existen.
PASO 4 · ~8 min

Guardar los archivos y ejecutar la app

Copia cada bloque de código a su archivo correspondiente (models.py, database.py, main.py) según los encabezados que devolvió Claude. Crea un entorno virtual para aislar las dependencias, instala FastAPI y Uvicorn, y arranca el servidor. Si todo está bien, tendrás la documentación interactiva disponible en /docs, donde puedes probar cada endpoint sin escribir un cliente. Este primer arranque es la prueba de fuego: es normal que aparezca algún error de import o de dependencia, y lo resolveremos en el siguiente paso iterando con Claude.

bash
python -m venv venv
source venv/bin/activate  # En Windows: venv\Scripts\activate
pip install fastapi uvicorn sqlalchemy
uvicorn main:app --reload
ConsejoAbre http://127.0.0.1:8000/docs para probar los endpoints con la interfaz Swagger que FastAPI genera sola.
PASO 5 · ~9 min

Iterar y corregir errores con Claude

Cuando algo falle, no reescribas el prompt desde cero: pásale a Claude el error exacto y el código relevante. El contexto del mensaje anterior importa, así que mantén la conversación en el mismo hilo pasando el historial en 'messages'. Copia el traceback completo, porque los mensajes de error contienen la pista precisa que Claude necesita. Este bucle de generar-ejecutar-corregir es el corazón del desarrollo asistido por IA: cada iteración acerca el código a algo que funciona. Pide cambios concretos ('corrige este ImportError') en vez de peticiones vagas.

python
historial = [
    {"role": "user", "content": ESPEC},
    {"role": "assistant", "content": respuesta.content[0].text},
    {"role": "user", "content": "Al ejecutar sale este error, corrigelo:\n\nModuleNotFoundError: No module named 'database'"}
]

fix = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=4096,
    messages=historial
)
print(fix.content[0].text)
ConsejoMantén el historial de la conversación: Claude corrige mucho mejor cuando recuerda el código que generó antes.
Error comúnNo pegues solo 'no funciona': sin el error concreto Claude adivinará y perderás iteraciones.
PASO 6 · ~8 min

Ampliar la app con nuevas funcionalidades

Con la base funcionando, pide extensiones incrementales: autenticación con tokens, filtros por estado, o un frontend simple. La clave es una función por petición para mantener el contexto manejable y poder revisar cada cambio. Para apps más grandes conviene darle a Claude el árbol de archivos actual y pedirle solo el diff o el archivo modificado. Si vas a construir algo serio sobre la API, te vendrá bien aprender a construir tu primera app con la API de Claude de forma estructurada, con manejo de errores, límites de tasa y despliegue. Documenta cada iteración en Git para poder volver atrás si una funcionalidad rompe algo.

python
nuevo_prompt = '''
Añade a la app anterior un endpoint GET /tasks/pendientes
que devuelva solo las tareas con completada=False.
Devuelve unicamente el codigo modificado de main.py.
'''
ConsejoHaz commit después de cada funcionalidad que funcione: así aíslas qué cambio introdujo un fallo.
Resultado

Has construido una app funcional (una API REST de tareas con FastAPI y SQLite) generada íntegramente con la API de Claude, y dominas el bucle de generar-ejecutar-corregir que hace productivo el desarrollo asistido por IA. Sabes escribir especificaciones que producen código ejecutable a la primera, mantener contexto entre iteraciones y ampliar la app de forma incremental. Con esta base puedes construir tu primera app con la API de Claude aplicando manejo de errores y despliegue reales para proyectos de producción.

PRÓXIMOS PASOS