Módulo 1: Qué es Claude Code y por qué importa

Cómo Funciona Claude Code

Cómo Funciona Claude Code

Descripción

Claude Code es un agente de IA que combina tres componentes: un modelo de lenguaje (LLM), un conjunto de herramientas (tools), y una interfaz de terminal. Entender cómo estos tres componentes trabajan juntos es la base para usar Claude Code de forma efectiva.

Esta cápsula te lleva por dentro de la arquitectura. Vas a entender qué pasa cuando le das un prompt a Claude Code: cómo lee tu codebase, cómo razona sobre la tarea, cómo decide qué herramientas usar, cómo pide permisos antes de actuar, y cómo itera hasta completar el trabajo. También vas a conocer exactamente qué puede y qué no puede hacer — para que tus expectativas sean precisas, no mágicas.

Al final de esta cápsula, la frase "agente en tu terminal" no será una abstracción. Será un modelo mental concreto que puedes usar para predecir cómo se comportará Claude Code ante cualquier tarea.


La Arquitectura: LLM + Tools + Terminal

Claude Code tiene tres capas que funcionan en conjunto:

┌───────────────────────────────────────────────┐
│                  TU TERMINAL                   │
│                                               │
│  Tú escribes un prompt                        │
│         │                                     │
│         ▼                                     │
│  ┌─────────────────────────────────────────┐  │
│  │            CLAUDE CODE (agente)          │  │
│  │                                         │  │
│  │  ┌───────────┐    ┌──────────────────┐  │  │
│  │  │    LLM    │    │     TOOLS        │  │  │
│  │  │           │    │                  │  │  │
│  │  │ Opus 5    │◄──►│ Read files       │  │  │
│  │  │ Sonnet 5  │    │ Write files      │  │  │
│  │  │ Haiku 4.5 │    │ Run commands     │  │  │
│  │  │ Razona    │    │ Search patterns  │  │  │
│  │  │ Planifica │    │ Web requests     │  │  │
│  │  │ Decide    │    │ Git operations   │  │  │
│  │  └───────────┘    └──────────────────┘  │  │
│  │                                         │  │
│  └─────────────────────────────────────────┘  │
│         │                                     │
│         ▼                                     │
│  Resultado en tu terminal                     │
└───────────────────────────────────────────────┘

El LLM: el cerebro

El LLM es el componente que entiende tu código, razona sobre problemas, y genera soluciones. Claude Code usa los modelos de Anthropic:

  • Opus 5: El modelo más capaz. Hasta 1M de tokens de contexto, 128K de output. Razonamiento profundo, ideal para tareas complejas.
  • Sonnet 5: El mejor balance entre velocidad e inteligencia. Hasta 1M de tokens de contexto, 64K de output. Ideal para tareas de coding diarias.
  • Haiku 4.5: El más rápido y económico. 200K de contexto, 64K de output. Ideal para tareas simples donde la velocidad y el costo importan más que la profundidad de razonamiento.

El LLM no ejecuta código directamente. Razona sobre qué hacer y decide qué herramientas usar. Es el "cerebro" que analiza, planifica, y toma decisiones.

Las Tools: las manos

Las tools son las acciones concretas que Claude Code puede realizar en tu sistema. El LLM decide cuándo y cómo usarlas:

ToolQué hace
ReadLeer archivos de tu proyecto
WriteCrear o sobrescribir archivos
EditModificar secciones específicas de un archivo
BashEjecutar comandos en tu terminal (npm, git, python, etc.)
GlobBuscar archivos por patrón (ej: *.tsx)
GrepBuscar texto dentro de archivos
WebFetchObtener contenido de una URL específica
WebSearchBuscar en la web
AgentCrear subagentes con su propio context window para tareas delegadas
LSPInteligencia de código: ir a definiciones, encontrar referencias, reportar errores de tipo
MonitorStream de events en background — Claude puede tailear logs y reaccionar en vivo (abril 2026)
Computer UseControlar mouse/teclado/screen — abrir apps, navegar GUI, verificar cambios visualmente (Desktop marzo 2026, CLI abril 2026 research preview)

