Pereiti prie pagrindinio turinio
OpenAI

2026 m. sausio 9 d.

„Datadog“ naudoja „Codex“ sistemos lygio kodo peržiūrai

Pasitelkusi „Codex“, „Datadog“ įtraukia visos sistemos kontekstą į kiekvieną kodo peržiūrą, kad išvengtų incidentų ir apsaugotų klientų pasitikėjimą.

Įkeliama...

„Datadog“(atsidaro naujame lange) valdo vieną iš plačiausiai pasaulyje naudojamų stebėjimo platformų, padėdama įmonėms stebėti, šalinti triktis ir užtikrinti sudėtingų paskirstytų sistemų saugumą. Kai kas nors sugenda, klientai priklauso nuo „Datadog“, kad greitai pastebėtų problemas, o tai reiškia, kad patikimumas turi būti įdiegtas dar gerokai prieš kodui pasiekiant gamybinę aplinką.

„Datadog“ inžinierių komandoms kodo peržiūra yra labai atsakingas momentas. Tai ne tik klaidų aptikimas, bet ir supratimas, kaip pakeitimai nuvilnija per tarpusavyje susijusias sistemas – tai sritis, kurioje dažnai nepakanka tradicinės statinės analizės ir taisyklėmis pagrįstų įrankių.

Siekdama įveikti šį iššūkį, „Datadog“ DI kūrimo patirties („AI DevX“) komanda pasirinko „Codex“ – „OpenAI“ programavimo agentą, kuris įtraukia sistemos lygio protavimą į kodo peržiūrą ir atskleidžia rizikas, kurias žmonėms sunku pastebėti dideliu mastu.

„Laiko taupymas – realus ir svarbus klausimas, – sako Bradas Carteris, vadovaujantis „Datadog“ „AI DevX“ komandai. –Tačiau incidentų prevencija mūsų mastu yra kur kas svarbesnė.“

Sistemos lygio konteksto įtraukimas į kodo peržiūrą naudojant „Codex“

Efektyvi kodo peržiūra „Datadog“ įmonėje tradiciškai labai priklausė nuo vyresniųjų inžinierių – žmonių, kurie pakankamai gerai supranta kodo bazę, jos istoriją ir architektūrinius kompromisus, kad pastebėtų sisteminę riziką. 

Tačiau tokį gilų kontekstą sunku pritaikyti dideliu mastu, ir ankstyvieji DI kodo peržiūros įrankiai neišsprendė šios problemos; daugelis jų veikė kaip pažangūs kodo tikrintuvai, žymintys paviršutiniškas problemas, bet praleidžiantys platesnius sistemos niuansus. „Datadog“ inžinieriai dažnai laikė pasiūlymus pernelyg lėkštais ar triukšmingais ir juos ignoruodavo.

„Datadog“ pradėjo bandomąjį „Codex“ – „OpenAI“ programavimo agento – naudojimą, integruodama jį į tiesioginę kūrimo eigą. Vienoje didžiausių ir intensyviausiai įmonės naudojamų saugyklų kiekvieną išsiuntimo užklausą automatiškai peržiūrėdavo „Codex“. Inžinieriai į „Codex“ komentarus reagavo nykščiu aukštyn arba žemyn ir dalijosi neformaliu grįžtamuoju ryšiu tarp komandų. Daugelis pastebėjo, kad „Codex“ atsiliepimus, skirtingai nei ankstesnių įrankių, kurie teikdavo triukšmingus ar paviršutiniškus pasiūlymus, verta skaityti.

DI atliekamos peržiūros tikrinimas remiantis realiais incidentais

Siekdama patikrinti, ar DI padedama peržiūra gali ne tik nurodyti stiliaus problemas, „Datadog“ sukūrė incidentų atkūrimo įrankį.

Užuot naudojusi hipotetinius scenarijus, komanda grįžo prie istorinių incidentų. Jie atkūrė išsiuntimo užklausas, prisidėjusias prie incidentų, paleido „Codex“ kiekvienai iš jų, tarsi tai būtų pradinės peržiūros dalis, o tada paklausė inžinierių, atsakingų už tuos incidentus, ar „Codex“ atsiliepimai būtų ką nors pakeitę.

Rezultatas: „Codex“ aptiko daugiau nei 10 atvejų, arba maždaug 22 proc. incidentų, kuriuos ištyrė „Datadog“, kai inžinieriai patvirtino, kad „Codex“ pateiktas grįžtamasis ryšys būtų turėjęs įtakos – daugiau nei bet kuris kitas vertintas įrankis.

Kadangi šios išsiuntimo užklausos jau buvo praėjusios kodo peržiūrą, atkūrimo testas parodė, kad „Codex“ atskleidė rizikas, kurių atlikdami peržiūrą recenzentai nepastebėjo, papildydamas žmogaus sprendimus, o ne juos pakeisdamas.

