Datadog kasutab Codexi süsteemitaseme koodiülevaatuseks
Codexi abil toob Datadog süsteemiülese konteksti igasse koodiülevaatusse, et ennetada intsidente ja kaitsta klientide usaldust.
Datadog(avaneb uues aknas) haldab üht maailma enimkasutatavat vaadeldavusplatvormi, aidates ettevõtetel jälgida, tõrkeid lahendada ja turvata keerukaid hajussüsteeme. Kui midagi läheb katki, loodavad kliendid Datadogi peale, et probleemid kiiresti esile tuua, mis tähendab, et töökindlus tuleb sisse ehitada juba ammu enne, kui kood tootmiskeskkonda jõuab.
Datadogi insenerimeeskondade jaoks on koodiülevaatus kõrgete panustega hetk. Asi pole ainult vigade leidmises, vaid ka mõistmises, kuidas muudatused levivad läbi omavahel seotud süsteemide – valdkond, kus traditsiooniline staatiline analüüs ja reeglipõhised tööriistad sageli hätta jäävad.
Selle väljakutse lahendamiseks pöördus Datadogi AI arendamise kogemuse (AI DevX) meeskond OpenAI kodeerimisagendi Codexi poole, mis toob süsteemitasemel arutluse koodiülevaatusse ja toob esile riskid, mida inimesed ei suuda suures mahus hõlpsasti märgata.
„Aja kokkuhoid on reaalne ja oluline,” ütleb Brad Carter, kes juhib Datadogi AI DevX meeskonda Aga vahejuhtumite ennetamine on meie mastaabis palju veenvam.”
Tõhus koodiülevaatus Datadogis tugines traditsiooniliselt suuresti vaneminseneridele – neile, kes mõistavad koodibaasi, selle ajalugu ja arhitektuurilisi kompromisse piisavalt hästi, et märgata süsteemset riski.
Kuid sellist sügavat konteksti on raske skaleerida ning varased tehisintellektil põhinevad koodiülevaatustööriistad ei lahendanud seda probleemi; paljud käitusid nagu täiustatud linterid, tuues esile pinnapealsed probleemid, kuid jättes märkamata laiema süsteemi nüansid. Datadogi insenerid leidsid sageli, et soovitused olid liiga pealiskaudsed või liiga häirivad, ja eirasid neid.
Datadog alustas OpenAI kodeerimisagendi Codex piloteerimist, integreerides selle reaalajas arendustöövoogudesse. Ühes ettevõtte suurimas ja enim kasutatavas varamus vaatas Codex iga pull requesti automaatselt üle. Insenerid reageerisid Codexi kommentaaridele pöidlad üles või alla ja jagasid mitteametlikku tagasisidet meeskondade vahel. Paljud märkisid, et Codexi tagasisidet tasus lugeda, erinevalt varasematest tööriistadest, mis andsid mürarikkaid või pealiskaudseid soovitusi.
Et testida, kas tehisintellekti abil tehtav ülevaatus suudab teha enamat kui ainult stiiliprobleemidele osutada, ehitas Datadog intsidendi taasesituse mehhanismi.
Hüpoteetiliste stsenaariumide kasutamise asemel pöördus meeskond tagasi ajalooliste juhtumite juurde. Nad rekonstrueerisid pull requestid, mis olid seotud intsidentidega, käivitasid Codexi igaühe peal, justkui oleks see olnud osa algsest ülevaatusest, ja küsisid seejärel inseneridelt, kes nende intsidentide eest vastutasid, kas Codexi tagasiside oleks midagi muutnud.
Tulemus: Codex leidis rohkem kui 10 juhtumit ehk ligikaudu 22% intsidentidest, mida Datadog uuris , kus insenerid kinnitasid, et Codexi antud tagasiside oleks midagi muutnud – rohkem kui ükski teine hinnatud tööriist.
Kuna need pull requestid olid juba koodiülevaatuse läbinud, näitas kordustest, et Codex tõi esile riske, mida ülevaatajad tol ajal ei märganud, täiendades inimlikku otsustusvõimet, mitte seda asendades.
Datadogi analüüs näitas, et Codex tuvastas järjepidevalt probleeme, mis ei ole ilmsed üksnes vahetust diff'ist ja mida ei saa deterministlike reeglitega tuvastada.
Insenerid kirjeldasid Codexi kommentaare kui midagi enamat kui „boti müra“:
- Codex tõi esile interaktsioonid moodulitega, mida erinevuses ei puudutatud;
- see tuvastas puuduliku testide katvuse valdkondades, kus esineb teenustevaheline seotus;
- see tõi esile API lepingu muudatused, mis kandsid endaga kaasa allavoolu riski.
„Minu jaoks tundub Codexi kommentaar nagu kõige targem insener, kellega olen töötanud ja kellel on lõputult aega vigade leidmiseks. See näeb seoseid, mida mu aju ei suuda kõiki korraga hoomata,“
Võime siduda ülevaatuse tagasiside tegelike töökindluse tulemustega oli see, mis tegi Codexi Datadogi hindamisel silmapaistvaks. Erinevalt staatilise analüüsi tööriistadest võrdleb Codex pull requesti kavatsust esitatud koodimuudatustega, kasutades arutlust kogu koodibaasi ja sõltuvuste üle, et käivitada kood ja testid käitumise valideerimiseks.
„See oli esimene, mis näis tegelikult arvestavat erinevust programmi laiemas kontekstis,“ ütleb Carter. „See oli uudne ja silmiavav.“
Paljude arendajate jaoks muutis see nihe täielikult seda, kuidas nad AI ülevaatusega suhtlesid. „Hakkasin Codexi kommentaare käsitlema nagu päris koodi ülevaatuse tagasisidet,“ ütleb Ted Wexler, Datadogi vanem tarkvarainsener „Midagi, mida ma ei jätaks lihtsalt üle lugemata ega ignoreeriks, vaid midagi, millele tasub tähelepanu pöörata.“
Pärast hindamist juurutas Datadog Codexit laiemalt oma inseneride hulgas. Täna kasutab seda regulaarselt enam kui 1000 arendajat .
Tagasiside ilmneb peamiselt loomulikul teel, mitte ametlike tööriistasiseste mõõdikute kaudu. Arendajad postitavad Slacki kasulike tähelepanekute, konstruktiivsete kommentaaride ja hetkede kohta, mil Codex aitas neil probleemi üle teistmoodi mõelda.
Kuigi ajasääst on märkimisväärne, viitasid meeskonnad järjepidevalt tähendusrikkamale muutusele selles, kuidas tööd tehti.
„Codex muutis mu arusaama sellest, milline peaks olema koodiülevaatus. Asi ei ole meie parimate inimülevaatajate kopeerimises. See seisneb kriitiliste vigade ja äärmuslike juhtumite leidmises, mida inimestel on raske märgata, kui nad vaatavad muudatusi üksikult üle.“
Datadogi laiem mõju seisnes muutuses selles, kuidas koodi ülevaatust ennast määratletakse. Selle asemel, et käsitleda ülevaatust kontrollpunktina vigade leidmiseks või tsükli aja optimeerimiseks, näeb meeskond nüüd Codexi kui keskset töökindluse süsteemi, mis tegutseb partnerina:
- riskide esiletoomine, mis ületab üksikute ülevaatajate konteksti hoidmise võime;
- moodulitevaheliste ja teenustevaheliste interaktsioonide esiletõstmine;
- enesekindluse suurendamine mastaapses tarnimises;
- lubab inimülevaatajatel keskenduda arhitektuurile ja disainile.
See nihe on kooskõlas sellega, kuidas Datadogi juhid määratlevad inseneritöö prioriteedid, kus usaldusväärsus ja usaldus on sama olulised või isegi olulisemad kui kiirus.
„Me oleme platvorm, millele ettevõtted toetuvad, kui kõik muu kokku kukub,“ ütleb Carter. „Intsidentide ennetamine tugevdab usaldust, mida meie kliendid meisse panevad.“