Esta tabla muestra las tools principales. Claude Code tiene 30+ tools en total, incluyendo herramientas para gestión de tareas, notebooks Jupyter, skills, y más. Cada tool es una acción atómica. Claude Code las combina para realizar tareas complejas: leer un archivo, entender su estructura, hacer un cambio, ejecutar los tests, verificar que pasan, y hacer commit.

Nota sobre Computer Use: Anteriormente Computer Use vivía solo en Claude Cowork. En marzo-abril 2026 se expandió a Claude Code Desktop (GA) y CLI (research preview). Permite a Claude abrir apps nativas, hacer clic en UI, y verificar cambios visualmente — útil para automatizar apps sin API, verificar flujos end-to-end, o drive herramientas solo-GUI.

La Terminal (y otras interfaces): donde interactúas

Tu terminal es la interfaz original de Claude Code. Tú escribes prompts en lenguaje natural. Claude Code responde con texto, código, y acciones. Es la misma terminal donde ejecutas git, npm, python — Claude Code opera en el mismo entorno.

# Tú abres Claude Code en tu directorio de proyecto
cd my-project
claude

# Tú escribes un prompt
> Encuentra el bug en la función de autenticación y corrígelo

# Claude Code:
# 1. Lee los archivos relevantes (auth.ts, middleware.ts, etc.)
# 2. Analiza el código
# 3. Identifica el bug
# 4. Propone un fix
# 5. Te pide permiso para aplicarlo
# 6. Edita el archivo
# 7. Ejecuta los tests para verificar

Pero la terminal no es la única forma de usar Claude Code. Actualmente está disponible en 5 plataformas:

PlataformaDescripción
CLI (terminal)La interfaz original. Máxima flexibilidad y control.
VS Code extensionIntegrado directamente en VS Code como panel lateral.
JetBrains extensionPara usuarios de IntelliJ, WebStorm, PyCharm, etc.
Desktop appAplicación nativa para Mac y Windows.
Web app (claude.ai/code)Acceso desde el navegador sin instalación local.

Todas las plataformas comparten el mismo motor agéntico, las mismas tools, y el mismo sistema de CLAUDE.md. La diferencia es la interfaz, no la capacidad. En esta guía nos enfocamos en la CLI porque es la más flexible y la que te da el mayor control sobre el agente.


El Loop Agéntico

Cuando le das un prompt a Claude Code, se activa un ciclo que se repite hasta completar la tarea:

┌──────────────────────────────────────────────┐
│              EL LOOP AGÉNTICO                │
│                                              │
│  1. PROMPT ─── Tú das una instrucción        │
│       │                                      │
│  2. LECTURA ── Claude lee archivos           │
│       │        relevantes de tu proyecto     │
│       │                                      │
│  3. RAZONAMIENTO ── Claude analiza,          │
│       │              planifica, decide       │
│       │                                      │
│  4. ACCIÓN ──── Claude propone acciones:     │
│       │         editar archivo, ejecutar     │
│       │         comando, crear archivo...    │
│       │                                      │
│  5. PERMISO ── Tú apruebas o rechazas       │
│       │                                      │
│  6. EJECUCIÓN ── Claude ejecuta la acción    │
│       │                                      │
│  7. VERIFICACIÓN ── ¿Se completó la tarea?   │
│       │                                      │
│  ┌────┴───┐                                  │
│  │ ¿Listo? │                                 │
│  └────┬───┘                                  │
│   No  │  Sí                                  │
│   │   └──── Resultado final                  │
│   │                                          │
│   └──── Vuelve al paso 2 (itera)            │
│                                              │
└──────────────────────────────────────────────┘

Paso 1: Prompt

Tú das una instrucción en lenguaje natural. Puede ser tan general como "mejora la performance de esta app" o tan específica como "cambia el color del botón de submit a #3B82F6 en Header.tsx".

Paso 2: Lectura

Claude Code lee archivos de tu proyecto para entender el contexto. No lee todo el codebase a ciegas — usa heurísticas para decidir qué archivos son relevantes. Si le pides arreglar un bug en la autenticación, busca archivos relacionados con auth, middleware, login, etc.

Paso 3: Razonamiento

El LLM analiza el contexto (tu prompt + los archivos que leyó) y planifica qué hacer. Este paso es invisible para ti — pero es donde ocurre el "pensamiento" del agente. A mayor esfuerzo de razonamiento (controlado por /effort), más profundo es este análisis.

