Datadog käyttää Codexia järjestelmätason koodikatselmointiin
Codexin avulla Datadog tuo järjestelmänlaajuisen kontekstin jokaiseen koodin tarkistukseen, jotta voidaan ehkäistä ongelmia ja suojella asiakkaiden luottamusta.
Datadog(avautuu uudessa ikkunassa) ylläpitää yhtä maailman käytetyimmistä havainnointialustoista ja auttaa yrityksiä seuraamaan, korjaamaan ja suojaamaan monimutkaisia hajautettuja järjestelmiä. Kun jokin menee rikki, asiakkaat luottavat Datadogin kykyyn havaita ongelmat nopeasti, mikä tarkoittaa, että luotettavuus on rakennettava jo kauan ennen kuin koodi päätyy tuotantoon.
Koodin tarkistus on tärkeä hetki Datadogin suunnitteluryhmille. Kyse ei ole vain virheiden löytämisestä, vaan siitä, että ymmärretään, miten muutokset vaikuttavat toisiinsa kytkeytyvissä järjestelmissä – alue, jossa perinteinen staattinen analyysi ja sääntöpohjaiset työkalut usein osoittautuvat riittämättömiksi
Tämän haasteen ratkaisemiseksi Datadogin AI Development Experience (AI DevX) -tiimi kääntyi OpenAI:n koodausagentin Codexin puoleen, joka tuo järjestelmätason päättelyn koodin tarkastukseen ja paljastaa riskejä, joita ihmiset eivät helposti näe suuressa mittakaavassa.
"Aikasäästöt ovat todellisia ja tärkeitä", sanoo Datadogin AI DevX -tiimin johtaja Brad Carter. “Mutta vaaratilanteiden ehkäiseminen on meidän mittakaavassamme paljon vaikuttavampaa.”
Tehokas koodin tarkistus Datadogilla on perinteisesti nojannut vahvasti kokeneisiin insinööreihin – henkilöihin, jotka tuntevat koodipohjan, sen historian ja arkkitehtoniset kompromissit riittävän hyvin havaitakseen systeemiset riskit.
Mutta syvällisen kontekstin skaalaaminen on vaikeaa, eivätkä varhaiset tekoälypohjaiset koodin tarkistustyökalut ratkaisseet tätä ongelmaa; monet toimivat kuin edistyneet linterit, jotka huomauttivat pintatason ongelmista mutta ohittivat laajemmat järjestelmän vivahteet. Datadogin insinöörit kokivat usein ehdotukset liian pinnallisiksi tai meluisiksi ja jättivät ne huomiotta.
Datadog aloitti OpenAI:n koodausagentin Codexin pilotoinnin integroimalla sen reaaliaikaisiin kehitystyönkulkuihin. Yhdessä yrityksen suurimmista ja eniten käytetyistä repositorioista Codex tarkasti automaattisesti jokaisen muutospyynnön. Insinöörit reagoivat Codexin kommentteihin peukuttamalla ylös tai alas ja jakoivat epävirallista palautetta tiimien kesken. Monet huomasivat, että Codexin palaute oli lukemisen arvoista, toisin kuin aiemmat työkalut, jotka tuottivat sekavia tai pinnallisia ehdotuksia.
Testatakseen, voisiko tekoälyavusteinen tarkistus tehdä muutakin kuin osoittaa tyyliongelmia, Datadog rakensi häiriöiden uudelleentoistovälineen.
Hypoteettisten skenaarioiden sijaan tiimi palasi historiallisiin tapauksiin. He rekonstruoivat muutospyynnöt, jotka olivat myötävaikuttaneet häiriöihin, suorittivat Codexin jokaisen läpi ikään kuin se olisi ollut osa alkuperäistä tarkastusta, ja kysyivät sitten niistä häiriöistä vastanneilta insinööreiltä, olisiko Codexin palaute vaikuttanut asiaan.
Tämän seurauksena Codex löysi yli 10 tapausta eli noin 22 % Datadogin tarkastelemista tapauksista, joissa insinöörit vahvistivat, että Codexin antama palaute olisi vaikuttanut lopputulokseen – enemmän kuin mikään muu arvioitu työkalu.
Koska nämä muutospyynnöt olivat jo läpäisseet kooditarkastuksen, toistotesti osoitti, että Codex toi esiin riskejä, joita tarkastajat eivät olleet tuolloin huomanneet, täydentäen inhimillistä harkintaa sen sijaan, että olisi korvannut sen.
Datadogin analyysi osoitti, että Codex löysi johdonmukaisesti ongelmia, jotka eivät ole ilmeisiä pelkästään välittömästä koodierosta ja joita ei voi havaita deterministisillä säännöillä.
Insinöörit kuvailivat Codexin kommentteja enemmän kuin pelkäksi ”bottimeluksi”:
- Codex huomautti vuorovaikutuksista moduulien kanssa, joita ei ole käsitelty eroissa.
- Se tunnisti puuttuvan testikattavuuden palveluiden välisen yhteyden alueilla.
- Se korosti API-sopimusmuutoksia, jotka aiheuttivat jatkossa riskejä
”Minusta Codex-kommentti tuntuu kuin fiksuimmalta insinööriltä, jonka kanssa olen työskennellyt, ja jolla on rajattomasti aikaa löytää virheitä. Se havaitsee yhteyksiä, joita aivoni eivät pysty käsittelemään kerralla.”
Kyky yhdistää tarkastuspalautteet todellisiin luotettavuustuloksiin sai Codexin erottumaan Datadogin arvioinnissa. Toisin kuin staattiset analyysityökalut, Codex vertaa muutospyynnön tarkoitusta lähetettyihin koodimuutoksiin ja analysoi koko koodipohjan ja riippuvuudet koodin suorittamiseksi sekä testit käyttäytymisen vahvistamiseksi.
"Se oli ensimmäinen työkalu, joka todella vaikutti ottavan huomioon eron ohjelman laajemmassa kontekstissa", Carter sanoo ”Se oli uutta ja paljastavaa.”
Monille insinööreille tuo muutos muutti täysin heidän tapansa suhtautua tekoälyarviointiin. "Aloin käsitellä Codex-kommentteja kuin todellista koodikatselmointipalautetta", sanoo Ted Wexler, Datadogin vanhempi ohjelmistosuunnittelija. ”En ohita tai sivuuta sitä koska se on huomion arvoinen asia.”
Arvioinnin jälkeen Datadog otti Codexin laajemmin käyttöön koko insinööritiimissään. Nykyään yli 1 000 insinööriä käyttää sitä säännöllisesti.
Palaute tulee esiin pääasiassa luonnollisesti eikä muodollisten työkalun sisäisten mittareiden kautta. Insinöörit jakavat Slackissa hyödyllisiä oivalluksia, rakentavia kommentteja ja hetkiä, jolloin Codex auttoi heitä ajattelemaan ongelmaa eri tavalla.
Vaikka ajansäästö on merkittävää, tiimit korostivat jatkuvasti merkittävämpää muutosta työn tekemisen tavassa.
“Codex muutti käsitykseni siitä, millainen koodin tarkastuksen tulisi olla. Kyse ei ole parhaiden ihmisarvioijiemme jäljittelemisestä. Kyse on kriittisten virheiden ja ääritapausten löytämisestä, joita ihmiset eivät pysty havaitsemaan tarkastellessaan muutoksia erillään.”
Datadogille laajempi vaikutus oli muutos siinä, miten koodin tarkistus itsessään määritellään. Sen sijaan, että tiimi pitäisi tarkistusta virheiden havaitsemisen tai sykliajan optimoinnin tarkistuspisteenä, se näkee Codexin nyt keskeisenä luotettavuusjärjestelmänä, joka toimii kumppanina:
- Riskien esiin tuominen ylitti sen, mitä yksittäiset arvioijat voivat käsitellä kontekstissa
- Moduulien ja palveluiden välisen vuorovaikutuksen korostaminen
- Luottamuksen lisääminen toimituksiin laajassa mittakaavassa
- Ihmisarvioijien mahdollisuus keskittyä arkkitehtuuriin ja suunnitteluun
Tämä muutos on linjassa Datadogin johtajien asettamien teknisten prioriteettien kanssa, joissa luotettavuus ja luottamus ovat vähintään yhtä tärkeitä kuin nopeus.
”Olemme alusta, johon yritykset luottavat, kun kaikki muu pettää”, Carter sanoo. “Häiriöiden ehkäiseminen vahvistaa asiakkaidemme luottamusta meihin.”


