Comment je construis des logiciels avec des agents IA
Tout a commencé, comme souvent, par un grain de sable, celui qui, dans l’huître, finit par devenir une perle. Chez nous, c’est la cuisine le matin. Va-t-il pleuvoir sur le chemin de l’école ? Faut-il mettre les vestes de pluie dans le sac ? Et maintenant que le temps tourne : combien de neige y a-t-il en montagne ? J’avais une station météo sur le toit et les prévisions de MétéoSuisse sur mon téléphone, mais rien qui relie les deux. La solution, ce sont trois extensions pour Home Assistant, toutes open source. Plus intéressante que la solution, pourtant, est la manière dont elle est née.

Qui fait quoi. Le code est écrit par Claude, l’assistant IA d’Anthropic ; je n’en écris pas une ligne. Mon travail, c’est ce que j’ai appris en une dizaine d’années de direction : dire quel doit être le résultat, fixer les priorités, décider, corriger. Concrètement : avec Claude, je formule l’exigence, elle est déposée comme mandat sur GitHub, un agent la réalise, un second agent, indépendant, vérifie le résultat par rapport à l’exigence, les tests tournent automatiquement, et je ne vois plus que ce qui est flou ou ce que je dois valider. Le second agent est là à dessein : la contradiction dans le système maintient la qualité. Depuis fin août 2026, plus de 470 modifications ont ainsi été vérifiées et intégrées, chacune avec des tests au vert. Cela me coûte deux à trois heures d’attention par semaine, le plus souvent en parallèle : les agents travaillent pendant que je fais autre chose. S’y ajoute un abonnement Claude Max d’environ 200 francs par mois, que j’utilise aussi pour tout le reste, de la boîte de réception à la planification de la semaine ; les trois projets n’en sont qu’un sous-produit. Le reste de l’infrastructure est gratuit pour les projets open source.
Le cadre derrière. Pour que cela ne reste pas une affaire de chance, j’ai distillé cette manière de travailler dans un dépôt à part : repo-standard. Il prépare un nouveau projet pour que des agents puissent y travailler, et contrôle un projet existant selon la même mesure. Le cœur, c’est la séparation des fonctions comme dans un système de contrôle interne : chaque modification est vérifiée de manière indépendante avant la mise en ligne, les agents ne peuvent pas modifier leurs propres règles, et une version ne sort que si son numéro et son journal des modifications concordent.
Les erreurs deviennent des règles. Le plus important dans ce cadre, c’est l’amélioration continue. Chaque erreur commise par un agent devient une règle, pour qu’elle ne se reproduise pas. Un exemple : des données de test écrites à la main avaient caché une erreur derrière 100 tests au vert, et elle n’est apparue qu’avec des données réelles ; depuis, les données de test sont des données réelles raccourcies. C’est le même travail que dans un système de management de la qualité en entreprise, sauf que la boucle de l’incident à la règle prend des heures au lieu de mois.
Un lundi en exemple. 19 octobre, 08h06 : la décision d’architecture est prise d’utiliser les données de neige de l’Institut pour l’étude de la neige et des avalanches SLF comme seconde source, avant qu’une ligne de code n’existe. 16h08 : la version 0.7.0 est publiée, avec une station de neige à part entière et toutes ses mesures. Mardi, 08h25 : le tableau de bord affiche, par domaine skiable, la neige fraîche, la température et la tendance. J’ai lancé un mandat de recherche, défini ce que je voulais et ce que doit être une station de neige, et vérifié les chiffres à la fin.
Ce qui en est sorti.
La Weather Station Card montre à gauche ce que ma station a mesuré, à droite ce que MétéoSuisse prévoit, sur une seule tuile. Depuis le 21 octobre, la limite des chutes de neige en fait partie : où elle se trouve maintenant, où elle va dans les deux prochains jours, une pression du doigt ouvre la courbe. Si le point bas atteint notre altitude, la valeur passe au bleu et reçoit un flocon. La carte figure depuis août dans le catalogue standard de HACS, et environ 900 installations Home Assistant téléchargent chaque nouvelle version en quelques jours.

MeteoSwiss Radar amène le radar de précipitations animé sur le tableau de bord. Une suggestion de martins-netizen, un utilisateur que je n’ai jamais rencontré, a donné l’idée de ne pas seulement regarder le radar, mais de l’interroger : quand va-t-il pleuvoir chez nous ? Depuis, une ligne s’affiche chaque matin sur le tableau de bord, « dans 31 min » ou « pas de pluie », et la question des vestes est réglée.

MeteoSwiss Weather va chercher les données ouvertes de MétéoSuisse directement à la source plutôt que par une interface non officielle : prévisions, mesures des stations, isotherme zéro degré, historique des mesures depuis 1980 et, sur demande, les hauteurs de neige du SLF pour nos domaines skiables.

Avec le bon cadre de règles, de vérification et d’automatisation, une petite équipe livre aujourd’hui plus qu’autrefois. En entreprise, cela ne veut pas dire moins de spécialistes, mais des spécialistes qui font moins de routine et davantage de décisions, de contrôles et de questions. Décider et structurer restent du travail manuel : le goulet d’étranglement n’est plus l’écriture du code, mais le fait de savoir ce que l’on veut. Et le plus important, ce sont des clients satisfaits : ce soir-là, ma femme a demandé si l’on ne pourrait pas aussi fixer une tablette au mur dans les combles.