top of page

Le codage IA rend le code source abondant, mais la vérification reste rare

21 août
15 min de lecture

Google News a mis en avant une affirmation frappante sur l’intelligence artificielle et le logiciel : le code devient à écriture seule et jetable. Cette formule reflète une évolution réelle. Les agents de codage peuvent générer des implémentations plus vite que de nombreuses équipes ne peuvent les comprendre, les examiner ou les intégrer en toute sécurité.

Le conflit n’oppose pas simplement les humains aux machines. Il porte sur la vitesse de génération face à la capacité de compréhension de l’organisation. L’IA peut réduire le coût de production du code tout en augmentant celui de la démonstration que le système qui en résulte reste correct, sécurisé et maintenable.

Cette distinction est importante, car les éléments les plus solides ne corroborent pas l’idée simpliste selon laquelle le code IA serait rapidement abandonné. Ils révèlent plutôt un renversement plus profond. Le code source devient abondant, tandis que les spécifications, le jugement architectural, la vérification et la responsabilité restent rares.

Ce que l’article de Google News a réellement changé

La thèse du code à écriture seule éloigne le débat sur le codage IA de la vitesse de frappe pour le déplacer vers la maîtrise de l’ensemble du système logiciel.

Le terme a gagné en visibilité grâce à Joseph Ruscio, general partner chez Heavybit. Son essai de février 2026, write-only code, décrit un avenir d’entreprise où les agents génèrent tellement d’implémentations que les humains cessent de lire chaque ligne.

« À écriture seule » ne signifie pas que le code est littéralement illisible. Cela signifie que lire chaque ligne générée n’est plus le principal mécanisme de contrôle. Les humains examinent plutôt les spécifications, les contraintes, les tests, l’architecture et le comportement observable.

C’est une affirmation plus tranchée que de dire que les développeurs utiliseront un meilleur autocompléteur. Un copilote IA suppose encore qu’un humain écrive ou examine de près l’implémentation. Un agent de codage peut inspecter un dépôt, modifier plusieurs fichiers, lancer des commandes, exécuter des tests et réviser son travail avec une intervention limitée.

L’article mis en avant par Google News s’inscrit également dans une discussion plus large déjà en cours lors de conférences d’ingénierie. À QCon London 2026, Hannah Foxwell a soutenu que l’examen de grands volumes de code généré n’est ni agréable ni durable.

Sa réponse proposée consistait à avancer la revue par les pairs. Les équipes examineraient la spécification, la stratégie de test et l’architecture avant qu’un agent n’écrive l’implémentation. La couverture de QCon par InfoQ a directement relié cette proposition au concept de code à écriture seule de Ruscio.

L’événement significatif n’est donc pas une sortie de produit. C’est l’émergence d’un modèle opérationnel cohérent pour le développement assisté par IA.

Selon ce modèle, les développeurs définissent l’intention et les limites acceptables. Les agents traduisent ces limites en code. Les systèmes automatisés testent le résultat, tandis que les personnes se concentrent sur les décisions exigeant un contexte métier ou un jugement architectural.

Ce modèle modifie l’unité de revue. Une pull request contenant des milliers de lignes générées devient moins utile comme principale frontière de confiance. Les artefacts importants deviennent l’exigence, le modèle de menace, la suite de tests, la politique de dépendances, le plan de déploiement et les preuves issues de l’exécution.

Le code IA jetable se situe à l’extrémité la plus radicale de ce modèle. Un agent pourrait générer une migration temporaire, un outil de diagnostic, un convertisseur de données, une fixture de test ou un prototype. L’équipe peut abandonner le code source une fois la tâche immédiate terminée.

Pourtant, les effets disparaissent rarement avec le fichier. Un script de courte durée peut toujours modifier une base de données, exposer un secret, créer des ressources cloud ou inscrire une hypothèse erronée dans les données clients. Le code source peut être jetable alors que les conséquences restent durables.

C’est pourquoi le cadrage de Google News mérite de l’attention. Il donne un nom mémorable à une véritable évolution, mais ce nom peut aussi induire en erreur. La question centrale n’est pas de savoir si les humains lisent chaque ligne. Elle est de savoir si les équipes conservent suffisamment de preuves et de connaissances pour gouverner ce que font ces lignes.

Une génération plus rapide met les organisations d’ingénierie sous pression