Paso 4: Acción

Claude Code propone una o más acciones concretas: editar un archivo, crear uno nuevo, ejecutar un comando. Te muestra exactamente qué va a hacer antes de hacerlo.

Paso 5: Permiso

Por defecto, Claude Code te pide aprobación antes de ejecutar acciones que modifican tu sistema. Esto incluye escribir archivos y ejecutar comandos en la terminal. Tú puedes aprobar, rechazar, o modificar la acción propuesta.

Paso 6: Ejecución

Una vez aprobada, Claude Code ejecuta la acción en tu sistema real. El archivo se edita, el comando se ejecuta, el test corre.

Paso 7: Verificación e iteración

Claude Code evalúa el resultado. Si el cambio introdujo un error (un test falla, un lint warning aparece), vuelve al paso 2 y corrige. Este ciclo de iteración es lo que hace que un agente sea diferente de un generador de código: no solo produce — verifica y corrige.


Qué Claude Code PUEDE Hacer

Lectura y análisis

  • Leer cualquier archivo de tu proyecto (código, configs, markdown, JSON, etc.)
  • Buscar patterns en tu codebase (grep, glob, regex)
  • Analizar la estructura del proyecto (directorios, dependencias, imports)
  • Entender relaciones entre archivos (quién importa qué, dónde se usa cada función)

Escritura y edición

  • Crear archivos nuevos (código, tests, configs, documentación)
  • Editar archivos existentes con cambios precisos (no reescribe todo, modifica lo necesario)
  • Refactoring multi-archivo (renombrar una función y actualizar todos los imports)
  • Generar boilerplate (componentes, rutas, modelos, migraciones)

Ejecución de comandos

  • npm/yarn/pnpm: Instalar dependencias, ejecutar scripts, build
  • git: Add, commit, push, crear branches, resolver conflictos
  • python: Ejecutar scripts, tests, instalar paquetes con pip
  • Tests: Ejecutar suites de testing (pytest, jest, vitest, etc.)
  • Linters/formatters: Ejecutar eslint, prettier, black, ruff
  • Docker: Build, run, compose
  • Cualquier comando que puedas ejecutar en tu terminal

Creación de contenido

  • Generar tests para código existente
  • Escribir documentación (README, docstrings, comments)
  • Crear configuraciones (tsconfig, eslint, Docker, CI/CD)

Ejemplo básico

> Crea un componente React llamado UserCard que reciba nombre y email como props

Claude Code:
1. Lee la estructura del proyecto para entender convenciones
2. Identifica si usas TypeScript o JavaScript
3. Detecta el estilo de componentes existentes (functional, class, hooks)
4. Crea el archivo UserCard.tsx con el componente
5. Agrega tipos si el proyecto usa TypeScript
6. Sigue las convenciones que detectó

Ejemplo intermedio

> El endpoint /api/users devuelve 500 cuando el usuario no existe. 
> Debería devolver 404. Arréglalo y agrega un test.

Claude Code:
1. Busca archivos relacionados con /api/users (routes, controllers, handlers)
2. Lee el código del endpoint
3. Identifica dónde falla (no hay manejo de "not found")
4. Edita el handler para devolver 404 cuando el usuario no existe
5. Lee los tests existentes para entender el patrón
6. Crea un test nuevo que verifica el 404
7. Ejecuta los tests para confirmar que pasan
8. Te muestra el resultado

Qué Claude Code NO PUEDE Hacer

Conocer los límites es tan importante como conocer las capacidades.

No tiene memoria conversacional entre sesiones

Cada sesión nueva empieza con un context window limpio. Claude Code no recuerda el historial de conversación de sesiones anteriores.

Mitigación: Claude Code tiene dos sistemas de memoria persistente que compensan esto: (1) CLAUDE.md — instrucciones que tú escribes sobre tu proyecto, y (2) Auto memory — notas que Claude escribe automáticamente mientras trabajas (comandos de build, patrones de debugging, tus preferencias). Ambos se cargan al inicio de cada sesión. También puedes retomar sesiones anteriores con claude --continue o claude --resume. Se cubre en profundidad en el Módulo 03.

