Cómo crear un agente de Claude Code que corrige sus propios errores en bucle (configuración exacta incluida)

@zodchiii
INGLÉShace 4 semanas · 17 jun 2026
143K
141
18
14
332

TL;DR

Esta guía ofrece una configuración completa para crear un agente de Claude Code capaz de autorrepararse mediante comandos y hooks personalizados. Al implementar un protocolo de clasificación de errores, el agente puede diagnosticar y reparar sus propios fallos de código de forma autónoma.

Claude escribe código, un test falla, y te devuelve el error para que lo resuelvas tú.

Un agente auto-corrector no hace eso: lee su propio fallo, repara la causa y vuelve a ejecutar hasta que todo esté en verde.

Configúralo una vez y dejas de ser el depurador no remunerado de tu agente.

Aquí tienes la configuración completa que necesitas 👇

Antes de sumergirnos, comparto notas diarias sobre IA y vibe coding en mi canal de Telegram: https://t.me/zodchixquant🧠

darkzodchi - inline image

Por qué una sola pasada no es suficiente

Por defecto, Claude ejecuta una tarea una vez. Un test falla, reporta el error y espera. Tú lo lees, lo pegas de nuevo, le dices que lo intente otra vez. Tú estás haciendo la depuración, él solo está escribiendo.

Un agente auto-corrector invierte eso. Lee su propio fallo, determina qué tipo de error es, repara la causa y vuelve a ejecutar, como piensa un depurador. Tú intervienes solo cuando pasa o se queda realmente atascado.

Archivo 1: el comando de corrección

Este es el bucle que realmente ejecutas. Colócalo en .claude/commands/fix.md:

yaml
1---
2description: Ejecutar una tarea y auto-corregir hasta que todos los tests pasen
3argument-hint: <tarea>
4allowed-tools: Read, Write, Edit, Glob, Grep, Bash
5model: sonnet
6---
7
8Tarea: $ARGUMENTS
9
10Bucle:
111. Implementa la tarea.
122. Ejecuta la suite de tests: `npm test` (o pytest, cargo test).
133. Si todos los tests pasan: detente y muéstrame el resultado.
144. Si un test falla: clasifica el tipo de error, nombra la causa raíz,
15 repara esa causa y luego vuelve al paso 2.
165. Límite de 5 intentos. Anuncia el número de intento en cada ronda.
17
18El orden de clasificar y luego corregir es todo el sentido. Diagnóstico antes
19de editar, cada ronda. Nunca debilites un test para que pase, repara el código.

Escribes /fix añadir paginación al endpoint de usuarios y el agente escribe, prueba y se repara a sí mismo hasta que la suite está en verde.

Archivo 2: el hook de verificación automática

El comando funciona bajo demanda. El hook hace que la auto-verificación sea automática en cada edición.

Añade a .claude/settings.json:

json
1{
2 "hooks": {
3 "PostToolUse": [
4 {
5 "matcher": "Write|Edit",
6 "hooks": [
7 { "type": "command", "command": "npm test --silent 2>&1 | tail -5 || echo 'TESTS FALLANDO, repara antes de continuar'" }
8 ]
9 }
10 ]
11 }
12}

Ahora, cada vez que Claude edita un archivo, los tests se ejecutan y el resultado vuelve a su vista.

Un fallo aparece de inmediato, así que el agente lo repara en el mismo flujo en lugar de seguir adelante y acumular más cambios sobre código roto.

Archivo 3: enséñale a leer el error

Este es el archivo que separa a un verdadero depurador de un adivinador. La mayoría de los agentes ven "test falló" y empiezan a editar al azar.

Uno bueno primero lee el tipo de error, porque cada tipo apunta a una causa diferente. Pon esto en CLAUDE.md:

