Pomona: Continuous Code Quality Improvement via Small, Automated Changes at Bloomberg
Cet article présente Pomona, un outil agentique léger inspiré par le Kaizen qui améliore continuellement la qualité du code chez Bloomberg en automatisant la découverte et la réparation incrémentielle de la dette technique par le biais de petites pull requests à faible risque, atteignant des taux de fusion élevés et une forte adoption par les ingénieurs lors d'un déploiement d'un mois.
Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète
Imaginez que vous gérez une bibliothèque immense et trépidante (le code source de votre entreprise). Au fil du temps, certains livres sont mal rangés, quelques pages ont des taches de café et quelques notes au crayon doivent être effacées. Habituellement, les bibliothécaires (les ingénieurs logiciels) sont trop occupés à écrire de nouveaux livres pour corriger ces petits problèmes agaçants. Ils savent que la bibliothèque a besoin d'un nettoyage, mais ils n'ont pas le temps de tout faire d'un coup.
Entrez en scène Pomona, un nouveau robot assistant utile, conçu spécifiquement pour faire les « petites choses » que les humains remettent sans cesse à plus tard.
Voici comment fonctionne Pomona, décomposé en concepts simples :
1. La danse en deux étapes : Analyse et Réparation
Pomona n'est pas une baguette magique qui répare tout d'un coup. Au lieu de cela, il fonctionne comme un concierge diligent avec une routine spécifique, utilisant deux compétences principales :
Le Scanner (Les Yeux) : Cette partie de Pomona parcourt la bibliothèque à la recherche de petits problèmes. Il vérifie des choses telles que :
- Des livres mal rangés sur l'étagère (erreurs de linting).
- Des post-it disant « À réparer plus tard » qui sont là depuis des années (TODOs).
- Des pages blanches et inutiles (code mort).
- Des chapitres manquants dans l'index (lacunes de tests).
Une fois qu'il a trouvé ces problèmes, il les note dans un Backlog (une liste de tâches), en les triant par importance et par facilité de résolution.
Le Réparateur (Les Mains) : Cette partie choisit l'élément le plus facile et le plus important de la liste de tâches. Elle effectue ensuite une correction minuscule, minuscule — imaginez que l'on réorganise seulement 10 lignes de texte ou que l'on corrige une seule faute de frappe. Il ne cherche pas à reconstruire toute la bibliothèque ; il répare juste une petite étagère.
2. La « Tiny Pull Request » (La vérification humaine)
C'est la partie la plus importante : Pomona ne change pas les livres de son propre chef. Il crée une Pull Request (PR).
Considérez une Pull Request comme un post-it que Pomona laisse sur un livre en disant : « Hé, j'ai remarqué que cette page était à l'envers. Je l'ai remise à l'endroit. J'ai jeté un coup d'œil, dites-moi si j'ai bien fait. »
- Petit est synonyme de sûr : Comme les changements sont si minimes (environ 10 lignes), un bibliothécaire humain peut les vérifier en quelques secondes.
- L'humain dans la boucle : L'humain doit dire « Oui » avant que le changement ne soit effectué. Cela permet aux ingénieurs de garder le contrôle et de bâtir la confiance. Ils n'ont pas peur que le robot supprime accidentellement toute la bibliothèque.
3. La philosophie Kaizen
Le document compare Pomona au Kaizen, une philosophie japonaise d'« amélioration continue ». Au lieu d'essayer de réaliser un projet de rénovation massif et effrayant une fois par an, Pomona suggère de faire de petites améliorations constantes chaque jour. C'est la différence entre essayer de nettoyer toute la maison en un week-end et passer 10 minutes par jour à ranger une seule pièce.
4. Ce qui s'est passé quand ils l'ont testé ?
L'équipe de Bloomberg (une grande entreprise financière) a laissé Pomona travailler pendant un mois. Voici ce qu'ils ont découvert :
- Cela a fonctionné : Sur 17 petites corrections suggérées par Pomona, 15 ont été acceptées et intégrées au code.
- C'était rapide : La plupart de ces corrections ont été approuvées et clôturées en moins de 2 heures.
- Les gens ont aimé : Lorsque les ingénieurs ont été interrogés pour savoir s'ils voulaient utiliser Pomona, 8 sur 10 ont dit oui. Ils ont aimé le fait que les changements soient petits et faciles à lire.
- Le goulot d'étranglement : Le seul moment où les choses se sont bloquées, c'est quand Pomona s'est un peu trop emballé et a essayé de réparer la même chose deux fois avant qu'un humain ne puisse vérifier la première. L'équipe a corrigé cela en demandant à Pomona de vérifier si une réparation était déjà en cours.
5. Pourquoi est-ce important ?
Le document conclut que, bien que l'IA soit excellente pour écrire du code complexe et volumineux, elle est actuellement plus performante en tant qu'assistant utile pour les tâches petites et ennuyeuses.
- Confiance : Les ingénieurs sont sceptiques face à l'idée que l'IA fasse de grands changements, mais ils lui font confiance pour les corrections petites et évidentes.
- Focus : En laissant le robot gérer le « ramassage des déchets » (code mort, vieilles notes), les humains peuvent se concentrer sur la création de nouvelles fonctionnalités.
- Contrôle : Le système fonctionne parce que l'humain a toujours le dernier mot.
En résumé, Pomona est un outil qui aide les équipes à garder leur code propre et sain en apportant des améliorations automatisées, petites et facilement approuvables, plutôt que d'attendre qu'un humain trouve le temps de tout faire manuellement.
Noyé(e) sous les articles dans votre domaine ?
Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.