No accede a servicios externos sin configuración

Claude Code no puede acceder a tu base de datos, tu API en producción, o servicios externos a menos que configures las herramientas necesarias (MCP servers, Módulo 07).

No actúa sin permiso (por defecto)

El modelo de permisos de Claude Code está diseñado para que tú mantengas el control. Por defecto, te pide aprobación antes de modificar archivos o ejecutar comandos. Puedes relajar esto con configuración (Módulo 05), pero el default es seguro.

No accede a archivos fuera del proyecto (por defecto)

Claude Code opera dentro del directorio donde lo ejecutas. No va a leer archivos de otros proyectos ni del sistema a menos que se lo permitas explícitamente.

No es infalible

Claude Code se equivoca. Puede generar código con bugs. Puede malinterpretar tu intención. Puede proponer soluciones subóptimas. Tu rol como developer es supervisar, evaluar, y corregir cuando sea necesario. Es pair-programming, no piloto automático.

No reemplaza el entendimiento

Si no entiendes el código que Claude Code produce, no deberías aceptarlo. Si no puedes evaluar si una solución es correcta, necesitas aprender más sobre el dominio antes de delegar. Claude Code amplifica tu capacidad — no la sustituye.


El Context Window

El context window es la cantidad de información que Claude Code puede "ver" y procesar simultáneamente. Es la memoria de trabajo del agente.

┌─────────────────────────────────────────────┐
│           CONTEXT WINDOW                     │
│                                             │
│  ┌────────────────────────────────────────┐  │
│  │  Tu prompt                            │  │
│  │  + Archivos leídos                    │  │
│  │  + Resultados de comandos             │  │
│  │  + Historial de la conversación       │  │
│  │  + CLAUDE.md (si existe)              │  │
│  │  + Respuestas anteriores              │  │
│  │                                       │  │
│  │  TODO esto debe caber en la ventana   │  │
│  └────────────────────────────────────────┘  │
│                                             │
│  Opus 5:     ████████████████  1M tokens    │
│  Sonnet 5:   ████████████████  1M tokens    │
│  Haiku 4.5:  ████             200K tokens   │
│                                             │
└─────────────────────────────────────────────┘

Tamaños de contexto

ModeloContext windowEn términos prácticos
Opus 51M tokens~750K palabras
Sonnet 51M tokens~750K palabras
Haiku 4.5200K tokens~150K palabras

¿Qué es un token?

Un token es aproximadamente 3/4 de una palabra en inglés, o ~4 caracteres. El código tiende a ser más "denso" en tokens que el texto natural debido a la sintaxis.

"Hello world"       → ~2 tokens
"console.log('hi')" → ~5 tokens
Un archivo de 100 líneas → ~500-1500 tokens (varía)

Qué pasa cuando se llena

Cuando el context window se llena, Claude Code usa compaction — un proceso que resume el historial de la conversación para liberar espacio. No pierdes el contexto por completo, pero el detalle se reduce. Esto se cubre en profundidad en el Módulo 04.

Implicación práctica

Con Opus 5 y Sonnet 5, ambos con ventana de 1M tokens, puedes analizar codebases completos de tamaño mediano sin preocuparte por el límite. Con Haiku 4.5 a 200K tokens, necesitas ser más selectivo sobre qué archivos incluir en el contexto. Nota: la disponibilidad del contexto de 1M depende del plan — en algunos planes requiere configuración adicional (se cubre en Módulo 02).


El Modelo de Tool Use

Claude Code no elige herramientas al azar. El LLM analiza tu prompt y decide qué tools necesita para completar la tarea:

Prompt: "¿Qué archivos hay en src/?"
→ Tool: Bash (ls src/)

Prompt: "Encuentra todas las funciones que usan fetch"
→ Tool: Grep (pattern: "fetch", directory: src/)

Prompt: "Arregla el typo en el README"
→ Tool: Read (README.md) → Edit (README.md)

Prompt: "Instala express y crea un servidor básico"
→ Tool: Bash (npm install express)
→ Tool: Write (server.js)

Prompt: "Refactoriza UserService para usar async/await"
→ Tool: Read (UserService.ts)
→ Tool: Read (archivos que importan UserService)
→ Tool: Edit (UserService.ts)
→ Tool: Edit (archivos que importan UserService)
→ Tool: Bash (npm test)