markdown
1## Cómo leer un fallo antes de repararlo
2
3Nombra siempre primero el tipo de error. Cada uno significa algo diferente:
4
5- Error de aserción (se esperaba X, se obtuvo Y): la lógica está mal.
6 Rastrea hacia atrás desde la aserción hasta donde se construyó el valor.
7 Repara el cálculo, no la expectativa del test.
8
9- Error de tipo / undefined is not a function: un desajuste de forma.
10 Algo es null, o el tipo incorrecto llegó a esta línea.
11 Encuentra dónde se origina ese valor, protégelo o corrígelo allí.
12
13- Timeout / cuelgue: falta un await, o una promesa nunca se resuelve.
14 Busca llamadas asíncronas sin await, o una condición que nunca cambia.
15
16- Import / módulo no encontrado: un problema de ruta o dependencia, no de lógica.
17 Arregla la ruta o instala, no toques el código que lo usa.
18
19- Inestable (a veces pasa): estado compartido o temporización, nunca aleatorio.
20 Busca tests dependientes del orden o tiempo/red sin simular.
21
22Regla: enuncia el tipo y la causa raíz en una oración en voz alta
23antes de editar. Si no puedes nombrar la causa, estás adivinando. Para.

Un error de tipo y un fallo de aserción requieren movimientos opuestos: uno es un problema de forma de datos en origen, el otro es lógica incorrecta en el lugar. Clasifica primero y el agente repara lo correcto.

Sáltatelo y editará al azar hasta que el rojo desaparezca, que es como consigues una suite verde que está silenciosamente rota.

Lo que realmente ves

Escribes una línea:

text
1/fix el formateador de fechas devuelve zonas horarias incorrectas

Y luego trabaja solo:

text
1Intento 1
2 ejecutó tests → FALLÓ
3 tipo: aserción (se esperaba 5, se obtuvo 11)
4 causa: el tamaño de página no se aplicó a la consulta
5 reparé la cláusula LIMIT
6
7Intento 2
8 ejecutó tests → FALLÓ
9 tipo: error de tipo (offset is undefined)
10 causa: la página 1 no envía offset, valor por defecto incorrecto
11 añadí offset = (página-1)*tamaño
12
13Intento 3
14 ejecutó tests → TODO VERDE (7/7)
15
16Reparado en 3 intentos. ¿Reviso el diff?

Nunca pegaste un error de nuevo. Leyó sus propios fallos, nombró cada causa y reparó hasta que la suite pasó.

Errores comunes

Reparar antes de diagnosticar. El más grande. Un agente que edita antes de nombrar el tipo de error está adivinando, y adivinar vuelve el rojo verde por suerte, no por reparar. La regla de clasificar primero es toda la defensa.

Tratar todos los errores igual. Un timeout y un fallo de aserción no tienen nada en común, pero un agente sin la guía de tipos de error trata ambos como "algo está mal" y edita la línea más cercana. La mitad de tus correcciones caen en el archivo equivocado.

Parchear el síntoma. Envolver una llamada que lanza una excepción en try/catch hace que el test pase y deja el error. El protocolo prohíbe silenciar errores por esta misma razón.

Dejarlo debilitar tests. Un agente al que se le permite editar tests eventualmente eliminará el que falla para llegar al verde. Una suite que pasa pero no prueba nada es el peor resultado, así que esta regla es no negociable.

La configuración en 5 minutos

2 minutos: crea .claude/commands/fix.md.

1 minuto: añade el hook PostToolUse a settings.json.

1 minuto: añade el protocolo de auto-depuración a CLAUDE.md.

1 minuto: ejecuta /fix sobre un error conocido y mira cómo trabaja la causa, intento tras intento.

Dejas de ser el humano que retransmite errores. El agente lee su propio rojo y repara hasta que está en verde. No se volvió más inteligente, simplemente dejó de devolverte el problema.

¡Gracias por leer!

Comparto notas diarias sobre IA, finanzas y vibe coding en mi canal de Telegram: https://t.me/zodchixquant

darkzodchi - inline image
Guardar con un clic

Lee artículos virales en profundidad con IA en YouMind

Guarda la fuente, haz preguntas concretas, resume el argumento y convierte un artículo viral en notas reutilizables en un único espacio de trabajo con IA.

Explora YouMind
Para creadores

Convierte tu Markdown en un artículo de 𝕏 impecable

Cuando publicas tus propios textos largos, dar formato en 𝕏 a imágenes, tablas y bloques de código es un fastidio. YouMind convierte un borrador completo en Markdown en un artículo de 𝕏 impecable y listo para publicar.

Prueba Markdown a 𝕏

Más patrones por descifrar

Artículos virales recientes

Explorar más artículos virales