L’IA transforme l’implémentation en intrant moins coûteux, mais elle ne rend pas la livraison logicielle tout aussi bon marché.

Les processus d’ingénierie traditionnels supposent que la génération de code constitue une contrainte importante. Les équipes attribuent le travail, implémentent les changements, examinent les pull requests, exécutent les tests et mettent les builds approuvés en production.

Les agents de codage compressent l’étape d’implémentation. Ils ne compressent pas automatiquement la clarification produit, la revue de sécurité, les tests d’intégration, la préparation opérationnelle ou la coordination organisationnelle.

Les recherches DORA de Google Cloud décrivent l’IA comme un amplificateur. Elle renforce les organisations compétentes et amplifie les faiblesses de celles qui peinent. Le rapport DORA 2025 estime que les retours dépendent davantage du système organisationnel environnant que de l’outil seul.

Cette conclusion place les responsables de l’ingénierie sous une pression immédiate. Si les agents produisent davantage de changements, les réviseurs font face à des files d’attente plus importantes. L’infrastructure de test reçoit davantage de charge. Les équipes plateforme doivent soutenir plus d’expériences, d’environnements et de tentatives de déploiement.

L’ancien goulot d’étranglement se déplace au lieu de disparaître. L’implémentation cède la place à la capacité d’absorption, c’est-à-dire la capacité de l’organisation à comprendre, intégrer, vérifier et exploiter un flux croissant de changements.

C’est là que le code à écriture seule prend une importance opérationnelle. Un développeur peut demander à un agent d’ajouter un endpoint, de réparer un test, de migrer une bibliothèque ou de créer une petite application interne. Chaque demande peut produire un code plausible avant que le développeur ait pleinement exploré le système environnant.

La plausibilité n’est pas l’exactitude. Le code généré peut satisfaire la demande tout en enfreignant une convention non documentée. Il peut dupliquer un service existant, sélectionner une dépendance inadaptée, affaiblir un contrôle d’autorisation ou créer un chemin opérationnel coûteux.

Les humains apprenaient autrefois nombre de ces contraintes en implémentant le changement. Ils rencontraient des interfaces difficiles, lisaient le code voisin, posaient des questions aux mainteneurs et découvraient pourquoi les décisions antérieures existaient.

Un agent peut contourner une grande partie de ce processus d’apprentissage. C’est souvent utile, mais cela retire aussi une source de compréhension organisationnelle. L’implémentation arrive sans garantir que quelqu’un a assimilé les connaissances nécessaires pour la maintenir.

La charge repose d’abord sur les développeurs seniors et les mainteneurs. Ils détiennent le contexte nécessaire pour distinguer un correctif localement correct d’un correctif nuisible à l’échelle du système. Lorsque la génération s’accélère, leur jugement devient un service partagé et de plus en plus rare.

Les équipes de sécurité font face à un problème similaire. Le code IA jetable peut entrer par des prototypes, des tableaux de bord internes, des scripts de migration, des utilitaires de support et des automatisations temporaires. Ces artefacts échappent souvent aux contrôles appliqués aux applications destinées aux clients.

Un prototype peut devenir permanent parce que des collègues commencent à s’y fier. Un script ponctuel peut être relancé des mois plus tard. Des identifiants temporaires peuvent se retrouver dans les logs. Des données de test peuvent s’échapper dans un environnement de production.

La pression atteint également les ingénieurs juniors. Si les agents prennent en charge l’implémentation courante, les nouveaux développeurs perdent une partie du travail par lequel ils apprenaient autrefois la structure de la base de code, le débogage et la discipline de production.

Les équipes ne peuvent pas résoudre ce problème en interdisant l’IA ou en exigeant que les humains inspectent chaque token généré. Elles ont besoin de parcours d’apprentissage délibérés, d’une responsabilité explicite et de changements plus petits pouvant être examinés.

Un historique consultable des décisions architecturales peut aider à préserver le contexte manquant. Les équipes qui construisent une base de connaissances technique peuvent relier les spécifications, les rapports d’incident et les contraintes de conception au code que les agents modifient.

La pression organisationnelle est donc claire. Les outils de codage IA récompensent les équipes qui possèdent déjà des tests solides, des limites documentées, des interfaces stables et un retour rapide. Ils exposent les équipes qui dépendent de connaissances non écrites et de réviseurs héroïques.

