FRENES

Guide · Intermédiaire · 10 min

Bien travailler avec un agent de code : découper, relire, tester, maîtriser les coûts

Pour travailler avec un agent de code, cadrez la tâche, découpez les changements, relisez les différences et testez : méthode pour garder qualité et budget.

Par ·

Un bureau avec un écran de code flou, un carnet de tâches et une feuille de vérification près du clavier

Pour bien travailler avec un agent de code, donnez-lui une tâche vérifiable, limitez son périmètre, puis contrôlez les modifications et les tests avant de les accepter. Maîtrisez les coûts en suivant la dépense et le temps humain nécessaires à un changement validé, avec des conditions d’arrêt définies à l’avance.

Préparer un environnement dont vous connaissez l’état

Les prérequis sont simples : un projet sauvegardé et versionné, un environnement de développement utilisable, des instructions de lancement et une personne capable de valider le résultat. Avant toute modification, identifiez les fichiers déjà changés, les tests disponibles et les erreurs connues. Sinon, vous risquez d’attribuer à l’agent un défaut préexistant ou de lui laisser écraser votre travail.

Travaillez sur une branche dédiée ou dans une copie isolée. Conservez un point de départ récupérable et utilisez des données fictives lorsque l’application manipule des informations sensibles. Une branche sépare les modifications ; elle ne protège pas les fichiers accessibles, les identifiants présents sur la machine ou les services joignables.

Accordez les droits nécessaires à la tâche : consulter le projet, modifier certains fichiers, lancer les vérifications prévues. Les accès à la production, à la facturation et aux secrets demandent un traitement séparé. Le guide pour sécuriser un agent IA détaille ces frontières.

Cette méthode s’applique indépendamment du produit choisi dans l’annuaire des agents IA. Elle suppose aussi de distinguer les fonctions annoncées de celles effectivement accessibles dans votre environnement. Pour comprendre la boucle de lecture, de modification et d’exécution, consultez l’article sur le fonctionnement des agents de code.

1. Transformer une demande en contrat de tâche

Une demande comme « améliore la connexion » laisse ouvertes les questions essentielles : quel défaut, pour quel utilisateur, dans quelles circonstances et avec quel résultat attendu ? Commencez par décrire un comportement observable. Pour une correction, fournissez les étapes de reproduction et ce qui devrait se passer à la place.

Le contrat de tâche doit préciser :

  • le résultat attendu et les cas à préserver ;
  • les fichiers ou modules probablement concernés ;
  • les contraintes techniques et les changements exclus ;
  • les vérifications permettant d’accepter le résultat ;
  • les situations qui imposent de s’arrêter pour demander une décision.

Distinguez ce que vous savez de ce que vous supposez. Un nom de fichier peut orienter la recherche sans constituer une obligation. Une contrainte de compatibilité, en revanche, doit être explicite.

Voici un exemple fictif de consigne, à adapter au projet :

Objectif : conserver les filtres actifs après le rechargement
de la page de recherche.

Comportement attendu :
- Les filtres valides sont restaurés depuis l'adresse.
- Une valeur inconnue est ignorée.
- L'absence de filtre conserve le comportement actuel.

Périmètre :
- Réutiliser les mécanismes existants.
- Ne pas ajouter de dépendance.
- Ne pas modifier l'authentification.

Vérification :
- Couvrir la restauration et les valeurs invalides.
- Vérifier le rechargement dans le navigateur.

Arrêt :
- Signaler toute incompatibilité avec le routage existant.

Les conventions permanentes du dépôt doivent rester séparées de cette demande ponctuelle. Le guide pour écrire les instructions d’un agent explique comment éviter de recopier des règles contradictoires à chaque session.

2. Découper selon les résultats que vous pouvez relire

Un bon lot correspond à une intention cohérente : corriger une validation, ajouter un comportement ou remplacer un mécanisme identifié. Découper uniquement par taille de fichier peut séparer artificiellement le code de ses tests. À l’inverse, réunir une fonctionnalité, une réorganisation et une mise à jour de dépendances rend les erreurs difficiles à localiser.

Pour une évolution transversale, commencez par un chemin fonctionnel étroit : une entrée, son traitement et son résultat visible. Étendez ensuite aux cas supplémentaires. Chaque lot doit pouvoir être expliqué, vérifié et éventuellement retiré sans défaire tout le chantier.

