Yeda AI Tips · #150

English

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:

  1. Lista lo que cambió. Lee el diff y anota cada símbolo renombrado, retipado o con firma modificada.
  2. Encuentra a sus llamadores. Busca en todo el repositorio quién importa o invoca a cada uno.
  3. 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 diceLos llamadores te dicen
Qué cambióQué se rompe
Que las pruebas locales pasanSi los consumidores aún compilan
La intención del autorEl 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

Recursos

¿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.

Hablemos · Lee el blog