El LLM decide la secuencia de tools dinámicamente. No sigue un script — evalúa el resultado de cada tool y decide el siguiente paso.


El Modelo de Permisos

Claude Code pide permiso antes de actuar. Esto es un feature de seguridad fundamental.

Acciones que requieren permiso

Escribir/editar archivos     → "¿Puedo modificar auth.ts?"
Ejecutar comandos shell      → "¿Puedo ejecutar npm test?"
Crear archivos nuevos        → "¿Puedo crear UserCard.tsx?"
Eliminar archivos            → "¿Puedo eliminar temp.js?"

Modos de permiso

Claude Code tiene varios modos que controlan cuánta aprobación necesita. Puedes ciclar entre ellos con Shift+Tab:

ModoComportamiento
DefaultPide permiso para ediciones de archivos y comandos shell
Auto-accept editsAcepta ediciones automáticamente, sigue pidiendo para comandos
Plan modeSolo lectura — Claude analiza pero no modifica nada
Auto modeAuto-aprueba con verificaciones de seguridad en background (research preview)

Opciones al recibir una petición de permiso

y (yes)           → Aprobar esta acción
n (no)            → Rechazar esta acción
a (always allow)  → Aprobar esta acción y todas las similares en esta sesión

Checkpoints: deshaciendo cambios

Cada edición de archivo es reversible. Antes de editar cualquier archivo, Claude Code toma un snapshot del estado actual. Si algo sale mal, puedes presionar Esc dos veces para revertir a un estado anterior, o pedirle a Claude que deshaga los cambios. Los checkpoints son locales a tu sesión y separados de git.

Ejemplo en práctica

> Formatea todos los archivos TypeScript con Prettier

Claude Code:
"Voy a ejecutar: npx prettier --write 'src/**/*.ts'"
Allow? [y/n/a]

> y

Running: npx prettier --write 'src/**/*.ts'
✓ 23 files formatted

Personalización del modelo de permisos

En el Módulo 05 aprenderás a configurar el permission system para automatizar aprobaciones en contextos de confianza (ej: permitir siempre ejecutar tests, pero siempre pedir permiso para delete). También puedes configurar reglas específicas por tool en .claude/settings.json.


Comparación: Claude Code vs un Developer Humano

AspectoClaude CodeDeveloper humano
Velocidad de lecturaLee 1000 archivos en segundosLee 1 archivo por vez
Velocidad de escrituraGenera código en segundosEscribe línea por línea
Contexto simultáneoHasta 1M tokens~7 items en memoria de trabajo
ConsistenciaAplica convenciones uniformementePuede olvidar o variar
CreatividadPatrones aprendidosInsight y experiencia
JuicioProbabilísticoBasado en experiencia real
Conocimiento del dominioAmplio pero superficialProfundo en su área
DepuraciónBusca patterns y errores comunesIntuición y experiencia
FatigaNo se cansaSe cansa y comete más errores
ResponsabilidadNingunaTotal

La conclusión no es "Claude Code es mejor" o "un humano es mejor". Es: la combinación de ambos es más poderosa que cualquiera solo. Claude Code aporta velocidad, amplitud, y consistencia. Tú aportas juicio, experiencia, y responsabilidad.


El Paradigma "Agéntico"

Autocomplete (Copilot)

Tú escribes:  function calculateTax(
Copilot sugiere: amount) { return amount * 0.21; }

→ Reactivo: sugiere DESPUÉS de que tú empiezas
→ Scope: la línea actual o la función actual
→ Sin contexto del proyecto completo
→ Sin ejecución

Chat (ChatGPT)

Tú preguntas: "¿Cómo hago autenticación con JWT en Express?"
ChatGPT responde: "Aquí tienes un ejemplo..."

→ Genera texto sobre código
→ No ve tu proyecto
→ No ejecuta nada
→ Tú copias y adaptas manualmente

Agente (Claude Code)

Tú dices: "Implementa autenticación con JWT en mi API Express"
Claude Code:
  1. Lee tu codebase (rutas, modelos, middleware)
  2. Analiza la estructura existente
  3. Diseña la implementación
  4. Instala dependencias (jsonwebtoken, bcrypt)
  5. Crea el middleware de auth
  6. Modifica las rutas protegidas
  7. Genera tests
  8. Ejecuta los tests
  9. Todo pasa → listo