CritèreTâche délimitéeTâche à redécouper
ObjectifUn comportement observablePlusieurs objectifs indépendants
ValidationCritères d’acceptation explicitesImpression générale d’amélioration
RelectureUne intention facile à suivreChangements sans rapport mêlés
DépendancesInterfaces connuesDécisions structurantes encore ouvertes
Retour arrièreEffets identifiablesConséquences difficiles à séparer

La frontière utile dépend de votre capacité de relecture. Une petite modification d’autorisation peut demander davantage d’attention qu’un renommage étendu.

Le découpage sert aussi à répartir le travail. Ne lancez pas plusieurs agents sur les mêmes fichiers sans coordination. Des tâches indépendantes peuvent avancer séparément, mais quelqu’un doit vérifier leurs interfaces et leur assemblage. Une exécution parallèle n’élimine ni les conflits ni le coût de l’intégration.

3. Faire explorer avant de laisser modifier

Pour une tâche ambiguë, demandez d’abord une exploration limitée : points d’entrée, conventions existantes, tests proches et dépendances concernées. Exigez des références aux fichiers consultés. Un plan convaincant sans lien avec le dépôt peut reposer sur une architecture imaginaire.

Le plan doit nommer les changements envisagés, expliquer leur nécessité et décrire la vérification. Il doit également signaler les inconnues : comportement métier absent de la documentation, test impossible à lancer ou compatibilité incertaine.

La documentation des bonnes pratiques de Claude Code recommande notamment l’exploration avant l’implémentation et des critères de vérification précis. Pour Claude Code, comme pour d’autres agents, ces recommandations restent à adapter à la complexité du changement.

Une correction évidente ne nécessite pas une longue phase de planification. Vous pouvez autoriser directement une modification localisée, accompagnée d’une vérification proportionnée. Réservez la discussion préalable aux choix qui engagent l’architecture, les données ou le comportement du produit.

Fournissez ensuite un contexte ciblé : scénario de reproduction, fichiers pertinents et sortie d’erreur utile. La fenêtre de contexte représente la quantité d’informations que le modèle peut traiter dans une interaction ; la remplir de journaux sans rapport complique le suivi de la tâche. Demandez une recherche ciblée avant de transmettre tout le dépôt.

4. Encadrer l’exécution avec des points d’arrêt

Autorisez l’agent à poursuivre les opérations réversibles nécessaires dans le périmètre convenu. Des confirmations répétées pour chaque lecture ou correction mineure ralentissent le travail sans éclairer votre décision. Placez les validations aux frontières où les conséquences changent.

Une dépendance supplémentaire, une migration destructive, un accès réseau inattendu ou une modification de permissions mérite une explication avant exécution. L’agent doit présenter la raison, l’impact et les solutions possibles. Vous approuvez alors une action concrète.

Prévoyez aussi des conditions d’arrêt pendant les corrections :

  • le même échec revient sans information nouvelle ;
  • le changement déborde le périmètre accepté ;
  • une décision métier manque ;
  • l’environnement empêche la vérification ;
  • le budget convenu est atteint.

Demandez un compte rendu fondé sur les observations : fichiers modifiés, contrôles exécutés, résultat obtenu et blocages. Une déclaration de réussite ne constitue pas une preuve.

Enfin, les fichiers et pages consultés peuvent contenir des instructions hostiles. Une injection de prompt peut chercher à détourner l’agent de votre objectif. La documentation de sécurité de Claude Code décrit ce risque et des protections associées. Gardez les contenus externes au statut de données et examinez toute demande inhabituelle de transmission ou d’accès.

5. Relire les différences avant le résumé

Commencez par la liste complète des fichiers touchés, y compris les nouveaux fichiers. Vérifiez ensuite que chaque changement contribue à la tâche. Les nettoyages annexes, renommages et reformattages peuvent masquer la correction utile.

Avec un projet utilisant Git, ces commandes permettent d’examiner les modifications suivies, puis celles placées dans l’index :

git diff --stat
git diff
git diff --cached

La documentation officielle de git diff précise les comparaisons réalisées. Ces vues ne constituent pas, à elles seules, un inventaire des fichiers non suivis : contrôlez aussi l’état du dépôt avec votre outil habituel.

Relisez d’abord le comportement métier : conditions, valeurs par défaut, autorisations et cas limites. Examinez ensuite les effets techniques : erreurs masquées, appels supplémentaires, dépendances nouvelles, journaux contenant des données sensibles ou changements de configuration.

Ne vous limitez pas aux lignes ajoutées. Lisez le code environnant et les appelants concernés. Une fonction correcte isolément peut rompre une convention implicite ou déplacer une responsabilité au mauvais endroit.