Le code à écriture seule inverse le contrat traditionnel de revue

L’ancien contrat disait que les humains font confiance au code après l’avoir lu ; le contrat émergent dit qu’ils font confiance au comportement après l’avoir contraint et testé.

Pendant des décennies, la maintenabilité signifiait qu’un autre ingénieur pouvait lire une fonction, comprendre son intention et la modifier en toute sécurité. Les noms, la structure, les commentaires, la modularité et la documentation servaient tous la compréhension humaine.

Le code à écriture seule remet en cause l’économie qui sous-tend cette norme. Si un agent peut régénérer un composant à partir d’une spécification précise, préserver chaque détail d’implémentation peut devenir moins utile.

Cela n’élimine pas la maintenabilité. Cela change ce qui doit être maintenu.

L’actif durable peut être la spécification plutôt que l’implémentation actuelle. Les tests peuvent devenir des énoncés exécutables de l’intention. Les contrats d’interface peuvent compter davantage que l’élégance interne. Les règles d’architecture peuvent devenir des contraintes appliquées par la machine plutôt que des recommandations dans un document.

Ce renversement rappelle les évolutions antérieures de l’abstraction logicielle. La plupart des développeurs n’inspectent plus les instructions machine générées avant de livrer une application. Ils font confiance aux compilateurs, aux systèmes de types, aux tests, aux systèmes d’exploitation et à la supervision à l’exécution.

Le code généré par IA diffère toutefois sur un point important. Un compilateur effectue une traduction déterministe et bornée. Un agent de codage prend des décisions probabilistes sur la conception, les dépendances, les API et le comportement.

Cette différence empêche les équipes de traiter un agent comme un simple compilateur supplémentaire. L’agent a besoin d’un cadre d’exécution, c’est-à-dire des outils, permissions, contextes, tests et boucles de rétroaction qui contraignent son travail.

Un bon cadre peut rejeter les dépendances interdites, imposer des limites entre modules, limiter l’accès réseau, exécuter des scanners de sécurité et exiger des tests avant d’accepter un changement. Il peut aussi conserver des modifications générées suffisamment réduites pour permettre une revue de code IA significative.

La revue elle-même doit devenir stratifiée. Des contrôles automatisés rapides devraient couvrir le formatage, les types, la politique de dépendances, les vulnérabilités connues, les tests et les règles d’architecture. Les réviseurs humains devraient se concentrer sur l’intention, les compromis, les frontières de menace et les modes de défaillance.

Il ne s’agit pas d’autoriser la fusion d’un énorme correctif opaque parce que la suite de tests a réussi. Les tests ne vérifient que les cas qu’ils expriment. Ils ne peuvent pas protéger des hypothèses que personne n’a identifiées.

Les spécifications rencontrent la même limite. Un agent peut suivre une demande détaillée tout en construisant le mauvais produit. L’exigence peut omettre un besoin d’accessibilité, une politique de conservation, une règle régionale ou une contrainte opérationnelle.

Le contrat de revue émergent comporte donc plusieurs points de contrôle. Les personnes approuvent ce qui devrait changer. Les machines vérifient que les contraintes définies sont respectées. La télémétrie de production révèle si le comportement résultant correspond à la réalité.

Chaque point couvre une catégorie de défaillance différente. Aucun ne suffit à lui seul.

Cette évolution modifie également la manière dont les équipes devraient évaluer la productivité des développeurs. Les lignes générées, les tâches terminées et les pull requests ouvertes mesurent l’activité. Elles ne montrent pas si les utilisateurs ont reçu de la valeur ou si le système est devenu plus difficile à exploiter.

L’analyse ultérieure de DORA a constaté qu’une plus forte adoption de l’IA était associée à la fois à un débit accru et à une plus grande instabilité. Son analyse des tensions liées à la livraison avec l’IA indique que le temps économisé durant la création est souvent réaffecté à l’audit et à la vérification.

Ce résultat explique pourquoi le codage peut sembler plus rapide sans que la livraison ne s’accélère dans les mêmes proportions. Les développeurs bénéficient immédiatement de la génération. Les organisations héritent du coût différé de l’intégration.

La véritable ligne de partage n’oppose pas le code écrit à la main au code généré. Elle oppose le changement gouverné au changement non gouverné.

