Aller au contenu
Martin Poiroux
Langue : English
Projets · ProfessionnelProfessionnel · 2024

Codage assisté par IA

Une pratique quotidienne depuis mai 2024, suivie sur toute la courbe : l’autocomplétion, puis les agents, puis des couches maison au-dessus d’eux.

Ce n’est pas un projet, c’est la façon dont les autres sont faits. Depuis mai 2024, à peu près tout ce que les pages voisines racontent est passé par là, et la progression a été suivie depuis le début : d’abord l’autocomplétion, ensuite les agents capables d’éditer un dépôt entier, et aujourd’hui deux couches écrites maison parce que l’outil seul ne suffisait plus.

Le point de départ est plus ancien et beaucoup plus modeste. En 2023, un dépôt nommé ChessGPT contenait un moteur d’échecs entièrement dicté par un modèle, à une époque où ce genre d’exercice tenait davantage de la curiosité que de la méthode ; un autre, resté à l’état d’ébauche, essayait déjà de donner à un modèle une mémoire de projet et une boucle de développement autonome. Les deux sont des essais, pas des résultats, et ils situent le début de la courbe.

La première couche actuelle, claude-remote, orchestre plusieurs agents à la fois : des sessions parallèles sur des projets différents, des sous-agents typés, codeur, architecte, relecteur, chacun sur le modèle qui lui convient, des espaces de travail isolés pour qu’ils ne s’écrasent pas, et le tout pilotable depuis un téléphone. La seconde, local-factory, fait tourner des modèles ouverts quantifiés sur une carte graphique locale et n’envoie au modèle distant que ce qui le mérite. À côté, un second relecteur pris dans une autre famille de modèles, parce qu’un modèle relit mal son propre travail.

La revue ne suit pas le même régime des deux côtés. Le code porté depuis des années est relu à la main : son histoire dit si un changement est juste. Ce qui naît d’un agent passe par une revue automatisée en couches, avec un fournisseur différent pour la revue et pour l’écriture. Faire relire un modèle par lui-même revient à lui demander de retrouver l’erreur qu’il vient de ne pas voir.

Deux enseignements, et aucun n’est un gain de vitesse. Le premier : un petit modèle ne produit du code utilisable qu’à l’intérieur d’une boucle qui l’encadre, une spécification écrite avant, un diff lu après, une suite de non-régression, une relecture. Sorti de cette boucle, il produit du texte qui ressemble à du code. Tout le travail est dans la boucle, pas dans le modèle.

Le second est moins agréable. Le harnais de vérification maison contenait des bugs qui faisaient passer des tâches ratées pour réussies. Tous, sans exception, penchaient du même côté : celui du succès. Un système de vérification dont les défauts sont biaisés vers le passage est pire que pas de vérification du tout, parce qu’il fabrique de la confiance. Depuis, le harnais lit le disque lui-même plutôt que de croire l’agent sur parole.

Cette page ne donne pas de pourcentage. Aucun protocole assez propre pour qu’un chiffre veuille dire quelque chose. Le constat qualitatif : la machine est meilleure sur le volume et la constance, moins bonne sur ce qui n’a jamais été écrit avant, et elle échoue en donnant l’impression d’avoir réussi. C’est cette dernière propriété qui décide de la façon dont on l’outille.