Datadog usa Codex per revisar el codi a nivell de sistema
Amb Codex, Datadog incorpora el context de tot el sistema a cada revisió de codi per prevenir incidències i protegir la confiança dels clients.
Datadog(s'obre en una finestra nova) gestiona una de les plataformes d’observabilitat més utilitzades del món, per ajudar les empreses a supervisar, solucionar problemes i protegir sistemes distribuïts complexos. Quan alguna cosa falla, els clients depenen de Datadog per detectar ràpidament els problemes, cosa que vol dir que la fiabilitat s’ha d’incorporar molt abans que el codi arribi a producció.
Per als equips d’enginyeria de Datadog, això converteix la revisió de codi en un moment crític. No es tracta només de detectar errors, sinó d’entendre com els canvis es propaguen per sistemes interconnectats, un àmbit en què l’anàlisi estàtica tradicional i les eines basades en regles sovint es queden curtes.
Per afrontar aquest repte, l’equip d’AI Development Experience (AI DevX) de Datadog va recórrer a Codex, l’agent de programació d’OpenAI, que incorpora el raonament a nivell de sistema en la revisió de codi i fa aflorar riscos que els humans no poden veure fàcilment a escala.
"L’estalvi de temps és real i important", diu Brad Carter, que lidera l’equip AI DevX de Datadog. "Però prevenir incidents és molt més important a l’escala en què operem".
La revisió de codi eficaç a Datadog depenia tradicionalment i en gran mesura dels enginyers sènior: les persones que entenen prou bé la base de codi, la seva història i els compromisos arquitectònics per detectar riscos sistèmics.
Però aquest tipus de context profund és difícil d’escalar, i les primeres eines de revisió de codi amb IA no van resoldre aquest problema; moltes es comportaven com linters avançats, assenyalant problemes superficials mentre passaven per alt matisos més amplis del sistema. Els enginyers de Datadog sovint trobaven que els suggeriments eren massa superficials o massa sorollosos, i els ignoraven.
Datadog va començar a fer una prova pilot de Codex, l’agent de programació d’OpenAI, integrant-lo en els fluxos de treball de desenvolupament en viu. En un dels repositoris més grans i més utilitzats de l’empresa, totes les pull request eren revisades automàticament per Codex. Els enginyers van reaccionar als comentaris de Codex amb polzes amunt o avall i van compartir comentaris informals entre equips. Moltes persones van assenyalar que valia la pena llegir els comentaris de Codex, a diferència d’eines anteriors que generaven suggeriments poc útils o superficials.
Per provar si la revisió assistida per IA podia fer més que assenyalar problemes d’estil, Datadog va crear un banc de proves per reproduir incidents.
En lloc d’utilitzar escenaris hipotètics, l’equip va recórrer a incidents històrics. Van reconstruir les pull request que havien contribuït a incidències, van executar Codex sobre cadascuna com si formés part de la revisió original i, després, van preguntar als enginyers responsables d’aquelles incidències si els comentaris de Codex haurien marcat la diferència.
El resultat: Codex va trobar més de 10 casos, o aproximadament el 22 % dels incidents que Datadog va examinar, en què els enginyers van confirmar que els comentaris que Codex va proporcionar haurien marcat la diferència: més que cap altra eina avaluada.
Com que aquestes pull request ja havien superat la revisió de codi, la prova de reproducció va mostrar que Codex va fer aflorar riscos que els revisors no havien detectat en aquell moment, complementant el criteri humà en lloc de substituir-lo.
L’anàlisi de Datadog va mostrar que Codex assenyalava de manera consistent problemes que no són evidents només a partir de la diff immediata i que no es poden detectar amb regles deterministes.
Els enginyers van descriure els comentaris de Codex com alguna cosa més que "soroll de bot":
- Codex va assenyalar interaccions amb mòduls que no s’havien modificat a la diff
- Va identificar una manca de cobertura de proves en àrees d’acoblament entre serveis
- Va destacar canvis en el contracte de l’API que comportaven riscos per als sistemes dependents
"Per a mi, un comentari de Codex és com llegir l’enginyer més intel·ligent amb qui he treballat i que té temps infinit per trobar errors. Veu connexions que el meu cervell no pot abastar totes alhora".
Aquesta capacitat de vincular els comentaris de la revisió amb resultats reals de fiabilitat va ser el que va fer que Codex destaqués en l’avaluació de Datadog. A diferència de les eines d’anàlisi estàtica, Codex compara la intenció de la pull request amb els canvis de codi enviats, fa un raonament sobre tota la base de codi i les dependències per executar codi i proves per validar el comportament.
"Va ser el primer que realment semblava tenir en compte la diferència (diff) en el context més ampli del programa", diu Carter. "Va ser nou i revelador".
Per a molts enginyers, aquest canvi va modificar completament la manera com abordaven la revisió amb IA. "Vaig començar a tractar els comentaris de Codex com si fossin comentaris reals de revisió de codi", diu Ted Wexler, Enginyer sènior de programari a Datadog. "No és quelcom que llegiria per sobre o ignoraria, sinó una cosa a la qual val la pena parar-hi atenció".
Després de l’avaluació, Datadog va implementar Codex de manera més àmplia entre la seva plantilla d’enginyeria. Avui més de 1000 enginyers l'utilitzen regularment.
Els comentaris afloren majoritàriament de manera orgànica, més que no pas a través de mètriques formals integrades a l’eina. Els enginyers publiquen a Slack idees útils, comentaris constructius i moments en què Codex els va ajudar a enfocar un problema d’una manera diferent.
Tot i que l’estalvi de temps és significatiu, els equips van destacar reiteradament un canvi més rellevant en la manera com es duia a terme la feina.
"Codex m’ha fet canviar d’opinió sobre com hauria de ser la revisió de codi. No es tracta de replicar els nostres millors revisors humans. Es tracta de trobar errors crítics i casos límit que als humans els costa veure quan revisen canvis de manera aïllada".
L’impacte més ampli per a Datadog va ser un canvi en la manera com es defineix la revisió de codi. En lloc de tractar la revisió com un punt de control per detectar errors o optimitzar el temps de cicle, ara l’equip veu Codex com un sistema de fiabilitat essencial que actua com a col·laborador:
- Fer aflorar el risc més enllà del que els revisors individuals poden mantenir en context
- Ressaltar les interaccions entre mòduls i entre serveis
- Augmentar la confiança a l’hora d’enviar a escala
- Permetre que els revisors humans se centrin en l’arquitectura i el disseny
Aquest canvi s’alinea amb la manera com els líders de Datadog plantegen les prioritats d’enginyeria, en què la fiabilitat i la confiança tenen tanta importància com la velocitat, si no més.
"Som la plataforma a la qual recorren les empreses quan tota la resta falla", afirma Carter. "Prevenir incidents reforça la confiança que els nostres clients dipositen en nosaltres".


