Un agente optimiza para que el mensaje de error desaparezca, y eso no es lo mismo que arreglar la causa. Si el fallo real está tres capas por debajo, la forma más rápida de que el mensaje se calle es poner un parche justo donde aparece: una comprobación que evite que llegue el valor vacío, un dato de relleno, una condición que salte el trozo problemático. El error desaparece, la causa sigue ahí, y ahora está tapada por una capa más de código.
Repite eso quince veces y tienes el resultado que estás viendo. Cada intento añade código que existe solo para compensar el intento anterior, y llega un punto en que los parches interfieren entre sí. Ahí es cuando empiezan a aparecer errores nuevos en sitios que funcionaban: no es mala suerte, es la consecuencia acumulada.
Y hay un límite técnico que nadie te cuenta: el agente no ve tu proyecto entero a la vez. Trabaja con la parte que le cabe en la cabeza en cada momento. Cuando el problema nace de cómo se relacionan dos partes que nunca ha mirado juntas, puede intentarlo mil veces y no dar con él, porque la respuesta no está en ninguno de los sitios donde está buscando.
Por eso el bucle no se rompe insistiendo. Cada intento adicional cuesta créditos y empeora un poco el código, y la probabilidad de acertar no sube: son tiradas del mismo dado.