Le résumé de l’agent sert enfin à comparer son intention au résultat. Toute différence demande une explication. Une relecture assistée peut rechercher un défaut précis, par exemple une fuite d’autorisation, mais elle reste une aide : vous devez pouvoir justifier l’acceptation du changement.

6. Tester le comportement, les limites et les régressions

Les tests doivent vérifier le contrat de tâche. Un test qui reproduit exactement l’implémentation peut réussir tout en laissant passer une mauvaise interprétation du besoin. Décrivez les entrées, les sorties attendues et les situations problématiques indépendamment de la solution proposée.

Pour une correction, cherchez une preuve que le défaut existait : un test qui échoue avant la modification, une reproduction manuelle ou une trace exploitable. Vérifiez ensuite que la correction résout ce défaut sans supprimer le contrôle qui le révélait.

VérificationCe qu’elle apporteSa limite
Analyse statique et typageCohérence de certaines constructionsNe valide pas le besoin métier
Test unitaireComportement d’une unité isoléeDépend des hypothèses et des simulations
Test d’intégrationFonctionnement entre composantsNécessite un environnement représentatif
Parcours de bout en boutComportement visible d’un parcoursNe couvre pas toutes les situations
Contrôle manuel cibléAppréciation visuelle ou métierReste peu systématique

Commencez par les contrôles proches du changement, puis élargissez selon son impact et les exigences du projet. Une modification d’authentification appelle une vérification des refus d’accès. Une interface demande aussi un examen du clavier, des erreurs et des états vides.

La documentation de GitHub sur l’usage responsable des agents souligne les limites du code généré et la nécessité de le relire et de le tester. Distinguez toujours les contrôles réussis, échoués et non exécutés. Un environnement incomplet doit apparaître dans la livraison.

7. Maîtriser le coût par changement accepté

Le coût utile comprend la consommation du modèle, les outils payants, l’environnement d’exécution et le temps humain de cadrage, de relecture et de correction. Une tâche peu coûteuse en API peut mobiliser une longue reprise manuelle. À l’inverse, une recherche plus approfondie peut éviter des modifications inutiles.

Fixez avant le lancement une enveloppe adaptée à l’enjeu. Distinguez le budget financier, le temps maximal et les conditions de poursuite. Une instruction demandant de respecter une limite ne garantit pas son application : utilisez les plafonds techniques disponibles et vérifiez leur fonctionnement.

La facturation dépend du mode d’accès. Un abonnement, une consommation API et des crédits supplémentaires ne se comparent pas directement. Consultez les conditions de votre offre plutôt que de déduire le coût d’une tâche de son seul prix mensuel.

Pour une API, les tokens d’entrée et de sortie contribuent à la facture selon les tarifs applicables. Le cache et les autres postes éventuels doivent être traités séparément. Le calculateur de prix LLM aide à établir une estimation ; les données de facturation permettent de la confronter à l’usage réel.

Tenez un relevé par tâche : dépense observée, temps de relecture, résultat accepté ou abandonné et reprise nécessaire. Pour distinguer les postes du budget, consultez aussi l’article sur le coût réel d’un agent IA.

8. Réduire les boucles inutiles sans affaiblir la vérification

La première économie consiste à réduire l’incertitude évitable : environnement prêt, erreur reproductible et résultat attendu explicite. Demander successivement plusieurs corrections vagues peut consommer du budget sans apporter de diagnostic.

Choisissez le niveau de capacité selon la difficulté. Une opération mécanique bien définie et un défaut d’architecture ambigu ne demandent pas la même investigation. Vérifiez toutefois le résultat sur vos tâches : un modèle moins cher à l’appel peut coûter davantage s’il multiplie les reprises.

La documentation de gestion des coûts de Claude Code présente notamment le suivi de consommation et la maîtrise du contexte. Dans votre méthode, conservez les informations utiles à la décision et évitez de retransmettre des sorties volumineuses sans rapport avec l’échec.

Après un test raté, demandez une hypothèse et la prochaine observation qui permettra de la confirmer. Si l’agent alterne entre des solutions déjà essayées, interrompez l’exécution. Reprenez depuis un état connu avec un diagnostic resserré.

Pour une nouvelle session, préparez une note de reprise : objectif, état du travail, essais infructueux et vérifications restantes. Cette note doit pointer vers les fichiers et résultats conservés. Le guide pour réduire le coût d’un agent IA approfondit le choix du modèle, le cache et les budgets.

Problèmes fréquents : identifier la cause avant de relancer

