Datadog folosește Codex pentru revizuiri la nivel de sistem
Cu Codex, Datadog integrează contextul la nivel de sistem în fiecare revizuire de cod pentru a preveni incidentele și a proteja încrederea clienților.
Datadog(se deschide într-o fereastră nouă) gestionează una dintre cele mai utilizate platforme de observabilitate din lume, ajutând companiile să monitorizeze, depaneze și securizeze sisteme distribuite complexe. Când ceva se defectează, clienții depind de Datadog pentru a identifica rapid problemele, ceea ce înseamnă că fiabilitatea trebuie să fie integrată cu mult înainte de trimiterea codului în producție.
Pentru echipele de ingineri Datadog, acest lucru face ca revizuirea de cod să fie un moment extrem de important. Nu este vorba doar de detectarea erorilor, ci și de înțelegerea modului în care schimbările se propagă în sistemele interconectate — un domeniu în care analiza statică tradițională și instrumentele bazate pe reguli sunt adesea inadecvate.
Pentru a răspunde acestei provocări, echipa de dezvoltare în domeniul inteligenței artificiale (AI DevX) a Datadog a apelat la Codex, agentul de programare al OpenAI, care introduce raționamentul la nivel de sistem în procesul de revizuire de cod și identifică riscuri pe care oamenii nu le pot observa ușor la scară largă.
„Economiile de timp sunt reale și importante”, afirmă Brad Carter, care conduce echipa de dezvoltare în domeniul inteligenței artificiale (AI DevX) la Datadog. „Dar prevenirea incidentelor este mult mai importantă la scara noastră.”
Revizuirea de cod eficientă la Datadog se baza, în mod tradițional, în mare măsură pe inginerii seniori — persoanele care înțeleg suficient de bine codul sursă, istoricul său și compromisurile arhitecturale pentru a identifica riscurile sistemice.
Dar acest tip de context profund este greu de evaluat, iar primele instrumente de revizuire de cod cu inteligență artificială nu au rezolvat această problemă; multe se comportau ca niște verificatori avansați, semnalând probleme superficiale și ignorând nuanțele mai ample ale sistemului. Inginerii Datadog considerau adesea că sugestiile erau prea superficiale sau prea multe și le ignorau.
Datadog a început să testeze Codex, agentul de programare al OpenAI, integrându-l în fluxurile de lucru de dezvoltare live. Într-unul dintre cele mai mari și mai intens utilizate depozite ale companiei, fiecare cerere de extragere era revizuită automat de Codex. Inginerii au reacționat la comentariile de la Codex cu semne de apreciere sau de dezaprobare și au împărtășit feedback informal între echipe. Mulți au remarcat că feedbackul de la Codex merita citit, spre deosebire de instrumentele anterioare care produceau sugestii prea complexe sau superficiale.
Pentru a testa dacă revizuirea asistată de inteligență artificială poate oferi mai mult decât identificarea problemelor de stil, Datadog a creat un sistem de reproducere a incidentelor.
În loc să folosească scenarii ipotetice, echipa s-a întors la incidente istorice. A reconstruit cererile de extragere care au contribuit la incidente, au rulat Codex pentru fiecare dintre ele ca și cum ar fi făcut parte din revizuirea inițială, apoi au întrebat inginerii responsabili pentru incidente dacă feedbackul Codex ar fi avut vreun impact.
Rezultatul: Codex a găsit peste 10 cazuri sau aproximativ 22% din incidentele examinate de Datadog, în care inginerii au confirmat că feedbackul furnizat de Codex ar fi avut un impact, mai mult decât orice alt instrument evaluat.
Deoarece aceste cereri de extragere trecuseră deja de etapa de revizuire de cod, testul de reproducere a evidențiat riscuri identificate de Codex pe care evaluatorii nu le observaseră la momentul respectiv, suplimentând astfel discernământul uman, fără a-l înlocui.
Analiza Datadog a demonstrat că, în mod constant, Codex a semnalat probleme care nu erau evidente la prima vedere în diff și care nu puteau fi detectate prin reguli deterministe.
Inginerii au descris comentariile Codex ca fiind mai mult decât „zgomot de roboți”:
- Codex a indicat interacțiunile cu modulele care nu au fost abordate în diff.
- A identificat acoperirea insuficientă a testelor în domeniile de cuplare între servicii.
- A evidențiat modificările contractului API care au generat riscuri în aval
„Pentru mine, un comentariu Codex este ca și cum cel mai inteligent inginer cu care am lucrat ar avea la dispoziție timp nelimitat pentru a găsi buguri. Vede conexiuni pe care creierul meu nu le poate percepe simultan.”
Capacitatea de a corela feedbackul revizuirilor cu rezultatele reale privind fiabilitatea i-a permis lui Codex să se distingă în evaluarea Datadog. Spre deosebire de instrumentele de analiză statică, Codex compară intenția cererii de extragere cu modificările de cod trimise, efectuând un raționament asupra bazei de cod și a dependențelor pentru a executa codul și testele pentru a valida comportamentul.
„A fost primul care se pare că a ținut cont de diff în contextul mai larg al programului”, declară Carter. „A fost o experiență nouă și revelatoare.”
Pentru mulți ingineri, această schimbare a modificat complet modul în care abordau revizuirile cu inteligență artificială. „Am început să iau comentariile Codex ca feedback real privind revizuirea de cod”, afirmă Ted Wexler, inginer software senior la Datadog. „Nu este ceva ce aș trece cu vederea sau aș ignora, ci merită toată atenția.”
În urma evaluării, Datadog a implementat Codex pe scară mai largă în rândul forței sale de inginerie. Astăzi, peste 1.000 de ingineri îl folosesc în mod regulat.
Feedbackul apare în mare parte în mod organic, și nu prin intermediul unor indicatori formali integrați în instrument. Inginerii postează pe Slack observații utile, comentarii constructive și exemple de situații în care Codex i-a ajutat să abordeze o problemă în mod diferit.
Chiar dacă economisirea timpului este importantă, echipele au subliniat constant o schimbare mai semnificativă a modului în care se lucrează.
„Codex mi-a schimbat părerea despre ceea ce ar trebui să însemne o revizuire de cod. Nu este vorba despre reproducerea celor mai buni evaluatori umani. Ci despre identificarea defectelor critice și a cazurilor limită pe care oamenii le observă cu dificultate atunci când evaluează modificările în mod izolat.”
Efectul mai larg pentru Datadog a fost o schimbare a modului în care este definită revizuirea de cod propriu-zisă. În loc să trateze revizuirea ca pe un punct de control pentru detectarea erorilor sau optimizarea duratei ciclului, echipa percepe acum Codex ca un sistem de bază fiabil, care acționează ca un partener:
- Identificarea riscurilor dincolo de ceea ce pot cuprinde în context evaluatorii individuali
- Evidențierea interacțiunilor între module și servicii.
- Creșterea încrederii în producția de cod la scară largă
- Evaluatorii umani se pot concentra pe arhitectură și design
Această schimbare corespunde modului în care liderii Datadog stabilesc prioritățile în inginerie, unde fiabilitatea și încrederea au o importanță egală, dacă nu chiar mai mare, cu viteza.
„Suntem platforma la care apelează companiile atunci când totul se prăbușește”, spune Carter. „Prevenirea incidentelor consolidează încrederea pe care clienții ne-o acordă.”