Du code IA jetable, mais gouverné, peut être pertinent pour une transformation isolée exécutée dans un environnement sandbox. Du code généré non gouverné peut être dangereux, même lorsque chaque ligne semble conventionnelle et demeure dans le dépôt pendant des années.

Les données compliquent l’affirmation du code IA jetable

Le code rédigé par l’IA n’est pas automatiquement éphémère, de faible qualité ou plus rapide à produire dans toutes les situations réelles de développement.

Une prépublication de 2026, signée Musfiqur Rahman et Emad Shihab, a examiné plus de 200 000 unités de code dans 201 projets open source. Leur étude sur la survie du code est parvenue à une conclusion qui contredit le récit du code jetable.

Au niveau des lignes, le code rédigé par des agents affichait un taux de modification inférieur de 15,8 points de pourcentage et un risque de modification inférieur de 16 % à celui du code écrit par des humains. Autrement dit, le code IA observé a survécu plus longtemps.

Cela ne prouve pas que le code IA était meilleur. Un code peut rester inchangé parce qu’il fonctionne, parce que personne ne l’utilise ou parce que les mainteneurs hésitent à y toucher. La longévité seule ne permet pas de distinguer ces explications.

L’étude a aussi constaté un taux légèrement plus élevé de modifications correctives pour le code rédigé par des agents, à 26,3 % contre 23 % pour le code humain. Les écarts entre agents individuels dépassaient la différence globale entre agents et humains.

Ces résultats suggèrent que l’étiquette d’origine est trop sommaire. Le choix du modèle, le type de tâche, la qualité du dépôt, la supervision humaine et les pratiques organisationnelles peuvent compter davantage que le fait qu’une IA ait produit le premier brouillon.

Une expérience distincte est arrivée à une autre conclusion inconfortable. METR a recruté 16 développeurs expérimentés travaillant sur leurs propres dépôts open source matures. L’essai portait sur 246 problèmes réels et autorisait ou interdisait aléatoirement les outils d’IA.

Les développeurs utilisant des outils d’IA du début de 2025 ont mis 19 % de temps en plus à terminer les problèmes qui leur étaient attribués. L’essai de productivité a également révélé un écart frappant entre perception et réalité.

Les participants s’attendaient à ce que l’IA les rende 24 % plus rapides avant d’achever le travail. Ensuite, ils pensaient encore qu’elle les avait accélérés de 20 %, malgré le ralentissement mesuré.

Les chercheurs ont averti qu’il ne fallait pas généraliser ce résultat à tous les développeurs ni à toutes les tâches. Leurs participants connaissaient bien de grands dépôts, et les outils représentaient une période précise dans un marché en évolution rapide.

Même avec ces limites, l’étude révèle une faiblesse essentielle des affirmations sur le code IA jetable. Une génération rapide n’est pas synonyme d’achèvement rapide. Formuler les prompts, attendre, vérifier, corriger et intégrer peut absorber le gain apparent.

Le sentiment des développeurs renforce cette prudence. L’enquête 2025 de Stack Overflow a indiqué que l’usage de l’IA continuait d’augmenter tandis que la confiance diminuait. Seuls 29 % des répondants faisaient confiance à l’exactitude de l’IA, contre environ 40 % dans les enquêtes précédentes.

Son analyse de la confiance des développeurs indique que plus de 84 % des répondants utilisaient ou prévoyaient d’utiliser des outils d’IA. L’adoption et la confiance évoluaient dans des directions opposées.

Ces constats n’invalident pas le code à écriture seule. Ils précisent les conditions nécessaires à son utilisation.

Premièrement, la régénération doit réellement coûter moins cher que comprendre et réparer l’implémentation actuelle. C’est plus plausible pour un petit adaptateur ou une fixture de test que pour un registre de paiements.

Deuxièmement, la spécification doit saisir une part suffisante du besoin réel. Un prompt qui ne décrit que le scénario idéal ne peut pas permettre une régénération sûre.

Troisièmement, l’environnement doit détecter les comportements inacceptables. Sans tests, contrôles de politiques, contrôles d’accès et observabilité en production, l’équipe ne peut pas distinguer une génération réussie d’un échec plausible.