L’agent modifie trop de fichiers. Vérifiez si le besoin impose réellement cette portée. Demandez-lui de séparer les changements nécessaires des améliorations annexes. Si vous ne pouvez plus relier chaque modification à un critère d’acceptation, réduisez le lot avant de poursuivre.

Les tests passent, mais le résultat est faux. Revenez au scénario utilisateur et aux attentes initiales. Examinez les simulations, les assertions trop générales et les cas exclus. Ajoutez une vérification du comportement manquant plutôt que de demander simplement davantage de tests.

L’agent veut désactiver un contrôle. Faites expliquer l’échec observé et la raison du changement. Assouplir une validation, ignorer une erreur ou modifier un test pour obtenir une réussite demande une justification indépendante du résultat souhaité.

L’environnement bloque le travail. Séparez le défaut du produit du problème d’installation ou d’accès. Une clé absente ou un service indisponible ne justifie pas de modifier le code métier. Conservez le message d’erreur et indiquez précisément la vérification impossible.

La facture monte sans progrès. Cherchez les lectures répétées, sorties trop longues, explorations redondantes et corrections circulaires. Arrêtez la session si aucune information nouvelle ne réduit l’incertitude. Un abandon documenté peut être préférable à une poursuite sans hypothèse vérifiable.

Livrer avec des preuves et un retour arrière

Une livraison doit expliquer le problème corrigé, le comportement obtenu et les limites restantes. Joignez les contrôles exécutés avec leur résultat. Pour une modification visible, ajoutez une capture ou une description du parcours vérifié ; pour une interface technique, donnez un exemple d’entrée et de sortie.

Vérifiez que les preuves correspondent à l’état final. Si des fichiers ont changé après les tests, identifiez les contrôles concernés et relancez ceux dont le résultat n’est plus représentatif. Évitez de présenter une vérification ancienne comme une validation du code livré.

L’acceptation du code et son déploiement constituent des décisions distinctes. Une migration de données, une publication ou un changement de configuration nécessite ses propres conditions d’exécution. Le retour arrière doit couvrir les effets externes : revenir à un ancien code ne restaure pas automatiquement les données.

Avant d’accepter le lot :

  • Le résultat satisfait les critères d’acceptation.
  • Chaque fichier modifié a une justification.
  • Le comportement et les cas limites ont été relus.
  • Les vérifications correspondent à l’état final.
  • Les contrôles impossibles sont signalés.
  • Aucun secret ni accès inattendu n’a été ajouté.
  • Le coût et les reprises nécessaires sont consignés.
  • Les effets du déploiement et le retour arrière sont compris.

Vous disposez alors d’une modification que vous pouvez expliquer, vérifier et maintenir. C’est ce niveau de contrôle qui permet de déléguer utilement le travail suivant.

Pages liées

Questions fréquentes

Faut-il savoir programmer pour utiliser un agent de code ?

Vous pouvez lui faire produire un prototype sans maîtriser tout le langage. Pour accepter une modification sur une application utilisée, il faut toutefois pouvoir vérifier son comportement et comprendre les risques techniques. Faites intervenir une personne compétente lorsque cette vérification dépasse vos connaissances.

Comment savoir si une tâche est trop grande pour un agent ?

Essayez de décrire précisément comment vous accepterez le résultat. Si cette description mélange plusieurs fonctionnalités indépendantes ou exige de relire des domaines que vous ne maîtrisez pas, réduisez le périmètre. La capacité de vérification humaine constitue une limite pratique.

Peut-on laisser un agent de code travailler sans surveillance ?

Cela dépend des droits accordés et des conséquences possibles. Une recherche dans une copie isolée du projet demande moins de contrôle qu'une migration de données ou un déploiement. Prévoyez des conditions d'arrêt et gardez une validation explicite pour les actions sensibles.

Un abonnement suffit-il à plafonner les dépenses ?

Vérifiez les conditions de votre offre et les réglages de facturation. Des crédits supplémentaires, une clé API ou des services externes peuvent relever de budgets distincts. Une consigne écrite dans la conversation ne remplace pas un plafond technique.

Faut-il demander à un second agent de relire le code ?

Une seconde lecture peut repérer des défauts, surtout avec une consigne ciblée et un contexte indépendant. Elle peut aussi reproduire les mêmes hypothèses erronées. Utilisez ses remarques comme des pistes à vérifier, en complément des tests et de la relecture humaine.

Autres guides

Neutralité. Aucun lien d'affiliation. Aucun éditeur ne paie pour être évalué, noté ou classé. Les évaluations sont dirigées par François Chollet, neutres et factuelles, et chaque donnée est datée et sourcée. Comment nous notons