Ask HN: ¿Qué herramientas están usando para la revisión humana de código asistido por IA?

Ask HN: What tools are you using for human code review of AI-assisted code?

Una buena parte de nosotros y nuestros colegas estamos generando código asistido por agentes a un ritmo increíble, con algo que es bueno y mucho que no lo es. Personalmente, encuentro que el verdadero control de calidad para nuestros proyectos es ahora cuán minuciosamente se revisa el código generado para asegurar que no solo sea correcto, sino arquitectónicamente sensato. Las herramientas de revisión de código con IA como CodeRabbit y Copilot, o incluso apuntar Claude Code a un PR, son generalmente buenas para encontrar errores y problemas de estilo, pero menos buenas para encontrar código duplicado, acoplamiento cruzado de módulos, mala separación de preocupaciones, etc., incluso si se les pide. Encuentro que la interfaz de PR de GitHub no me está sirviendo; era torpe incluso cuando las revisiones eran pequeñas, pero ahora, con el tamaño que tienen, se está volviendo inmanejable. Añade el ruido extra de mezclar revisiones de agentes y personas que 'proxean' la salida del agente copiada y pegada, y se está volviendo bastante ruidoso y difícil de navegar. ¿Qué han encontrado que funcione bien para agilizar la revisión humana del código asistido por IA? Sugerencias de herramientas y procesos son bienvenidas.

Hemos estado usando Gerrit con un flujo de trabajo de revisión estricto. Funciona bien porque fuerza una revisión humana real y mantiene un historial claro de los cambios. También permite comentarios en línea y la integración con bots de CI. La clave es tener un proceso claro y hacer cumplir que las revisiones sean obligatorias antes de fusionar.
He encontrado que usar un enfoque de 'revisión por pares' con herramientas como Reviewable o incluso una simple lista de verificación en una herramienta de gestión de tareas puede ser efectivo. La clave es dividir los PRs en partes más pequeñas y manejables, y tener una lista de verificación específica para problemas arquitectónicos, no solo errores de sintaxis.
Para nosotros, la mejor solución ha sido usar un bot personalizado que analiza los PRs en busca de problemas de arquitectura, como duplicación de código y acoplamiento, y luego los etiqueta para que los revisores humanos se centren en esos aspectos. Esto reduce el ruido y permite que los humanos se concentren en lo que realmente importa.
Recomiendo encarecidamente usar un enfoque de 'revisión asíncrona' con herramientas como GitLab's merge request approvals y comentarios en línea. Además, establecer un tiempo máximo para la revisión (por ejemplo, 24 horas) ayuda a mantener el ritmo y evita que las revisiones se acumulen. También es útil tener un 'revisor principal' designado para cada PR que sea responsable de la revisión final.
Hemos encontrado que la revisión por pares en persona o por videollamada es mucho más efectiva para problemas arquitectónicos. Aunque las herramientas en línea son útiles para errores menores, la discusión en tiempo real permite una comprensión más profunda del contexto y las decisiones de diseño. Usamos herramientas como CodeStream para integrar la discusión en el IDE.
Una técnica que ha funcionado bien es usar un 'revisor de arquitectura' dedicado que revisa los PRs desde una perspectiva de alto nivel, mientras que otros revisores se centran en los detalles. Esto se puede implementar con herramientas como SonarQube para análisis estático y luego una revisión humana enfocada en los hallazgos. También es útil tener plantillas de PR que incluyan secciones específicas para considerar la arquitectura.