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 autocorregirse mediante comandos y hooks personalizados. Al implementar un protocolo de clasificación de errores, el agente puede diagnosticar y reparar sus propias fallas de código de manera autónoma.

Claude escribe código, una prueba falla, y te devuelve el error para que lo resuelvas.

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

Lo configuras una vez y dejas de ser el depurador gratuito de tu agente.

Aquí tienes la configuración completa que necesitas 👇

Antes de profundizar, 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. Una prueba falla, reporta el error y espera. Tú lo lees, lo pegas de nuevo, le dices que lo intente otra vez. Estás haciendo la depuración, él solo escribe.

Un agente auto-corrector invierte eso. Lee su propio fallo, determina qué tipo de error es, corrige esa causa y vuelve a ejecutar, igual que 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: Ejecuta una tarea y se auto-corrige hasta que todas las pruebas 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 el conjunto de pruebas: `npm test` (o pytest, cargo test).
133. Si todas las pruebas pasan: detente y muéstrame el resultado.
144. Si una prueba falla: clasifica el tipo de error, nombra la causa raíz,
15 corrige 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 el punto clave. Diagnóstico antes
19de editar, en cada ronda. Nunca debilites una prueba para que pase, corrige el código.

Escribes /fix añadir paginación al endpoint de usuarios y el agente escribe, prueba y se repara 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 en .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 FAILING, fix before continuing'" }
8 ]
9 }
10 ]
11 }
12}

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

Un fallo aparece de inmediato, por lo que el agente lo corrige 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 "prueba falló" y empiezan a editar al azar.

Uno bueno lee primero 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 corregirlo
2
3Nombra siempre primero el tipo de error. Cada uno significa algo diferente:
4
5- Fallo de aserción (esperaba X, obtuve Y): la lógica está mal.
6 Rastrea desde la aserción hasta donde se construyó el valor.
7 Corrige el cálculo, no la expectativa de la prueba.
8
9- Error de tipo / undefined no es una función: un problema de forma.
10 Algo es null, o el tipo incorrecto llegó a esta línea.
11 Encuentra de dónde proviene ese valor, protégelo o corrígelo allí.
12
13- Timeout / bloqueo: 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 Corrige 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 pruebas dependientes del orden o tiempo/red sin simular.
21
22Regla: di en voz alta el tipo y la causa raíz en una oración
23antes de editar. Si no puedes nombrar la causa, estás adivinando. Detente.

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

Si lo omites, editará al azar hasta que desaparezca el rojo, que es como consigues una suite verde que está silenciosamente rota.

Lo que realmente ves

Escribes una línea:

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

Y luego trabaja por sí solo:

text
1Intento 1
2 ejecutó pruebas → FALLÓ
3 tipo: aserción (esperaba 5, obtuvo 11)
4 causa: tamaño de página no aplicado a la consulta
5 corrigió la cláusula LIMIT
6
7Intento 2
8 ejecutó pruebas → FALLÓ
9 tipo: error de tipo (offset no está definido)
10 causa: página 1 no envía offset, valor por defecto incorrecto
11 añadió offset = (página-1)*tamaño
12
13Intento 3
14 ejecutó pruebas → TODO VERDE (7/7)
15
16Arreglado en 3 intentos. ¿Revisar el diff?

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

Errores comunes

Corregir 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 corregir. La regla de clasificar primero es toda la defensa.

Tratar cada error 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 la prueba pase y deja el bug. El protocolo prohíbe silenciar errores precisamente por esta razón.

Dejar que debilite las pruebas. Un agente al que se le permite editar pruebas eventualmente eliminará la que falla para llegar al verde. Una suite que pasa pero no prueba nada es el peor resultado, así que esta regla es innegociable.

La configuración de 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 observa cómo trabaja la causa, intento por intento.

Dejas de ser el humano que retransmite errores. El agente lee su propio rojo y corrige 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