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.
Advanced computer use agent
Production-grade reliability
Transparent Execution

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 :

  1. Révision manuelle — comment s'y prennent la plupart des équipes aujourd'hui
  2. Critique de Claude Code — analyse automatique des différences avec /critique et GitHub Actions
  3. É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 changes
claude review

# Review a specific PR
claude 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 :

name: Claude Code Review
on:
  pull_request:
    types: [opened, synchronize]

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: anthropics/claude-code-action@v1
        with:
          trigger: "review"

Une fois configuré, Claude Code :

  1. Reçoit le webhook PR de GitHub
  2. Clone le référentiel et extrait la branche PR
  3. Lit la différence complète ainsi que le contexte environnant
  4. Publie des commentaires en ligne sur des lignes spécifiques
  5. 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.

En association avec Claude Code, la boucle de révision change fondamentalement :

É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
  • Captures d'écran à chaque étape

Étape 5 : Sai génère des étapes à reproduire

Si quelque chose se casse, Sai produit un rapport de bogue prêt à l'emploi:

É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 :

# .github/workflows/claude-review.yml
name: Claude Code Review
on:
  pull_request:
    types: [opened, synchronize]
  issue_comment:
    types: [created]

jobs:
  review:
    if: |
      github.event_name == 'pull_request' ||
      contains(github.event.comment.body, '@claude')
    runs-on: ubuntu-latest
    steps:
      - uses: anthropics/claude-code-action@v1
        with:
          trigger: "review"
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}

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 :

  1. Ouvrez Sai → Paramètres → Workflows
  2. Création d'un nouveau flux de travail pour webhook
  3. Sélectionnez GitHub comme fournisseur
  4. Choisissez votre référentiel
  5. 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 in with 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.

Try Sai

FAQS