→ Proactivo: explora, planifica, ejecuta
→ Scope: todo el codebase
→ Contexto completo del proyecto
→ Ejecuta y verifica en tu entorno real

La diferencia es fundamental: un agente no genera código — construye software. Lee tu proyecto real, opera en tu entorno real, y produce cambios que funcionan en tu sistema real.


Patterns Comunes

Pattern 1: Exploración de codebase nuevo

> Analiza este proyecto. ¿Qué tecnologías usa, cuál es la 
> estructura, y cuáles son los principales componentes?

Claude Code lee los archivos clave (package.json, estructura de
directorios, archivos principales) y te da un resumen estructurado.

Pattern 2: Bug fix con contexto

> El endpoint POST /api/orders devuelve 500 cuando items es un 
> array vacío. Encuentra el bug y arréglalo.

Claude Code busca el handler, lee el código, identifica que no 
valida arrays vacíos, agrega la validación, y ejecuta tests.

Pattern 3: Refactoring multi-archivo

> Renombra la función getUser a fetchUserById en todo el proyecto.

Claude Code busca todos los usos, actualiza cada archivo, verifica
imports, y ejecuta tests para confirmar que nada se rompió.

Pattern 4: Generación de tests

> Genera tests unitarios para src/services/PaymentService.ts

Claude Code lee el servicio, entiende los métodos y sus 
signatures, genera tests con mocks apropiados, y los ejecuta.

Pitfalls y Edge Cases

Pitfall 1: Tratar a Claude Code como chatbot

Malo:
> ¿Cómo se hace un for loop en Python?

Mejor:
> Refactoriza processItems() para usar list comprehension 
> en lugar del for loop actual

Claude Code brilla cuando opera en tu código real, no cuando explica conceptos genéricos.

Pitfall 2: Prompts ambiguos

Malo:
> Mejora este código

Mejor:
> Optimiza la función searchUsers en users.ts: 
> está haciendo N+1 queries a la base de datos

Mientras más específico tu prompt, mejor el resultado.

Pitfall 3: No verificar los cambios

Claude Code se equivoca. No aceptes cambios a ciegas:

  • Lee los diffs que propone
  • Ejecuta los tests
  • Verifica que el comportamiento es el esperado

Pitfall 4: Ignorar el context window

Si llevas muchas interacciones en una sesión, el contexto se llena y se compacta. La calidad de las respuestas puede degradarse. A veces, iniciar una sesión nueva es la mejor opción.

Pitfall 5: Esperar perfección

Claude Code es una herramienta probabilística. Produce resultados que son correctos la mayoría del tiempo, pero no siempre. Tu rol es supervisar, no confiar ciegamente.


Ejemplo Completo Integrado

Escenario: Agregar un endpoint nuevo a una API Express existente

> Agrega un endpoint GET /api/products/:id que devuelva un 
> producto por ID. Si no existe, devuelve 404. Incluye 
> validación del ID y un test.

Lo que hace Claude Code (paso a paso):

1. LECTURA
   → Lee package.json (confirma Express + TypeScript)
   → Lee src/routes/ (entiende el patrón de rutas)
   → Lee src/models/Product.ts (entiende el modelo)
   → Lee src/controllers/ (entiende el patrón de controllers)
   → Lee tests/ (entiende el patrón de tests)

2. RAZONAMIENTO
   → "El proyecto usa Express + TypeScript"
   → "Las rutas están en src/routes/, usan controllers separados"
   → "Necesito: ruta, controller, validación de ID, test"
   → "El ID debe ser un número válido (validación)"

3. ACCIÓN — Crear el controller
   → Escribe src/controllers/productController.ts
   → Implementa getProductById con validación y manejo de 404

4. ACCIÓN — Agregar la ruta
   → Edita src/routes/products.ts
   → Agrega router.get('/:id', getProductById)

5. ACCIÓN — Crear el test
   → Escribe tests/products.test.ts
   → Tests: producto encontrado (200), no encontrado (404), 
     ID inválido (400)