Quatrièmement, quelqu’un doit assumer la responsabilité du résultat. Un agent ne peut pas être tenu responsable d’une panne, d’une violation de la vie privée ou d’un incident de sécurité. La responsabilité humaine et organisationnelle subsiste quel que soit le changement d’auteur.

La lecture sceptique est donc importante. Le terme « jetable » peut devenir une excuse commode pour négliger la qualité de la conception et la documentation. Les équipes peuvent supposer qu’elles pourront régénérer un composant plus tard, puis découvrir que sa véritable spécification n’existait que dans le comportement en production et la mémoire des employés.

Le code peut être peu coûteux à recréer tandis que le contexte demeure coûteux à retrouver.

Le code source jetable peut laisser des effets durables sur la sécurité et les données

Supprimer du code source généré n’annule pas les actions exécutées par ce code.

Prenons le cas d’un développeur qui demande à un agent de créer une migration ponctuelle de données clients. Le script lit un ancien schéma, transforme les enregistrements et les écrit dans un nouveau service.

L’équipe peut supprimer le script après la migration. Les enregistrements modifiés restent. Il en va de même pour les champs corrompus, les identifiants divulgués, les entrées d’audit incomplètes ou les autorisations non intentionnelles.

Un script d’infrastructure généré crée le même problème. Il peut provisionner un bucket de stockage public, un compte de service aux droits étendus ou un identifiant durable. Supprimer le fichier ne supprime pas nécessairement la ressource.

Les applications internes temporaires ont également tendance à devenir permanentes. Une équipe commerciale commence à utiliser un tableau de bord généré. Les opérations dépendent de ses résultats. Le développeur d’origine passe à un autre projet.

Ce qui a commencé comme du code IA jetable soutient désormais un processus métier. Il peut ne disposer ni de propriétaire, ni de politique sur les dépendances, ni de plan de sauvegarde, ni d’examen d’accessibilité, ni de procédure d’incident.

Ce risque augmente lorsque les agents reçoivent des autorisations étendues. Un agent de programmation capable d’exécuter des commandes shell, d’accéder à des services réseau, d’interroger des bases de données et de publier des changements a un impact bien plus important qu’un outil d’autocomplétion.

Les demandes d’autorisation n’offrent qu’une protection limitée. Les personnes s’habituent aux validations, en particulier lorsqu’un outil en génère beaucoup. La défense la plus robuste est un confinement déterministe.

Un agent ne devrait recevoir que les accès au système de fichiers, au réseau, aux identifiants et au déploiement nécessaires à la tâche. Les actions à haut risque devraient se dérouler dans des environnements isolés, avec des journaux clairs et des règles d’expiration.

Les équipes doivent aussi distinguer les opérations réversibles des opérations irréversibles. Générer un fichier local est généralement réversible. Envoyer un message, supprimer des données de production, faire tourner un secret partagé ou modifier un compte externe ne l’est peut-être pas.

Le système devrait exiger des preuves plus solides avant d’autoriser des actions irréversibles. Ces preuves peuvent inclure une simulation, une approbation humaine, un aperçu des changements, une confirmation de sauvegarde ou une évaluation de politique.

La revue de code IA doit examiner les effets de bord, et non seulement le style du code source. Les réviseurs devraient se demander quelles données le programme lit, quels systèmes il contacte, quel état il modifie et comment l’opération peut être annulée.

La traçabilité compte également. Les équipes doivent savoir quel modèle ou agent a produit un changement, quelle spécification il a reçue, quels outils il a invoqués, quels tests ont été exécutés et qui a approuvé le résultat.

Ce registre n’est pas une décoration bureaucratique. Il aide les enquêteurs à reconstituer les défaillances lorsque l’implémentation générée a ensuite été remplacée ou supprimée.

Le risque lié à la chaîne d’approvisionnement crée un autre effet durable. Un agent peut sélectionner une dépendance sur la base d’une similarité de nom ou d’exemples obsolètes. Ce package peut introduire des vulnérabilités ou des obligations de licence longtemps après la disparition du code initial.

Les contrôles du dépôt peuvent bloquer les packages inconnus, exiger des fichiers de verrouillage, analyser les licences et restreindre les sources d’installation. Les agents devraient fonctionner dans le cadre de ces contrôles plutôt que de les contourner par commodité.

L’objectif n’est pas de conserver indéfiniment tout le code source jetable. Il est de préserver les éléments de preuve nécessaires pour expliquer et gouverner les effets de ce code.