Nuoseklaus ir informatyvaus grįžtamojo ryšio teikimas

„Datadog“ analizė parodė, kad „Codex“ nuosekliai žymėjo problemas, kurios nėra akivaizdžios vien iš tiesioginių kodo skirtumų ir kurių negalima aptikti deterministinėmis taisyklėmis.

Inžinieriai apibūdino „Codex“ komentarus kaip daugiau nei „boto triukšmą“:

  • „Codex“ nurodė sąveikas su moduliais, kurie nebuvo paliesti kodo pakeitimuose;
  • jis nustatė trūkstamą testų aprėptį tarpusavio paslaugų sąsajos srityse;
  • jis atkreipė dėmesį į API sutarčių pakeitimus, keliančius riziką tolesnėse grandyse.
„Man „Codex“ komentaras atrodo tarsi protingiausio inžinieriaus, su kuriuo esu dirbęs ir kuris turi begalę laiko klaidoms ieškoti, pastaba. Jis mato ryšius, kurių mano smegenys nepajėgia apdoroti vienu metu.“
– Bradas Carteris, „Datadog“ inžinerijos vadovas

Būtent gebėjimas susieti peržiūros atsiliepimus su realiais patikimumo rezultatais išskyrė „Codex“ per „Datadog“ vertinimą. Skirtingai nei statinės analizės įrankiai, „Codex“ lygina išsiuntimo užklausos ketinimą su pateiktais kodo pakeitimais, protaudamas apie visą kodo bazę bei priklausomybes, kad įvykdytų kodą bei testus ir patvirtintų elgseną.

„Tai buvo pirmasis įrankis, kuris iš tikrųjų atsižvelgė į kodo skirtumus platesniame programos kontekste, – sako B. Carteris. –Tai buvo nauja ir atvėrė akis.“

Daugeliui inžinierių šis pokytis visiškai pakeitė požiūrį į DI atliekamą peržiūrą. „Pradėjau vertinti „Codex“ komentarus kaip tikrus kodo peržiūros atsiliepimus, – sako Tedas Wexleris, „Datadog“ vyresnysis programinės įrangos inžinierius. –Ne kaip kažką, ką peržvelgčiau prabėgomis ar ignoruočiau, bet kaip kažką, į ką verta atkreipti dėmesį.“

Inžinierių dėmesio telkimas į projektavimą, o ne į aptikimą

Po vertinimo „Datadog“ plačiau įdiegė „Codex“ savo inžinerijos padaliniuose. Šiandien jį reguliariai naudoja daugiau nei 1 tūkst. inžinierių

Grįžtamasis ryšys dažniausiai gaunamas natūraliai, o ne per formalias įrankio metrikas. Inžinieriai rašo „Slack“ kanaluose apie naudingas įžvalgas, konstruktyvius komentarus ir akimirkas, kai „Codex“ padėjo jiems kitaip pažvelgti į problemą.

Nors laiko sutaupoma daug, komandos nuolat nurodydavo prasmingesnį pokytį atliekant darbus. 

„Codex“ pakeitė mano nuomonę apie tai, kaip turėtų atrodyti kodo peržiūra. Tai nėra mūsų geriausių žmonių-recenzentų kopijavimas. Tai kritinių trūkumų ir ribinių atvejų, kuriuos žmonėms sunku pastebėti peržiūrint pakeitimus atskirai, radimas.“
– Bradas Carteris, „Datadog“ inžinerijos vadovas

Kodo peržiūros sampratos keitimas: dėmesys rizikai, o ne greičiui

Platesnis poveikis „Datadog“ buvo pačios kodo peržiūros sampratos pasikeitimas. Užuot vertinusi peržiūrą kaip kontrolinį punktą klaidoms gaudyti ar ciklo laikui optimizuoti, komanda dabar mato „Codex“ kaip neatsiejamą patikimumo sistemą, veikiančią kaip partneris:

  • atskleidžiančią riziką, kurios pavieniai recenzentai negali išlaikyti kontekste;
  • išryškinančią sąveikas tarp modulių ir paslaugų;
  • didinančią pasitikėjimą diegiant dideliu mastu;
  • leidžiančią žmonėms-recenzentams susitelkti į architektūrą ir projektavimą.

Šis pokytis atitinka „Datadog“ vadovų nustatytus inžinerijos prioritetus, kur patikimumas ir pasitikėjimas yra ne mažiau ar net daugiau svarbūs nei greitis.

„Esame platforma, kuria įmonės pasikliauja, kai visa kita sugenda, – sako B. Carteris. –Incidentų prevencija stiprina klientų pasitikėjimą mumis.“