6. EJECUCIÓN
   → Ejecuta npm test
   → Los 3 tests pasan ✓

7. RESULTADO
   → "Listo. Agregué GET /api/products/:id con validación y 
   → tests. Los 3 tests pasan."

Este es el loop agéntico en acción: lectura → razonamiento → acción → verificación → resultado.


Ejercicios Prácticos

Ejercicio 1: Identifica los componentes

Dado el siguiente escenario, identifica qué componente de la arquitectura (LLM, Tools, Terminal) está actuando en cada paso:

1. Le dices a Claude Code: "Lista todos los archivos .py en src/"
2. Claude Code ejecuta un comando para listar archivos
3. Claude Code analiza el resultado y te lo presenta organizado
Solución
  1. Terminal — tú ingresas el prompt a través de la interfaz de terminal
  2. Tools — Claude Code usa la tool Bash (o Glob) para listar archivos. El LLM decidió que esa era la tool correcta.
  3. LLM — analiza el output crudo del comando y lo organiza en una respuesta legible. La respuesta se muestra a través de la Terminal.

Cada interacción involucra las tres capas: la terminal como interfaz, el LLM como cerebro que decide y comunica, y las tools como manos que ejecutan.

Ejercicio 2: Predice el comportamiento

Para cada prompt, predice qué tools usaría Claude Code y en qué orden:

  1. "¿Qué hace la función calculateTotal en utils.ts?"
  2. "Instala lodash y úsalo en helpers.ts para deep clone"
  3. "Encuentra todos los console.log en el proyecto y elimínalos"
Solución

Prompt 1: "¿Qué hace la función calculateTotal en utils.ts?"

  • Tool 1: Read (utils.ts) — lee el archivo
  • El LLM analiza la función y te explica
  • No se necesitan más tools — es una pregunta de lectura

Prompt 2: "Instala lodash y úsalo en helpers.ts para deep clone"

  • Tool 1: Bash (npm install lodash) — instala la dependencia
  • Tool 2: Read (helpers.ts) — lee el archivo actual
  • Tool 3: Edit (helpers.ts) — agrega el import y el uso de _.cloneDeep

Prompt 3: "Encuentra todos los console.log en el proyecto y elimínalos"

  • Tool 1: Grep (pattern: console.log, directory: proyecto) — encuentra ocurrencias
  • Tool 2-N: Edit (cada archivo con console.log) — elimina cada ocurrencia
  • Tool final: Bash (npm test o lint) — verifica que nada se rompió

Ejercicio 3: Capacidades vs limitaciones

Clasifica cada tarea como "Claude Code PUEDE hacer esto" o "Claude Code NO puede hacer esto (sin configuración adicional)":

  1. Leer un archivo CSV en tu proyecto y analizarlo
  2. Conectarse a tu base de datos PostgreSQL en producción
  3. Crear un branch de git y hacer push
  4. Recordar lo que hiciste en la sesión de ayer
  5. Ejecutar un script de Python que usa requests
  6. Acceder a la API de Slack de tu empresa
Solución
  1. PUEDE — Read tool lee el archivo, el LLM lo analiza
  2. NO PUEDE (sin configuración) — necesita un MCP server o acceso directo configurado
  3. PUEDE — usa Bash tool para ejecutar comandos de git
  4. PARCIALMENTE — no recuerda la conversación exacta, pero sí puede retener aprendizajes entre sesiones vía auto memory y CLAUDE.md. También puedes retomar sesiones con claude --resume. Se cubre en Módulo 03.
  5. PUEDE — usa Bash tool para ejecutar python script.py
  6. NO PUEDE (sin configuración) — necesita un MCP server para Slack o credenciales configuradas

La regla general: si puedes hacerlo desde tu terminal con un comando, Claude Code puede hacerlo. Si requiere acceso a servicios externos, necesita configuración adicional.

Ejercicio 4: Context window en práctica

Tu proyecto tiene 500 archivos TypeScript, cada uno con ~200 líneas. Calcula:

  1. ¿Cuántos tokens aproximados tiene tu codebase?
  2. ¿Cabe completo en Opus 5 o Sonnet 5 (1M tokens)?
  3. ¿Cabe completo en Haiku 4.5 (200K tokens)?
Solución