Un programme temporaire peut le rester lorsque son environnement est isolé, ses entrées sont contrôlées, ses sorties sont validées et sa durée de vie est imposée. Sans ces conditions, « temporaire » décrit une intention plutôt qu’une propriété.

Ce que les lecteurs de Google News devraient surveiller ensuite

L’avenir de l’écriture seule sera décidé par l’économie de la vérification, et non par les démonstrations de génération de code.

Le premier signal à surveiller est de savoir si les organisations déplacent la revue en amont. Les spécifications, plans de test, modèles de menace et contraintes architecturales devraient faire l’objet d’une attention plus formelle avant que les agents ne commencent l’implémentation.

Des preuves de ce changement renforceraient la thèse du code à écriture seule. Les équipes traiteraient l’intention comme l’artefact durable et l’implémentation comme une expression remplaçable de celle-ci.

Si les pull requests continuent de grossir tandis que les pratiques de revue restent inchangées, la thèse s’affaiblit en tant que modèle opérationnel. Elle décrirait le volume de code sans résoudre le problème de compréhension qui en résulte.

Le deuxième signal est de savoir si les métriques de livraison s’améliorent parallèlement à la productivité individuelle. Les organisations devraient mesurer le délai de livraison, le taux d’échec des changements, le temps de rétablissement, les défauts échappés et la charge opérationnelle.

Davantage de code généré n’est pas une réussite. Davantage de fonctionnalités achevées avec un comportement stable en production est une réussite.

Les travaux de DORA suggèrent que l’IA peut accroître le débit tout en augmentant également l’instabilité. Une amélioration durable dans ces deux dimensions montrerait que les tests, l’ingénierie de plateforme et la gouvernance rattrapent la génération.

Une instabilité persistante appuierait la conclusion inverse. Elle signifierait que les organisations produisent des implémentations plus vite qu’elles ne peuvent les absorber en toute sécurité.

Le troisième signal est de savoir si les agents de programmation obtiennent un confinement plus solide et mesurable. Surveillez le sandboxing par défaut, les identifiants restreints, les politiques lisibles par machine, les journaux complets d’outils et l’approbation obligatoire des actions irréversibles.

Ces contrôles rendraient le code IA jetable plus sûr, car ils en limitent les effets même lorsque les humains n’inspectent pas chaque ligne. Ils offriraient aussi aux entreprises une base crédible pour déléguer des tâches plus importantes.

Une hausse des fuites liées aux agents, des changements non autorisés ou des applications internes abandonnées révélerait la faiblesse du modèle. Elle montrerait que la suppression a réduit la visibilité sans réduire les conséquences.

Les lecteurs devraient également éviter de considérer tous les flux de travail de programmation par IA comme une seule catégorie. Un test unitaire généré, une migration de dépôt et un changement autonome en production présentent des risques différents.

Le bon niveau de supervision dépend de la sensibilité des données, de la réversibilité, de la criticité du système et de la confiance dans la vérification. Les équipes ont besoin de catégories explicites plutôt que d’un processus d’approbation universel.

Google News a mis en lumière une formule provocatrice, mais cette formule devrait ouvrir l’analyse plutôt que la conclure. Le code peut devenir à écriture seule sans devenir irresponsable. Il peut devenir remplaçable sans être dénué de conséquences.

Le défi pratique consiste à rendre l’intention, les contraintes, les tests, la traçabilité et les preuves opérationnelles plus durables que n’importe quelle implémentation isolée. Les équipes qui atteignent cet équilibre peuvent bénéficier d’une génération moins coûteuse sans abandonner le contrôle.

Les équipes qui ne peuvent pas décrire ces contrôles devraient s’arrêter avant de qualifier leur code de jetable. Elles devraient poser une question plus difficile : si personne ne lit entièrement cette implémentation, quel système fiable détectera l’erreur avant les clients ?

 
 

Commencez pour Gratuit

Un premier assistant IA local avec gestion des connaissances personnelles

Pour une meilleure expérience IA,

remio ne supporte que Windows 10+ (x64) et M-Chip Macs actuellement.

Votre partenaire IA au travail
Faites-en plus avec remio

Planifiez. Créez. Livrez.
Tout au même endroit.

bottom of page