Datadog utilise Codex pour la révision du code du système
Avec Codex, Datadog introduit le contexte global du système dans chaque révision de code afin de prévenir les incidents et de préserver la confiance des clients.
Datadog(ouverture dans une nouvelle fenêtre) exploite l’une des plateformes d’observabilité les plus utilisées au monde, aidant les entreprises à surveiller, dépanner et sécuriser des systèmes distribués complexes. Lorsqu’un incident survient, les clients comptent sur Datadog pour détecter rapidement les problèmes, ce qui implique que la fiabilité doit être intégrée bien avant que le code n’atteigne la phase de production.
Pour les équipes d'ingénieurs de Datadog, la révision du code revêt donc une importance capitale. Il ne s'agit pas seulement de détecter les erreurs, mais aussi de comprendre comment les modifications se répercutent sur les systèmes interconnectés, un domaine où les outils classiques d'analyse statique et basés sur des règles sont souvent insuffisants.
Pour relever ce défi, l'équipe AI Development Experience (AI DevX) de Datadog s'est tournée vers Codex, l'agent de codage d'OpenAI, qui applique le raisonnement au niveau du système à la révision du code et met en évidence les risques que les humains ne peuvent pas facilement détecter à grande échelle.
« Le gain de temps est réel et significatif », déclare Brad Carter, responsable de l'équipe AI DevX chez Datadog. « Mais prévenir les incidents est bien plus pertinent à notre échelle. »
Chez Datadog, l'efficacité de la révision du code reposait traditionnellement en grande partie sur les ingénieurs seniors, c'est-à-dire les personnes qui comprennent suffisamment bien le code source, son historique et les compromis architecturaux pour détecter les risques systémiques.
Cependant, ce type de contexte approfondi est difficile à reproduire à grande échelle, et les premiers outils de révision de code basés sur l'IA ne résolvaient pas ce problème ; beaucoup fonctionnaient comme des linters avancés, signalant les problèmes superficiels tout en passant à côté des subtilités plus générales du système. Les ingénieurs de Datadog trouvaient souvent les suggestions trop superficielles ou trop nombreuses, et les ignoraient.
Datadog a commencé à tester Codex, l'agent de codage d'OpenAI, en l'intégrant dans ses workflows de développement en direct. Dans l'un des dépôts les plus importants et les plus utilisés de l'entreprise, chaque pull request a été automatiquement examinée par Codex. Les ingénieurs réagissaient aux commentaires de Codex en les approuvant ou en les désapprouvant et partageaient leur feedback de manière informelle entre les équipes. Beaucoup ont remarqué que le feedback de Codex avait de la valeur, contrairement aux outils précédents qui produisaient des suggestions inutiles ou superficielles.
Afin de déterminer si l'analyse assistée par l'IA pouvait aller au-delà de la simple identification des problèmes de style, Datadog a développé un dispositif de relecture des incidents.
Au lieu de recourir à des scénarios hypothétiques, l'équipe s'est appuyée sur des incidents historiques. Elle a reconstitué les pull requests qui avaient contribué à ces incidents, a exécuté Codex sur chacune d'entre elles comme si elles faisaient partie de la révision initiale, puis a demandé aux ingénieurs responsables de ces incidents si le feedback de Codex aurait pu changer la donne.
Résultat : Codex a détecté plus de 10 cas, soit environ 22 % des incidents examinés par Datadog, où les ingénieurs ont confirmé que le feedback fourni par Codex aurait fait la différence, plus que tout autre outil évalué.
Étant donné que ces demandes de modification avaient déjà été approuvées lors de la révision du code, le test de relecture a démontré que Codex avait identifié des risques que les réviseurs n'avaient pas détectés à l'époque, complétant ainsi le travail d'analyse humaine sans le remplacer.
L'analyse de Datadog a démontré que Codex signalait systématiquement des problèmes qui ne sont pas facilement identifiables à partir d'une simple comparaison et qui ne peuvent être détectés par des règles prédéfinies.
Les ingénieurs ont qualifié les commentaires du Codex comme étant bien plus qu'un simple « bruit de fond » :
- Codex a identifié les interactions avec les modules non affectés dans le diff
- Il a identifié un manque de couverture de test dans les domaines de couplage interservices
- Il a souligné les modifications apportées aux contrats API qui comportaient un risque en aval
« Pour moi, un commentaire Codex s'apparente à l'ingénieur le plus compétent avec lequel j'ai eu l'occasion de collaborer et qui dispose d'un temps illimité pour détecter les erreurs. Il décèle des liens que mon esprit ne parvient pas à établir immédiatement. »
C'est cette capacité à associer le feedback des révisions à des résultats concrets et fiables qui a permis à Codex de se démarquer dans l'évaluation de Datadog. aux outils d'analyse statique, Codex compare l'intention d'une pull request avec les modifications de code soumises, en tenant compte de l'ensemble du code et des dépendances pour exécuter le code et les tests afin de valider le comportement.
« C'était le premier outil qui semblait réellement prendre en compte le diff dans un contexte plus global », explique M. Carter. « C'était novateur et révélateur. »
Pour de nombreux ingénieurs, ce changement a transformé leur manière d'interagir avec la révision par IA dans son ensemble. « J'ai commencé à traiter les commentaires de Codex comme du feedback réel de révision de code », explique Ted Wexler, ingénieur logiciel senior chez Datadog. « Ce n'était plus quelque chose que je survolais ou ignorais, mais quelque chose qui méritait toute mon attention. »
À la suite de cette évaluation, Datadog a déployé Codex à plus grande échelle au sein de son équipe d'ingénieurs. Aujourd'hui, plus de 1 000 ingénieurs l'utilisent régulièrement.
Le feedback est principalement recueilli de manière organique plutôt que par le biais d'indicateurs formels intégrés à l'outil. Les ingénieurs publient sur Slack des informations utiles, des commentaires constructifs et des cas où Codex les a aidés à envisager un problème sous un angle différent.
Bien que le gain de temps soit considérable, les équipes ont systématiquement souligné un changement plus significatif dans la manière dont le travail était effectué.
« Codex a changé ma perception de ce que devrait être une révision de code. Il ne s'agit pas de remplacer nos meilleurs experts humains. Il s'agit plutôt de détecter les défauts critiques et les cas exceptionnels que les humains ont du mal à repérer lorsqu'ils révisent les modifications de manière isolée. »
L'impact plus large pour Datadog a été un changement dans la manière dont la révision du code est définie. Plutôt que de considérer la révision comme un contrôle visant à détecter les erreurs ou à optimiser le temps de cycle, l'équipe considère désormais Codex comme un système de fiabilité essentiel qui agit comme un partenaire :
- Il met en évidence les risques que les réviseurs ne peuvent pas détecter seuls
- Il met en évidence les interactions entre les modules et les services
- Il renforce la confiance dans le déploiement à grande échelle
- Il permet aux réviseurs humains de se concentrer sur l'architecture et la conception.
Cette évolution s'inscrit dans la logique des dirigeants de Datadog en matière de priorités techniques, où la fiabilité et la confiance sont tout aussi importantes, voire plus, que la rapidité
« Nous sommes la plateforme sur laquelle les entreprises peuvent compter lorsque tout le reste est défaillant », déclare M. Carter. « Prévenir les incidents renforce la confiance que nos clients nous accordent. »


