Contexte historique

La revue de code formelle remonte à l’inspection de code décrite par Michael Fagan en 1976. Pendant plus de cinquante ans, les équipes ont intégré une étape où un développeur examine les changements d’un collègue avant la fusion. Cette pratique est devenue le principal garde‑fou de la qualité logicielle, même dans les organisations qui adoptent l’intégration continue.

Capacités des agents LLM

Les agents basés sur de grands modèles de langage (LLM) sont capables de lire, écrire, tester et réparer du code de façon autonome. Les promoteurs avancent que ces systèmes peuvent couvrir les quatre fonctions classiques de la revue : détection de défauts, application de styles, transfert de connaissances et diffusion d’informations. Ils soutiennent que le coût d’exécution et le débit sont supérieurs à ceux d’une inspection humaine, ce qui, selon eux, rend la revue humaine redondante.

Limites humaines non automatisables

Plusieurs aspects restent hors de portée d’un LLM. La « confusion du relecteur » apparaît lorsqu’un ingénieur ne comprend pas une différence et signale une complexité ou une abstraction inadéquate ; un modèle ne produit jamais ce signal de non‑compréhension. De même, la remise en question de la nécessité d’un changement (ex. « deux PR séparées ? » ou « le symptôme plutôt que le problème ? ») repose sur une appréciation d’intention que les agents ne possèdent pas. Les humains détectent également ce qui manque – par exemple une gestion d’erreur absente après une modification d’API – alors que les LLM se concentrent sur le texte présent. L’expérience avec l’auteur du code influence la vigilance : un commit d’un ingénieur junior reçoit souvent plus d’attention qu’une refactorisation d’un vétéran, un facteur que l’agent ne prend pas en compte. La revue est aussi une activité cognitive conjointe : les questions du relecteur modifient les modèles mentaux de l’auteur et vice‑versa, un échange que la simple génération d’explications ne remplace pas. Enfin, le contexte opérationnel (incidents récents, dépréciations planifiées, exigences légales) n’est pas codé dans le dépôt et échappe aux modèles qui ne disposent que du code source.

Implications pour les pipelines de qualité

Supprimer totalement la revue humaine crée un risque d’« absence blindness », où les lacunes non exprimées dans le code restent invisibles. De plus, l’absence de responsabilité directe pour un agent réduit l’incitation à une évaluation rigoureuse. Une approche hybride, où les agents proposent des diagnostics préliminaires et les humains valident les points d’ambiguïté, semble plus réaliste. Cette combinaison exploite le débit élevé des LLM tout en conservant la capacité humaine à détecter les incohérences contextuelles, à questionner la pertinence d’un changement et à assurer une responsabilité juridique.