Comment automatiser la révision du code avec Claude Code
Découvrez comment automatiser la révision du code avec Claude Code. Ce guide couvre la configuration de l'évaluation des relations publiques, l'architecture des sous-agents et la manière d'ajouter une assurance qualité visuelle qui détecte les lacunes d'une évaluation basée sur les différences.
Le goulot d'étranglement de la revue de code dont personne ne parle
Vérification des relations publiques axée sur le comportement
Lorsqu'un PR s'ouvre, Sai ne se contente pas de lire le diff : il ouvre votre version d'aperçu du déploiement, se connecte à un compte de test et clique sur les flux d'utilisateurs concernés étape par étape. Il capture une capture d'écran de chaque transition d'état et signale tout ce qui se brise, fournissant aux réviseurs des preuves visuelles au lieu de commentaires de code.
Reproduction automatique des bugs à partir de captures d'écran
Collez la capture d'écran du bogue d'un utilisateur dans Sai. Il explore l'application, trouve la séquence exacte de clics à l'origine du problème et génère un ticket prêt à l'emploi comprenant les étapes à suivre pour reproduire le comportement attendu et le comportement réel, ainsi que des captures d'écran annotées, transformant de vagues rapports en contexte exploitable pour Claude Code.
Vérification des correctifs en boucle fermée
Une fois que Claude Code a corrigé le code, Sai réexécute automatiquement le même flux de test. Il capture des captures d'écran avant et après, vérifie la présence de nouvelles erreurs dans Sentry et publie un rapport structuré de réussite/échec sur Slack ou GitHub. Ainsi, votre équipe ne fusionne jamais un correctif sans confirmer qu'il fonctionne réellement dans le produit.
Le goulot d'étranglement de la revue de code dont personne ne parle
Votre équipe expédie plus rapidement qu'elle n'évalue.
Les agents de codage IA (Claude Code, Cursor, GitHub Copilot) génèrent des demandes d'extraction plus rapidement que n'importe quel réviseur humain ne peut les lire. Un ingénieur senior qui avait l'habitude de passer en revue trois PR avant le déjeuner en a maintenant douze. Le code semble propre. Les tests sont réussis. Le linter est silencieux.
Mais la page de paiement est cassée.
Il s'agit de l'écart entre la révision du code en 2025 : la distance entre « le code est correct » et « le produit fonctionne ». La revue de code traditionnelle, qu'elle soit humaine ou artificielle, permet de lire les différences. Il vérifie la logique, les modèles et la syntaxe. Il n'ouvre pas l'application, ne clique pas sur le flux de paiement, n'applique pas de coupon et ne remarque pas que le total tombe à moins quatre dollars.
La plupart des outils de révision du code d'IA élargissent cet écart au lieu de le réduire. Ils génèrent plus de commentaires, plus de suggestions, plus de bruit. Les ingénieurs de Reddit décrivent ce schéma : « La révision par l'IA crée plus de travail qu'elle n'en économise, car chaque commentaire a besoin d'un humain pour vérifier s'il est réel. »
Le problème n'est pas que la révision du code soit trop lente. Le problème est que la révision du code est incomplète. Il révise le code. Personne n'évalue le produit.
Ce guide décrit trois niveaux d'automatisation de la révision de code :
Révision manuelle — comment s'y prennent la plupart des équipes aujourd'hui
Critique de Claude Code — analyse automatique des différences avec /critique et GitHub Actions
Évaluation axée sur le comportement — Claude Code lit le code pendant que Sai teste le produit
À la fin, vous saurez exactement comment configurer chaque niveau, quand utiliser lequel et d'où proviennent les gains de temps réels.
Comment Claude Code examine les pull requests
Claude Code est l'agent de codage IA d'Anthropic qui s'exécute dans votre terminal. Il lit votre base de code, comprend le contexte du projet et peut réviser le code à un niveau qui va bien au-delà du simple linting.
La commande /review
Le moyen le plus rapide d'obtenir une critique de Claude Code est le /critique commande :
# Review your current working changesclaude review
# Review a specific PRclaude review --pr 142
Claude Code analyse la différence à l'aide de plusieurs sous-agents spécialisés :
Réviseur logique — vérifie l'exactitude, les cas limites et les régressions
Réviseur de sécurité — analyse les vulnérabilités, les expositions secrètes et les vecteurs d'injection
Réviseur de style — applique les conventions de dénomination, les modèles et les normes de lisibilité
Réviseur d'architecture — signale les problèmes structurels et les violations des modèles
Chaque sous-agent se concentre sur son domaine et produit des rapports de manière indépendante. Le résultat est un examen structuré avec des résultats classés, des niveaux de gravité et des solutions suggérées.
Claude Code en tant qu'action GitHub
Pour une évaluation automatique des relations publiques à chaque push, Claude Code propose une action GitHub :
Lit la différence complète ainsi que le contexte environnant
Publie des commentaires en ligne sur des lignes spécifiques
Ajoute un commentaire récapitulatif avec une évaluation globale
Vous pouvez également déclencher des évaluations manuellement en commentant Critique de @claude sur n'importe quel PR.
Ce que fait bien la critique de Claude Code
La révision de Claude Code est vraiment utile pour :
Détecter les bugs de logique qui nécessitent de comprendre le contexte de la base de code, et pas seulement les lignes modifiées
Identifier la gestion des erreurs manquantes — il lit le code environnant et remarque quand une fonction qui peut être lancée est appelée sans un try/catch
Repérer les régressions — il comprend ce que le code faisait auparavant et signale lorsque de nouvelles modifications perturbent le comportement existant
Réduire la fatigue des évaluateurs — il gère les contrôles mécaniques afin que les évaluateurs humains puissent se concentrer sur les décisions relatives à l'architecture et aux produits
Ce que la critique de Claude Code ne peut pas faire
Claude Code passe en revue le code. Il n'exécute pas de code. Cela signifie qu'il ne peut pas :
Ouvrez un navigateur et testez l'interface utilisateur réelle
Vérifiez qu'une modification CSS s'affiche correctement sur différentes tailles d'écran
Vérifiez qu'un flux de paiement s'effectue de bout en bout
Notez qu'un bouton est désormais masqué derrière un autre élément
Reproduire un bogue à partir d'une capture d'écran utilisateur
Accédez à des outils protégés par authentification tels que Sentry, Datadog ou des tableaux de bord d'administration
Il ne s'agit pas d'une limitation spécifique de Claude Code, mais de la limite fondamentale de la révision basée sur les différences. Aucun outil qui lit uniquement le code ne peut vous dire si le produit fonctionne.
The Gap : ce que la revue AI Code ne connaît toujours pas
Voici un scénario réel. Votre équipe utilise la revue Claude Code pour chaque PR. Il est configuré, fonctionne et détecte de vrais bugs. Ensuite, cela se produit :
PR #247 : Mettre à jour la logique des coupons pour les remises sur les paniers
Claude Code passe en revue la différence et trouve :
Aucune erreur logique dans le calcul de la réduction
Contrôles nuls appropriés sur l'objet du coupon
Les tests pour appliquer/supprimer le coupon sont réussis
Aucun problème de sécurité
Le PR est fusionné.
Deux heures plus tard, un utilisateur rapporte : « J'ai appliqué un coupon de 5$ à mon panier, puis j'ai retiré un article. Le total est désormais négatif. Je ne peux pas partir. »
Que s'est-il passé ? La logique des coupons était correcte isolément. Mais l'interaction entre l'application du coupon et la suppression de l'article du panier a créé un état qu'aucun test n'a couvert et qu'aucun évaluateur de différences, humain ou IA, n'a pu détecter en lisant uniquement le code.
Il s'agit de la classe de bogues qui augmente à mesure que les bases de code deviennent plus complexes :
Signaler les bugs d'interaction — deux fonctionnalités qui fonctionnent indépendamment mais qui se séparent
Régressions visuelles — changements de mise en page, éléments qui se chevauchent, conceptions réactives cassées
Bugs dépendant du flux — problèmes qui n'apparaissent qu'après une séquence spécifique d'actions de l'utilisateur
Défaillances spécifiques à l'environnement — la mise en scène se comporte différemment de la scène locale
Ces bugs ont une caractéristique en commun : vous ne pouvez les trouver qu'en utilisant le produit.
La boucle complète : comment Sai + Claude Code révise le code
Sai est un agent d'IA qui s'exécute sur un poste de travail dans le cloud. Il peut ouvrir des navigateurs, cliquer sur des applications, prendre des captures d'écran, lire les journaux d'erreurs et interagir avec des outils tels que Sentry, Slack et GitHub, le tout en fonctionnant de manière autonome.
Évaluation traditionnelle de l'IA : Le PR s'ouvre → L'IA lit le diff → L'IA publie des commentaires → L'homme vérifie
Critique de Sai + Claude Code :PR s'ouvre → Claude Code lit les différences → Sai ouvre l'application → Sai teste les flux → Problèmes liés aux captures d'écran Sai → Claude Code corrige le code → Sai reteste à nouveau → Rapport structuré publié
La principale différence : Claude Code révise le code. Sai passe en revue le produit.
Comment fonctionne la boucle en 8 étapes
Étape 1 : Déclencheur
La boucle part de l'une des trois sources suivantes :
Un GitHub PR est ouvert ou mis à jour (déclencheur webhook)
Un utilisateur signale un bogue (« le total du paiement est négatif après l'application d'un coupon »)
Une alerte Sentry se déclenche avec une nouvelle erreur
L'évaluation traditionnelle part de la différence. Cette boucle peut démarrer à partir de l'expérience utilisateur.
Étape 2 : Claude Code analyse le code
Claude Code lit le différentiel PR, comprend le contexte de la base de code et identifie les problèmes potentiels au niveau du code : erreurs logiques, cas limites manquants, problèmes de sécurité.
Étape 3 : Sai ouvre l'aperçu du déploiement
Pendant que Claude Code lit le code, Sai ouvre l'URL de prévisualisation dans un véritable navigateur sur son bureau cloud. Il se connecte avec un compte de test et accède à la zone concernée.
Étape 4 : Sai teste les flux d'utilisateurs réels
Il s'agit de l'étape critique qu'aucun autre outil d'évaluation de l'IA n'effectue. A dit :
Ajoute des articles au panier
Applique le code promo
Modifie les quantités et supprime des articles
Produit du paiement
Vérifie que les totaux, les taxes et les remises sont calculés correctement
Étapes de reproduction:1. Ajoutez 3 oranges à 2$ chacune. Total du panier : 6,002$. Appliquez le code promo SAVE5. Total du panier : 1,003$. Retirez une orange. Total du panier : -1,004 $. Cliquez sur Commander. Erreur : « Impossible de traiter un total négatif » Prévu : le total devrait être recalculé comme suit : 4,00$ - 4,00$ (plafonné) = 0,00$ Réel : le total indique -1,00$ Captures d'écran : [before_coupon.png] [after_remove.png] Erreurs de console : NonesEntry : Aucune nouvelle erreur enregistrée
Il ne s'agit pas d'un vague commentaire sur une différence. Ceci est un ticket de QA avec preuves.
Étape 6 : Claude Code corrige le code
Claude Code reçoit les étapes de reproduction structurées, les captures d'écran et le contexte d'erreur de Sai. Au lieu de deviner ce qui ne va pas, il sait exactement :
Quelle page est concernée
Quelle séquence d'opérations déclenche le bogue ?
Quel devrait être le comportement attendu
Quel est le comportement réel
Il génère un correctif ciblé, et non une suggestion spéculative.
Étape 7 : Sai reteste le correctif
Une fois que Claude Code a corrigé le code, Sai exécute à nouveau la même séquence de test :
Appliquer le coupon → supprimer l'article → vérifier le total
Vérifiez que le total n'est plus négatif
Capturez des captures d'écran avant/après
Vérifiez la présence de nouvelles erreurs dans Sentry
Étape 8 : Rapport structuré vers Slack/GitHub
Le résultat final est un rapport d'assurance qualité structuré publié sur la chaîne de votre équipe :
Sai QA Review: PR #247 — Coupon Discount Logic
Status: ✅ Fixed and verified
Issue found:
Cart total became negative when removing items after applying coupon.
Root cause:
Coupon discount was applied as fixed amount without
recalculating against updated cart total.
Fix applied:
Added cap logic — discount cannot exceed current cart subtotal.
Verification:
- Before fix: Total = -$1.00 after removing item [screenshot]
- After fix: Total = $0.00, coupon capped correctly [screenshot]
- Sentry: No new errors
- Checkout flow: Completes successfully
Étape par étape : configurer la révision de code Claude avec Sai
Prérequis
Un référentiel GitHub avec des déploiements en version préliminaire (Vercel, Netlify ou similaire)
Un compte Claude Code (pour l'analyse du code)
Un compte Sai (pour l'assurance qualité visuelle et les tests de navigateur)
Étape 1 : configurer Claude Code GitHub Action
Ajoutez l'action de révision de Claude Code à votre référentiel :
Cela vous permet d'effectuer une révision automatique au niveau des différences pour chaque PR.
Étape 2 : connectez Sai à votre référentiel GitHub
Dans Sai, configurez un flux de webhook qui se déclenche lors d'événements de relations publiques :
Ouvrez Sai → Paramètres → Workflows
Création d'un nouveau flux de travail pour webhook
Sélectionnez GitHub comme fournisseur
Choisissez votre référentiel
Définissez l'événement déclencheur sur pull_request.opened
Étape 3 : définir les flux de test
Dites à Sai ce qu'il faut tester lorsqu'un PR touche des zones spécifiques :
When a PR modifies files in /src/checkout/:
1. Open preview deployment URL
2. Log inwith test account
3. Add 3 items to cart
4. Apply coupon TESTCOUPON
5. Modify quantities
6. Remove one item
7. Proceed to checkout
8. Screenshot each step
9. Report any total that is negative or mismatched
Étape 4 : Configuration des rapports
Choisissez où Sai envoie les résultats :
Commentaire sur GitHub PR — en ligne avec la révision du code
Chaîne Slack — pour la visibilité de l'équipe
Billet linéaire — pour les bloqueurs nécessitant un suivi
Étape 5 : Exécuter et itérer
Les premiers PR étalonneront le système. Sai apprend quels flux sont importants, à quoi ressemble le terme « correct » et où se produisent les faux positifs. Au bout d'une semaine, vous disposerez d'un pipeline de révision qui détectera automatiquement les problèmes au niveau du code et au niveau du produit.
Aspect
Tier 1: Manual
Tier 2: Claude Code
Tier 3: Claude Code + Sai
Setup time
None
15 min (GitHub Action)
30 min (webhook + flows)
Review speed
30-60 min / PR
2-5 min / PR
3-7 min / PR
Catches logic bugs
✅
✅
✅
Catches visual bugs
❌
❌
✅
Tests user flows
❌
❌
✅
Provides evidence
Text comments
Inline comments
Screenshots + STR
Verifies fixes
Manual re-review
❌
✅ Automated re-test
Human time / PR
30-60 min
10-15 min
2-5 min
Cinq scénarios du monde réel
Scénario 1 : bug de paiement en ligne
Déclencheur : PR met à jour la logique de traitement des paiements.
Claude Code trouve : Gestion des erreurs manquante pour les cartes refusées.
Sai trouve : Après le refus d'une carte, le bouton « Passer la commande » reste désactivé même lorsque l'utilisateur saisit une carte valide. La toupie de chargement ne s'efface jamais.
Résultat : Claude Code corrige la gestion des erreurs. Sai vérifie que le bouton est réactivé après une saisie réussie de la carte. Un rapport publié sur Slack.
Scénario 2 : interruption de la conception réactive du tableau de bord
Déclencheur : PR remanie la disposition de la grille du tableau de bord.
Claude Code trouve : Aucun problème de logique. Les modifications CSS semblent correctes.
Sai trouve : Dans la fenêtre d'affichage de la tablette (768 pixels), la barre latérale chevauche la zone de contenu principale. Deux widgets graphiques sont complètement cachés derrière le panneau de navigation.
Résultat : Sai capture une capture d'écran du chevauchement à trois points d'arrêt. Claude Code ajuste les valeurs des points d'arrêt de la grille. Sai teste à nouveau et confirme que la mise en page est propre, quelle que soit la taille.
Scénario 3 : régression du flux d'authentification
Déclencheur : PR met à jour l'intégration OAuth pour Google Sign-In.
Claude Code trouve : La logique d'actualisation des jetons semble correcte. Les scopes sont correctement configurés.
Sai trouve : Une fois connecté à Google, la redirection atterrit sur une page 404 car l'URL de rappel a été mise à jour dans le code, mais pas dans la configuration de la console Google Cloud.
Résultat : Sai fait une capture d'écran de la 404. L'équipe met à jour la console Google Cloud. Sai teste à nouveau l'intégralité du flux OAuth (connexion, redirection, création de session) et confirme qu'il fonctionne de bout en bout.
Scénario 4 : Reproduction d'un rapport de bogue utilisateur à partir d'une capture d'écran
Déclencheur : Un utilisateur publie une capture d'écran dans Slack : « Cette page semble cassée ».
Claude Code seul : Impossible de traiter une capture d'écran. Nécessite un contexte de code.
A dit : Ouvre la même page, identifie la mise en page cassée, clique dessus pour reproduire l'état exact. Génère des étapes à reproduire avec trois captures d'écran annotées. Fournit à Claude Code les chemins des fichiers, l'URL de la page et le comportement attendu par rapport au comportement réel.
Résultat : Claude Code identifie un conflit d'index Z dans un PR récemment fusionné. Ça le répare. Sai vérifie que le rendu de la page est correct.
Scénario 5 : une modification de l'API interrompt le frontend en silence
Déclencheur : Backend PR modifie la forme de réponse de /api/commandes — renomme montant_total pour Montant total.
Claude Code trouve : La modification de l'API est conforme à la nouvelle convention de dénomination. Les tests du backend sont réussis.
Sai trouve : La page d'historique des commandes du frontend affiche « $NaN » pour chaque total de commande. Le code du frontend fait toujours référence montant_total.
Résultat : Sai fait des captures d'écran de l'historique des commandes non effectuées. Claude Code trouve la référence du frontend et la met à jour. Sai teste à nouveau la page d'historique des commandes avec des données réelles.
Stop doing repetitive tasks. Let Sai handle them for you.
Sai is your AI computer use agent — it operates your apps, automates your workflows, and gets work done while you focus on what matters.