El bug de un PR generado por IA vive en quienes lo llaman
El bug de un PR generado por IA casi nunca está en el diff. Está en los llamadores. El diff se ve razonable a nivel local y las pruebas pasan, así que lo apruebas — y entonces una firma modificada o un tipo más restringido rompe a un consumidor tres archivos más allá que el diff nunca te puso enfrente.
Por qué los PR de IA fallan así
Un agente optimiza para la tarea que le entregaste: hacer que esta función sea correcta, poner estas pruebas en verde. Edita dentro de una ventana y se detiene. Lo que rara vez hace por su cuenta es enumerar cada lugar que depende de lo que acaba de cambiar. Así que el cambio es correcto donde estás mirando e incorrecto donde no.
Los datos lo confirman. En el análisis de 2025 de CodeRabbit sobre cientos de miles de pull requests, los PR asistidos por IA arrojaron 10.83 hallazgos en promedio frente a 6.45 de los escritos por humanos — cerca de 1.7 veces más problemas — con aproximadamente 75% más hallazgos de lógica y corrección y errores de algoritmo o lógica de negocio apareciendo más del doble de seguido. "Verde pero globalmente roto" no es un caso raro; es el modo de falla típico de un PR de IA.
Acota tu revisión al radio de impacto
La solución es una disciplina, no una herramienta. Por cada símbolo que el PR cambia — una función, un tipo, una constante, un nombre exportado — haz tres cosas:
- Lista lo que cambió. Lee el diff y anota cada símbolo renombrado, retipado o con firma modificada.
- Encuentra a sus llamadores. Busca en todo el repositorio quién importa o invoca a cada uno.
- Confirma que siguen válidos. Abre cada sitio de llamada y verifica que la nueva firma, tipo o contrato aún lo satisface.
| El diff te dice | Los llamadores te dicen |
|---|---|
| Qué cambió | Qué se rompe |
| Que las pruebas locales pasan | Si los consumidores aún compilan |
| La intención del autor | El radio de impacto real |
Encuentra a los llamadores rápido
git grep es la forma más rápida de enumerar las referencias de un símbolo en todo el árbol. Busca en el árbol de trabajo, el índice o cualquier commit:
# Cada referencia al símbolo modificado
git grep -n "processOrder"
# Solo coincidencias de palabra completa, con la función que la contiene como contexto
git grep -nW -w "processOrder"
-n antepone los números de línea, -w coincide solo en los límites de palabra (para que processOrder no golpee también a processOrders) y -W (--function-context) imprime la función completa donde vive cada coincidencia, así lees la llamada en contexto y no una línea suelta.
Movidas de nivel avanzado
- Deja que el verificador de tipos recorra el grafo por ti. En un lenguaje tipado, una firma modificada que rompe a un llamador es un error de compilación, no una prueba que olvidaste escribir. Corre el chequeo de tipos de todo el proyecto (
tsc --noEmit,mypy,cargo check) antes de confiar en las pruebas unitarias en verde — visita cada llamador, que es exactamente el conjunto que el diff oculta. - Pídele al agente que enumere su propio radio de impacto. Antes de revisar, indícale: "Lista cada sitio de llamada de cada símbolo que cambiaste y confirma que cada uno aún pasa el chequeo de tipos." Conviertes el paso silencioso en un artefacto que puedes auditar.
- Prefiere herramientas de revisión de repositorio completo para cambios entre archivos. Las herramientas de revisión por diff de líneas solo ven el fragmento; los revisores que indexan la base de código razonan entre archivos y detectan desajustes de firma que abarcan varios módulos. Ajusta la herramienta al cambio: un arreglo autocontenido y un refactor amplio requieren distinto nivel de escrutinio.
Recursos
- git grep — documentación oficial — las banderas
-n,-wy-W/--function-context. - Informe de CodeRabbit sobre PR asistidos por IA (Help Net Security) — los números de 10.83 frente a 6.45 hallazgos y 75% más errores de lógica.
- Cómo reviso los PR generados por IA: una lista de verificación paso a paso — saltar a la definición y chequeos de firma entre archivos.
- Revisando código generado por IA: distintos PR necesitan distintos patrones — escalar el escrutinio de la revisión al alcance del cambio.
¿Llevando a producción código escrito por IA? Yeda AI diseña, audita y refuerza flujos de trabajo agénticos para que "verde" realmente signifique seguro.