Datadog izmanto Codex sistēmas līmeņa koda pārskatīšanai
Izmantojot Codex, Datadog katrā koda revīzijā iekļauj visas sistēmas mēroga kontekstu, lai novērstu incidentus un saglabātu klientu uzticību.
Datadog(atveras jaunā logā) nodrošina vienu no pasaulē visplašāk izmantotajām novērojamības platformām, kas palīdz uzņēmumiem uzraudzīt, novērst problēmas un aizsargāt sarežģītas izkliedētas sistēmas. Kad kaut kas salūst, klienti paļaujas uz Datadog, lai ātri atklātu problēmas, kas nozīmē, ka uzticamība jānodrošina ilgi pirms kods nonāk darba vidē.
Datadog inženieru komandām koda revīzija kļūst par augsta riska brīdi. Svarīgi ir ne tikai atrast kļūdas, bet arī izprast izmaiņu efektu savstarpēji saistītās sistēmās — jomā, kur tradicionālā statiskā analīze un uz noteikumiem balstīti rīki bieži vien nespēj nodrošināt pietiekamu efektivitāti.
Lai risinātu šo izaicinājumu, Datadog AI Development Experience (AI DevX) komanda vērsās pie Codex, OpenAI kodēšanas aģenta, kas koda pārskatīšanā ievieš sistēmas līmeņa spriestspēju un atklāj riskus, kurus cilvēki nevar viegli pamanīt.
“Laika ietaupījums ir reāls un svarīgs,” saka Breds Kārters, kurš vada Datadog AI DevX komandu. "Taču mūsu mērogā incidentu novēršana ir daudz pārliecinošāka."
Efektīva koda pārskatīšana Datadog tradicionāli lielā mērā balstījās uz vecākajiem inženieriem — tiem, kuri pietiekami labi izprot koda bāzi, tās vēsturi un arhitektūras kompromisus, lai pamanītu sistēmiskus riskus.
Nodrošināt tik dziļu izpratni lielā mērogā ir sarežģīti, un agrīnie MI koda pārskatīšanas rīki šo problēmu neatrisināja; daudzi darbojās kā uzlaboti pareizrakstības pārbaudītāji, atzīmējot virspusējas problēmas, vienlaikus nepamanot plašākas sistēmas nianses. Datadog inženieri bieži uzskatīja, ka ieteikumi ir pārāk virspusēji vai kļūdainu ziņojumu pilni, un tos ignorēja.
Datadog sāka testēt OpenAI kodēšanas aģentu Codex, integrējot to tiešajos izstrādes procesos. Vienā no uzņēmuma lielākajiem un visvairāk izmantotajiem repozitorijiem katru atgādāšanas pieprasījumu automātiski pārskatīja Codex. Inženieri apstiprinoši vai noraidoši reaģēja uz Codex komentāriem un dalījās ar neformālām atsauksmēm starp komandām. Daudzi atzīmēja, ka Codex atsauksmes bija vērts izlasīt, atšķirībā no iepriekšējiem rīkiem, kas sniedza neskaidrus vai virspusējus ieteikumus.
Lai pārbaudītu, vai MI atbalstīta pārskatīšana varētu paveikt vairāk nekā tikai norādīt uz stila problēmām, Datadog izveidoja incidentu atkārtošanās sistēmu.
Tā vietā, lai izmantotu hipotētiskus scenārijus, komanda atgriezās pie vēsturiskiem notikumiem. Viņi rekonstruēja atgādāšanas pieprasījumus, kas bija veicinājuši incidentus, palaida Codex pret katru no tiem tā, it kā tas būtu daļa no sākotnējās pārskatīšanas, un pēc tam jautāja inženieriem, kuri bija atbildīgi par šiem incidentiem, vai Codex sniegtā atgriezeniskā saite būtu mainījusi situāciju.
Rezultāts: Codex atrada vairāk nekā 10 gadījumus jeb aptuveni 22 % no incidentiem , ko Datadog pārbaudīja, kuros inženieri apstiprināja, ka Codex sniegtā atgriezeniskā saite būtu mainījusi situāciju — vairāk nekā jebkurš cits novērtētais rīks.
Tā kā šie atgādāšanas pieprasījumi jau bija izgājuši koda pārskatīšanu, atkārtojumu tests parādīja, ka Codex atklāja riskus, kurus pārbaudītāji tajā brīdī nebija pamanījuši, tādējādi papildinot cilvēku spriestspēju, nevis to aizstājot.
Datadog analīze apliecināja, ka Codex konsekventi fiksē problēmas, kas nav acīmredzamas tikai no koda izmaiņām un kuras nevar atklāt ar stingriem un iepriekš definētiem noteikumiem.
Inženieri atzina, ka Codex komentāri ir kas vairāk nekā tikai “bota troksnis”:
- Codex norādīja uz mijiedarbībām ar moduļiem, kas netika skarti izmaiņu pieprasījuma laikā
- Tas identificēja nepietiekamu testa pārklājumu servisu savstarpējā sasaistē
- Tas izgaismoja izmaiņas API kontraktos, kas radīja pakārtotu risku
“Man Codex komentārs šķiet kā gudrākais inženieris, ar kuru esmu strādājis un kuram ir bezgalīgi daudz laika, lai atrastu kļūdas. Tas redz sakarības, kuras manas smadzenes nespēj uztvert visas vienlaikus.”
Spēja sasaistīt revīzijas atsauksmes ar reāliem sistēmas uzticamības rezultātiem bija tas, kas izcēla Codex Datadog novērtējumā. Atšķirībā no statiskās analīzes rīkiem Codex salīdzina atgādāšanas pieprasījuma nodomu ar iesniegtajām koda izmaiņām; tas analizē visu koda bāzi un atkarības, lai izpildītu kodu un testus, un pārbaudītu uzvedību.
“Tas bija pirmais, kas tiešām izvērtēja koda izmaiņas (diff) plašākā programmas kontekstā,” saka Kārters. “Tas bija kas jauns un atvēra mums acis.”
Daudziem inženieriem šī pāreja pilnībā mainīja veidu, kā viņi iesaistījās MI pārskatīšanā. "Es sāku izturēties pret Codex komentāriem kā pret reālu atgriezenisko saiti par koda pārskatīšanu," saka Teds Vekslers, Datadog vecākais programmatūras inženieris. “Nevis kā pret kaut ko, kam es pārskrietu pāri vai ignorētu, bet gan pret kaut ko, kam ir vērts pievērst uzmanību.”
Pēc izvērtēšanas posma Datadog ieviesa Codex plašākā mērogā visās uzņēmuma inženieru komandās. Šodien to regulāri izmanto vairāk nekā 1000 inženieru .
Atgriezeniskā saite lielākoties tiek saņemta organiski, nevis izmantojot formālas instrumentu metrikas. Inženieri Slack vietnē ziņo par noderīgām atziņām, konstruktīviem komentāriem un brīžiem, kad Codex palīdzējis viņiem domāt par problēmu citādi.
Lai gan laika ietaupījums ir ievērojams, komandas konsekventi norādīja uz nozīmīgākām pārmaiņām darba veikšanā.
“Codex mainīja manu priekšstatu par to, kādai vajadzētu būt koda pārskatīšanai. Runa nav par to, lai mēs mēģinātu atdarināt mūsu labākos inženierus-recenzentu. Runa ir par nozīmīgu nepilnību un robežgadījumu identificēšanu, ko cilvēkiem ir grūti pamanīt, pārskatot izmaiņas izolēti."
Plašāka ietekme uz Datadog bija izmaiņas tajā, kā tiek definēta koda pārskatīšana. Koda pārbaude vairs nav tikai formāls solis kļūdu atklāšanai vai laika optimizēšanai, komanda tagad uztver Codex kā galveno uzticamības sistēmu, kas darbojas kā partneris:
- Izceļot riskus, kas pārsniedz to, ko atsevišķi pārskatītāji spēj aptvert kontekstā
- Izceļot starpmoduļu un starppakalpojumu mijiedarbības
- Palielinot drošību par koda izvēršanu plašā mērogā
- Ļaujot cilvēku recenzentiem koncentrēties uz arhitektūru un dizainu
Šīs pārmaiņas saskan ar to, kā Datadog vadītāji nosaka inženierijas prioritātes, kur uzticamība un uzticēšanās ir tikpat svarīgas kā izstrādes ātrums, ja ne vēl svarīgākas.
“Mēs esam platforma, uz kuru uzņēmumi paļaujas, kad viss pārējais brūk,” saka Kārters. “Incidentu novēršana stiprina to uzticību, ko mums dāvā mūsu klienti."


