Datadog bruker Codex for kodegjennomgang på systemnivå
Med Codex gir Datadog systemomfattende kontekst til hver kodegjennomgang for å forhindre hendelser og beskytte kundenes tillit.
Datadog(åpnes i et nytt vindu) driver en av verdens mest brukte observabilitetsplattformer, som hjelper selskaper med å overvåke, feilsøke og sikre komplekse, distribuerte systemer. Når noe går i stykker, stoler kundene på at Datadog raskt avdekker problemer, noe som betyr at pålitelighet må være innebygd lenge før koden når produksjon.
For Datadogs ingeniørteam gjør det kodegjennomgang til et avgjørende øyeblikk. Det handler ikke bare om å fange opp feil, men om å forstå hvordan endringer sprer seg gjennom sammenkoblede systemer–et område der tradisjonell statisk analyse og regelbaserte verktøy ofte ikke strekker til.
For å møte denne utfordringen vendte Datadogs AI Development Experience-team (AI DevX) seg til Codex, kodeagenten fra OpenAI, som bringer resonnering på systemnivå inn i kodegjennomgang, og avdekker risikoer som det er vanskelig for mennesker å se i stor skala.
«Tidsbesparelser er reelle og viktige», sier Brad Carter, som leder Datadog's AI DevX-team «Men å forhindre hendelser er langt mer overbevisende i vår skala.»
Effektiv kodegjennomgang hos Datadog har tradisjonelt vært sterkt avhengig av senioringeniører–de som forstår kodebasen, historikken og de arkitektoniske avveiningene godt nok til å oppdage systemrisiko.
Men denne typen dyptgående kontekst er vanskelig å skalere, og tidlige AI-verktøy for kodegjennomgang løste ikke dette problemet. Mange oppførte seg som avanserte linters, som flagget overfladiske problemer mens de overså bredere systemnyanser. Datadogs ingeniører fant ofte at forslagene var for overfladiske eller for støyende, og ignorerte dem.
Datadog begynte å teste Codex, agenten fra OpenAI, ved å integrere den i de live utviklingsarbeidsflytene. I et av selskapets største og mest brukte lagre, ble hver pull-forespørsel automatisk gjennomgått av Codex. Ingeniørene reagerte positivt eller negativt på kommentarer fra Codex, og delte uformell tilbakemelding på tvers av teamene. Mange bemerket at tilbakemeldingen fra Codex var verdt å lese, i motsetning til tidligere verktøy som ga støyende eller overfladiske forslag.
For å teste om AI-assistert gjennomgang kunne gjøre mer enn å påpeke stilproblemer, bygde Datadog et rammeverk for avspilling av hendelser.
I stedet for å bruke hypotetiske scenarioer, gikk teamet tilbake til historiske hendelser. De rekonstruerte pull-forespørsler som hadde bidratt til hendelser, kjørte Codex mot hver enkelt som om den var en del av den opprinnelige gjennomgangen, og spurte deretter ingeniørene som eide disse hendelsene om tilbakemeldinger fra Codex ville ha utgjort en forskjell.
Resultatet: Codex fant mer enn 10 tilfeller, eller omtrent 22 % av hendelsene som Datadog undersøkte, der ingeniører bekreftet at tilbakemeldingen Codex ga ville ha gjort en forskjell–i større grad enn noe annet verktøy som ble evaluert.
Fordi disse pull-forespørslene allerede hadde bestått kodegjennomgang, viste avspillingstesten at Codex avdekket risikoer som anmelderne ikke hadde sett på det tidspunktet, og dermed utfylte menneskelig vurdering i stedet for å erstatte den.
Datadogs analyse viste at Codex konsekvent bare flagget problemer som ikke er åpenbare fra den umiddelbare forskjellen, og som ikke kan fanges opp av deterministiske regler.
Ingeniørene beskrev Codex-kommentarer som mer enn bare «botstøy»:
- Codex påpekte interaksjoner med moduler som ikke var berørt i endringen.
- Den identifiserte manglende testdekning i områder med kobling mellom tjenester
- Dette fremhevet endringer i API-kontrakten som medførte risiko nedstrøms
«For meg føles en Codex-kommentar som den smarteste ingeniøren jeg har jobbet med, og som har uendelig tid til å finne feil. Den ser sammenhenger som jeg ikke klarer å tenke på samtidig».
Evnen til å koble tilbakemeldinger fra gjennomgang til faktiske pålitelighetsresultater var det som gjorde at Codex skilte seg ut i Datadogs evaluering. I motsetning til statiske analyseverktøy, sammenligner Codex intensjonen bak pull-forespørselen med de innsendte kodeendringene, og resonnement over hele kodebasen og avhengigheter for å kjøre kode og tester for å validere atferd.
«Den var faktisk den første som så ut til å ta hensyn til forskjellen i den større konteksten i programmet», sier Carter «Det var nytt og overraskende».
For mange ingeniører endret dette alt for hvordan de engasjerte seg med AI-gjennomgang. «Jeg begynte å behandle Codex-kommentarer som ekte tilbakemeldinger fra kodegjennomgang», sier Ted Wexler, Senior Software Engineer hos Datadog «Det var ikke noe jeg ville lese raskt gjennom eller ignorert, men noe det er verdt å legge merke til.»
Etter evalueringen implementerte Datadog Codex bredere i hele ingeniørstaben. I dag bruker mer enn 1 000 ingeniører det regelmessig.
Tilbakemeldinger avdekkes i stor grad organisk snarere enn gjennom formelle målinger i verktøyet. Ingeniører deler på Slack nyttige innsikter, konstruktive kommentarer og øyeblikk der Codex hjalp dem med å tenke annerledes om et problem.
Selv om tidsbesparelsene er betydelige, pekte teamene konsekvent på en mer meningsfull endring i hvordan arbeidet ble utført.
«Codex fikk meg til å endre mening om hva en kodegjennomgang bør være. Det handler ikke om å etterligne våre beste menneskelige anmeldere. Det handler om å finne kritiske feil og grensetilfeller som mennesker ofte sliter med å oppdage når de vurderer endringer isolert».
For Datadog førte dette til en ny forståelse av hvordan kodegjennomgang egentlig defineres. I stedet for å behandle gjennomgang som et kontrollpunkt for å fange opp feil eller optimalisere syklustid, ser teamet nå på Codex som et sentralt pålitelighetssystem som fungerer som en partner:
- Avdekke risikoer utover det individuelle gjennomgangspersoner kan håndtere i kontekst
- Fremheving av interaksjoner på tvers av moduler og tjenester
- Økt sikkerhet og forutsigbarhet ved leveranser i stor skala
- Tillater menneskelige gjennomgangspersoner å fokusere på arkitektur og design
Denne endringen samsvarer med hvordan Datadogs ledere definerer ingeniørprioriteringer, der pålitelighet og tillit er like viktige som, om ikke viktigere enn, hastighet.
«Vi er plattformen selskaper stoler på når alt annet svikter,» sier Carter «Forebygging av hendelser styrker våre kunders tillit til oss».