Cálculo:

  • 500 archivos × 200 líneas = 100,000 líneas de código
  • ~10 tokens por línea (promedio para TypeScript)
  • 100,000 × 10 = ~1,000,000 tokens

Respuestas:

  1. ~1M tokens (estimado)
  2. Justo en el límite de Opus 5 y Sonnet 5 (ambos 1M). Cabrá la mayoría, pero hay que considerar que el context window también necesita espacio para el prompt, el historial de conversación, y las respuestas.
  3. No cabe en Haiku 4.5 (200K). Necesitarías ser selectivo sobre qué archivos incluir.

Implicación práctica: Para codebases grandes, la selección de modelo importa. Opus 5 y Sonnet 5 (ambos 1M) pueden manejar la mayoría de proyectos reales. Haiku 4.5 (200K) requiere que Claude Code sea selectivo en qué lee — y lo es, porque no lee todo a ciegas sino lo relevante al prompt.

Ejercicio 5: Loop agéntico en acción

Describe los pasos del loop agéntico que seguiría Claude Code para este prompt:

"El build está fallando. Diagnostica y arregla."
Solución
  1. PROMPT: "El build está fallando. Diagnostica y arregla."
  2. LECTURA: Lee package.json para entender el build command. Lee archivos de configuración (tsconfig, webpack, vite, etc.)
  3. ACCIÓN: Ejecuta el build command (npm run build) para ver el error exacto
  4. RAZONAMIENTO: Analiza el output del error. Identifica el archivo y la línea del problema.
  5. LECTURA: Lee el archivo donde ocurre el error
  6. RAZONAMIENTO: Determina la causa raíz (type error, import faltante, syntax error, etc.)
  7. ACCIÓN: Edita el archivo para corregir el error
  8. VERIFICACIÓN: Ejecuta npm run build de nuevo
  9. ITERACIÓN: Si hay más errores, repite desde el paso 4. Si el build pasa, reporta éxito.

El punto clave: Claude Code no adivina la solución — ejecuta el build, lee el error real, y trabaja con información concreta.


Resumen

  • Arquitectura: Claude Code = LLM (cerebro) + Tools (manos) + Terminal (interfaz)
  • LLM: Opus 5 (1M tokens, razonamiento profundo), Sonnet 5 (1M tokens, balance velocidad/inteligencia), o Haiku 4.5 (200K tokens, el más rápido y económico)
  • Tools: Read, Write, Edit, Bash, Glob, Grep, WebFetch, WebSearch, Agent, LSP, y 20+ más — acciones concretas en tu sistema
  • Loop agéntico: Prompt → Lectura → Razonamiento → Acción → Permiso → Ejecución → Verificación → Iteración
  • Puede: Leer/escribir archivos, ejecutar comandos, buscar patterns, git, tests, cualquier cosa que hagas en terminal
  • No puede: Recordar conversaciones entre sesiones (pero tiene auto memory para aprendizajes), acceder a servicios externos sin configuración, actuar sin permiso, ser infalible
  • Context window: Opus 1M tokens, Sonnet 1M tokens, Haiku 200K tokens — determina cuánto puede "ver" a la vez
  • Permisos: Claude Code pide aprobación antes de modificar tu sistema
  • Paradigma agéntico: No genera texto sobre código — opera en tu código real, en tu sistema real
  • Tu rol: Supervisar, evaluar, corregir. Claude Code amplifica tu capacidad, no la sustituye.

Siguiente cápsula: 03 - Landscape de AI coding tools — cómo se compara Claude Code con Cursor, Copilot, Cline, y otras herramientas. Y cuándo usar cada una.


Recursos Adicionales

  1. How Claude Code Works — Loop agéntico, tools, y cómo interactúa con tu proyecto
  2. Tools Reference — Lista completa de tools disponibles y permisos requeridos
  3. Configure Permissions — Sistema de permisos, modos, y reglas de configuración
  4. Model Configuration — Modelos disponibles, aliases, effort levels, y contexto extendido
  5. Explore the Context Window — Simulación interactiva de cómo se llena el context window
  6. Claude Code Best Practices — Patrones recomendados para uso efectivo
  7. Building Effective Agents — Anthropic Blog — Paper sobre patrones de diseño para agentes de IA