Bucles iterativos de autocorrección
Ejecute las pruebas, analice los fallos y pida al modelo que los corrija: el bucle interno de todo agente de código moderno.
Bucles iterativos de autocorrección es una lección gratuita de AI Agents en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de AI Agents, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de AI Agents incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
¿Por qué la autocorrección?
Los primeros intentos suelen fallar. La característica que define a un agente de código es su capacidad para:
- Ejecutar el código
- Leer el error
- Corregir el código
- Repetir
Este bucle interno es lo que distingue a los agentes de programación reales de las demostraciones de completado de texto.
The Loop
def code_until_pass(task, max_iters=10):
write_initial_code(task)
for i in range(max_iters):
result = run_tests()
if result.passed:
return 'success'
fix_prompt = f'Tests failed:\n{result.stderr}\nRead the code, identify the bug, and fix it with edit_file.'
agent.run(fix_prompt)
return 'gave up'Proporcione información útil
Un mensaje genérico como "tests failed" no permite actuar. Proporcione toda la salida de error, los stack traces y los valores esperados frente a los reales:
fix_prompt = f'''
The tests failed with this output:
FAILED tests/test_utils.py::test_add
AssertionError: expected 4, got 5
at line 42
Fix the code by editing the file.
'''Vuelva a leer antes de corregir de nuevo
Los modelos olvidan información. Oblíguelos a volver a leer el estado actual del archivo en cada iteración:
fix_prompt = 'First, read_file the failing module. Then edit it.'Detecte los fallos repetidos
Si la misma prueba falla durante 3 iteraciones seguidas con errores idénticos, el agente está atascado. Vuelva a planificar o escale el problema:
if same_error_count >= 3:
return 'stuck — replanning needed'Replan When Stuck
replan_prompt = f'''
The current approach is not working. The repeated error is:
{error}
Describe ONE alternative approach to solving the task.
'''Escale a un modelo más grande
Si un modelo económico se atasca, vuelva a enviar el MISMO prompt de corrección a un modelo más potente:
if iter > 3 and using_cheap_model:
switch_to_big_model()
# often unblocks 50% of stuck casesVerifique después de cada edición
No agrupe muchas ediciones para verificarlas después: resulta demasiado difícil atribuir los fallos. Edite una cosa, verifique y edite la siguiente.
Incluya la salida de las pruebas en el contexto
Conserve la salida reciente de las pruebas en el contexto del agente. Sin ella, el agente no sabe qué acaba de hacer:
messages.append({'role': 'tool', 'content': f'After your edit, tests now: {test_summary}'})Evite los bucles infinitos de "corrección"
Establezca un límite estricto de iteraciones. Si al llegar a MAX_ITERS la tarea no está terminada, escale el problema a una persona:
if iter == MAX_ITERS - 1:
notify_human(task, current_state, error_history)
breakRealice un seguimiento de las métricas de autocorrección
- Promedio de iteraciones hasta lograr el éxito
- Tareas que se abandonan al alcanzar max_iter
- Tareas que tienen éxito en 1 iteración frente a 5
Estas métricas impulsan las mejoras de los prompts y las herramientas.
Autocrítica sin pruebas
Para las tareas que no tienen un conjunto de pruebas claro, añada un paso de crítica: haga que el agente revise su propio diff antes de enviarlo:
critique_prompt = '''
Review your changes for:
- Off-by-one errors
- Missing error handling
- Breaking other tests
Return FIX LATER or DONE.
'''Entradas para la autocorrección
¿Cuál es la entrada más importante para el "bucle de corrección" de un agente?
Repaso
Ejecutar -> error -> corregir -> repetir. Proporcione errores concretos. Vuelva a leer antes de corregir de nuevo. Detecte los bloqueos. Escale a modelos más grandes o a personas cuando el agente se atasque.
Preguntas frecuentes
¿La lección «Bucles iterativos de autocorrección» es gratis?
Sí — el texto completo de «Bucles iterativos de autocorrección» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de AI Agents, actualiza a CoddyKit PRO. El curso de AI Agents incluye 4 lecciones en total.
¿Qué aprenderé en «Bucles iterativos de autocorrección»?
Ejecute las pruebas, analice los fallos y pida al modelo que los corrija: el bucle interno de todo agente de código moderno. Practicas AI Agents con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar AI Agents?
No se requiere experiencia previa. AI Agents en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Bucles iterativos de autocorrección»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de AI Agents?
Sí. Cada lección de AI Agents incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Patrones agénticos: planificar, ejecutar y verificar
- Interfaces de herramientas para programar (Read, Edit, Bash)
- Bucles iterativos de autocorrección
- Arquitecturas de SWE-Agent y OpenDevin