Ganancias:
- Capacidad de utilizar IA como filtro de revisión inicial con categorías y etiquetas de gravedad
- Capacidad de filtrar hallazgos con la mente humana para verificar/falso positivo/aplicar
- Capacidad para hacer cumplir los requisitos de aprobación humana sobre reglas comerciales, arquitectura y decisiones críticas para la seguridad.
La revisión de código se produce cuando otra persona revisa un cambio escrito por un desarrollador antes de fusionarlo. Buena reseña; Detecta errores temprano, comparte información y mantiene la base del código consistente. Pero las reseñas son agotadoras, propensas a la distracción y se vuelven superficiales bajo la presión del tiempo. La inteligencia artificial es un asistente doble aquí: le permite limpiar previamente su propio código que envía para revisión y examinar el PR (solicitud de extracción) de otra persona con una visión más aguda.
La distinción fundamental es la siguiente: la IA acelera y mejora la revisión, pero no puede asumir la responsabilidad de la aprobación. La frase "AI miró, está limpio" no es un respaldo. La decisión final sobre la "fusión" depende de un ingeniero que conozca el código y el contexto.
Revisión de lo bueno y lo malo de la IA
Bueno para: errores de verificación nula, fugas de recursos (el archivo/enlace permanece abierto), excepciones no detectadas, condiciones obviamente incorrectas (>= en lugar de >), sugerencias de cambio de nombre, legibilidad, falta de mayúsculas y minúsculas, olores de seguridad simples (como concatenación de cadenas SQL), detección de código duplicado.
Debilidades: fallas profundas que violan sus reglas comerciales pero requieren contexto y sincronización, como lógica sintácticamente correcta, cumplimiento arquitectónico, cuellos de botella de rendimiento reales, errores de concurrencia. La IA también produce falsos positivos (confundir algo que en realidad no es un problema con un problema) y falsos negativos (perder el error real). Por lo tanto, su resultado es una "lista de advertencias", no un veredicto definitivo.
Precaución: El hecho de que la IA diga "no hay problema" no prueba que el código sea correcto. Los falsos negativos guardan silencio; Los errores más peligrosos son aquellos que nunca se mencionan en la revisión.
Pasos de revisión sistemática
- Da el contexto. Agregue el propósito del cambio, el problema relevante y los criterios de aceptación, si los hubiera, al mensaje. La revisión sin propósito produce una interpretación sin propósito.
- Divídalo en categorías. Pídale al modelo que clasifique los hallazgos como "error/seguridad/rendimiento/legibilidad/estilo"; así separas lo crítico del ruido.
- Solicite una etiqueta de gravedad. Asigne a cada hallazgo una calificación de "alto/medio/bajo" e incluya "causa" y "corrección recomendada".
- Filtralo con tus propios ojos. Evalúe cada hallazgo: si es real (verifique), si es un falso positivo (escriba la justificación), si falta algo (agregue su propio conocimiento).
- Verifique las rutas críticas manualmente. Lea y ejecute usted mismo rutas que impliquen dinero, identidad, autorización y eliminación de datos sin depender de la IA.
Tres mini estuches
Caso 1: Se detectó un error nulo silencioso. Un equipo hizo que la IA revisara previamente un PR de 380 líneas. El modelo marcó una forma en la que la respuesta de un servicio externo podría ser nula, pero no se realizaron comprobaciones al respecto en el código. El revisor humano verificó esta ruta y agregó una verificación nula; Un error similar provocó una interrupción de la producción de dos horas en el trimestre anterior.
Caso 2: Eliminación de falsos positivos. La IA marcó un “posible problema de rendimiento” en un bucle. El revisor cerró esto como un falso positivo, sabiendo que el bucle solo funciona con un máximo de 5 elementos (recorre una enumeración). La modelo, que desconocía el contexto, advirtió; La persona que conocía el contexto tomó la decisión correcta.
Caso 3: La IA no cumplió con las reglas comerciales. Si bien una cuenta de descuento debería tener un máximo del 30% según la regla de la campaña, el código permitía el 50%. La IA nunca notó este error lógico sintácticamente perfecto; porque no conocía la regla. El error fue detectado en la revisión por el propietario del producto que conocía los criterios de aceptación. Lección: la validación de reglas de negocio es un trabajo humano.
Cuatro plantillas copiables
Revisión categorizada y orientada a un propósito:
Rol: Revisor de código meticuloso. Propósito del cambio: {{propósito / problema}}Revise esta diferencia. Proporcione resultados en estas categorías: [Error] [Seguridad][Rendimiento] [Legibilidad] [Estilo]. Para cada hallazgo: archivo: fila, gravedad (alta/media/baja), causa, solución recomendada. Marque "posible" si no está seguro. No conoces las reglas del negocio; Pregúntame sobre lugares que requieren reglas.{{diff}}
Para prepararse para revisar su propio código:
Revise este cambio antes de abrir un PR. Busque: falta nulo/verificación de errores, fuga de recursos, caso extremo, secreto, rama no probada. Enumere los hallazgos en orden de prioridad; sugerir corrección 1 línea para cada uno.{{code}}
Búsqueda de casos extremos:
Enumere las entradas y situaciones en las que esta función podría fallar: vacía, nula, demasiado grande, negativa, llamada simultánea, error de red, datos parciales. Para cada caso, escriba el comportamiento esperado y lo que hará el código actual.{{function}}
Escaneo de olores de seguridad (selección previa):
Busque olores de seguridad comunes en este código: concatenación de comandos/SQL, entrada no validada, secreto incrustado inmutable, deserializacion insegura, falta de verificación de privilegios. Separe los hallazgos en "cierto/probable/conocimiento". Esta es una evaluación preliminar; No es una sentencia definitiva.{{code}}
Aviso débil / Aviso fuerte
Débil: "¿Hay algún error en este PR?"
Fuerte: "Propósito: agregar el descuento del cupón al total del carrito (el descuento no debe ser superior al 30 %; no puede verificar esta regla usted mismo, solo dígame si el código impone un límite superior). Examine la diferencia; brinde los resultados por categoría + gravedad + corrección sugerida, marque 'posible' si no está seguro. [diff]".
La versión fuerte establece claramente la intención, las reglas comerciales y los límites de la IA; De este modo se obtienen resultados útiles y el área desconocida para el modelo queda clara.
Tipo de hallazgo
Fiabilidad de la IA
el papel del hombre
Falta verificación nula/error
alto
Verificar y aplicar
Legibilidad/estilo
alto
Elige por preferencia
Olor a seguridad simple
medio
Finalizar, escanear con vehículo
Cumplimiento de reglas comerciales
bajo
Es enteramente humano.
Concurrencia/arquitectura
bajo
Se requiere revisión de expertos
La revisión por IA no reemplaza la revisión humana
Posicionar la revisión de IA como un “primer filtro”: un pase preliminar barato, rápido e incansable. Este filtro libera la atención del revisor humano de detalles sin importancia (un espacio, un nombre) y la dirige a lugares que realmente requieren reflexión: la regla de negocio, la arquitectura, el resultado de seguridad. Pero la aprobación de la fusión es la firma de una persona responsable dentro del equipo. La revisión independiente realizada por al menos un ingeniero competente es obligatoria para los cambios críticos para la seguridad.
Consejo: lea la lista de hallazgos que la IA produce como “cosas por verificar” en lugar de “cosas por hacer”. Verifique y aplique cada elemento o escriba en una oración por qué lo aprobó; este seguimiento hace que la revisión sea auditable.
Errores comunes
- Significa "AI miró, está limpio". Se trata de una falsa sensación de confianza debido a los falsos negativos.
- Sin dar contexto. Sin propósito ni criterios de aceptación, el modelo produce sólo interpretaciones de estilo superficiales.
- Aplicar ciegamente falsos positivos. Arreglar cada advertencia del modelo podría interrumpir el código en ejecución.
- Preguntar al modelo sobre la regla de negocio. El modelo no conoce la regla; Corresponde al hombre comprobarlo.
- No discriminar la violencia. Poner un hallazgo de seguridad crítico y una sugerencia de nombre en la misma bolsa eclipsa lo que es importante.
En resumen
La IA es un primer filtro incansable en la revisión de código: detecta errores o nulos, casos extremos y la seguridad simple huele bien; pero es débil en fallas que requieren contexto, como reglas comerciales, arquitectura y concurrencia, y produce tanto falsos positivos como falsos negativos. Solicite hallazgos por categoría y gravedad, filtre cada uno con inteligencia humana, verifique manualmente las rutas críticas. La aprobación es siempre la firma de un ingeniero responsable.
Tarea de aplicación
Seleccione un PR/diff real o reciente. Primero, haga que la IA lo revise con la plantilla de “revisión de categorías orientada a objetivos”. Coloque los hallazgos en una tabla y decida para cada uno: verdadero (lo verifiqué), falso positivo (aquí está mi razonamiento) o se implementará. Luego, haga un recorrido usted mismo e intente encontrar al menos una cosa (especialmente una regla de negocio o un caso límite) que le falta a la IA y anótela.
lista de verificación
- [] Utilizo la revisión de IA como primer filtro, no como respaldo.
- [] Agrego el propósito y los criterios de aceptación al mensaje de revisión.
- [] Separo los hallazgos del ruido por categoría y los deseo fuertemente.
- [] Filtro conscientemente cada hallazgo para confirmar/falso positivo/aplicar.
- [] Como ser humano, verifico el cumplimiento de las reglas comerciales y la arquitectura.
- [ ] Necesito la aprobación de un ingeniero calificado para cambios críticos para la seguridad.