A Datadog a Codexet rendszerszintű kódfelülvizsgálatra használja
A Codex segítségével a Datadog rendszer-szintű kontextust hoz minden kódfelülvizsgálatba, hogy megelőzze az incidenseket és megőrizze az ügyfelek bizalmát.
A Datadog(új ablakban nyílik meg) a világ egyik legszélesebb körben használt megfigyelési platformját üzemelteti, segítve a vállalatokat az összetett, elosztott rendszerek megfigyelésében, hibaelhárításában és védelmében. Ha valami meghibásodik, az ügyfelek a Datadogra támaszkodnak a problémák gyors feltárásában, ami azt jelenti, hogy a megbízhatóságot jóval azelőtt meg kell teremteni, hogy a kód eljutna a gyártásig.
A Datadog fejlesztői csapatai számára ez a kódfelülvizsgálatot nagy kockázatú pillanattá teszi. Nemcsak a hibák észleléséről van szó, hanem annak megértéséről is, hogy a változások hogyan terjednek át az összekapcsolt rendszereken—egy olyan terület, ahol a hagyományos statikus elemzés és a szabályalapú eszközök gyakran nem elégségesek.
Ennek a kihívásnak a leküzdésére a Datadog AI Development Experience (AI DevX) csapata a Codexhez fordult, az OpenAI kódoló ügynökéhez, amely rendszer szintű érvelést hoz a kódfelülvizsgálatba, és feltárja azokat a kockázatokat, amelyeket az emberek nagy léptékben nem tudnak könnyen észrevenni.
„Az időmegtakarítás valós és fontos” – mondja Brad Carter, aki a Datadog AI DevX csapatát vezeti. „De az esetek megelőzése a mi léptékünkben sokkal meggyőzőbb.”
A Datadognál a hatékony kódfelülvizsgálat hagyományosan nagymértékben a vezető fejlesztőkre támaszkodott—azokra, akik elég jól ismerik a kódbázist, annak történetét és az architekturális kompromisszumokat ahhoz, hogy észleljék a rendszerszintű kockázatot.
De ez a fajta mély kontextus nehezen skálázható, és a korai AI kódfelülvizsgálati eszközök nem oldották meg ezt a problémát; sokan úgy viselkedtek, mint a fejlett linterek, felszíni problémákat jelöltek meg, miközben a szélesebb rendszerbeli árnyalatokat figyelmen kívül hagyták. A Datadog fejlesztői gyakran túl felszínesnek vagy túl zajosnak találták a javaslatokat, ezért figyelmen kívül hagyták azokat.
A Datadog elkezdte tesztelni a Codexet, az OpenAI kódoló ügynökét, integrálva azt az élő fejlesztési munkafolyamatokba. A vállalat egyik legnagyobb és leggyakrabban használt adattárában minden lekéréses kérelmet a Codex automatikusan átnézett. A fejlesztők a Codex megjegyzéseire felfelé vagy lefelé mutató hüvelykujjal reagáltak, és informális visszajelzést osztottak meg a csapatok között. Sokan megjegyezték, hogy a Codex visszajelzéseit érdemes elolvasni, ellentétben a korábbi eszközökkel, amelyek zajos vagy felszínes javaslatokat adtak.
Annak tesztelésére, hogy az AI-támogatott felülvizsgálat képes-e többet, mint stílusbeli problémák rámutatása, a Datadog létrehozott egy incidens-visszajátszó eszközt.
Ahelyett, hogy elméleti forgatókönyveket használtak volna, a csapat visszatért a történelmi eseményekhez. Újraalkották azokat a lekéréses kérelmeket, amelyek incidensekhez vezettek, mindegyiken lefuttatták a Codexet, mintha az az eredeti felülvizsgálat része lett volna, majd megkérdezték az incidensekért felelős fejlesztőket, hogy a Codex visszajelzése változtatott volna-e valamin.
Az eredmény: a Codex több mint 10 esetet talált, vagyis a Datadog által vizsgált incidensek körülbelül 22%-át, ahol a fejlesztők megerősítették, hogy a Codex által nyújtott visszajelzés hatással lett volna – több, mint bármelyik másik értékelt eszköz.
Mivel ezek a pull requestek már átmentek a kódfelülvizsgálaton, a visszajátszási teszt kimutatta, hogy a Codex olyan kockázatokat tárt fel, amelyeket a felülvizsgálók akkor nem láttak, kiegészítve az emberi ítélőképességet, ahelyett, hogy helyettesítette volna azt.
A Datadog elemzése kimutatta, hogy a Codex következetesen olyan problémákat jelzett, amelyek nem nyilvánvalóak pusztán a közvetlen különbség alapján, és amelyeket determinisztikus szabályokkal nem lehet kiszűrni.
A fejlesztők a Codex megjegyzéseit többnek írták le, mint „bot zajnak”:
- A Codex rámutatott a diffben nem érintett modulokkal való interakciókra
- Azonosította a hiányzó tesztlefedettséget a szolgáltatások közötti összekapcsolódás területein
- Kiemelte az API-szerződés változásait, amelyek tovagyűrűző kockázatot jelentettek
„Számomra egy Codex-megjegyzés olyan, mint a legokosabb fejlesztő, akivel valaha dolgoztam, és akinek végtelen ideje van hibákat keresni.” Olyan összefüggéseket lát, amelyeket az agyam nem tud egyszerre átlátni.”
Ez a képesség, hogy a felülvizsgálati visszajelzéseket összekapcsolja a valódi megbízhatósági eredményekkel, tette a Codexet kiemelkedővé a Datadog értékelésében. A statikus elemző eszközökkel ellentétben a Codex összehasonlítja a pull request szándékát a benyújtott kódváltozásokkal, áttekinti a teljes kódbázist és a függőségeket a kód végrehajtása és a viselkedés validálása érdekében.
„Ez volt az első, amelyik ténylegesen figyelembe vette a különbséget (diffet) a program tágabb összefüggésében” – mondja Carter. „Ez újszerű és feltáró volt.”
Sok fejlesztő számára ez a változás teljesen megváltoztatta, hogyan viszonyultak az AI-értékeléshez. „Elkezdtem a Codex megjegyzéseit valódi kódáttekintési visszajelzésként kezelni” – mondja Ted Wexler, a Datadog vezető szoftvefejlesztője. „Nem olyasmi, amit csak átfutnék vagy figyelmen kívül hagynék, hanem olyasmi, amire érdemes odafigyelni.”
Az értékelést követően a Datadog szélesebb körben vezette be a Codexet a fejlesztői csapatában. Ma több mint 1000 fejlesztő használja rendszeresen.
A visszajelzések többnyire természetes módon jelennek meg, nem pedig formális, eszközön belüli mérőszámok révén. A fejlesztők a Slackre posztolnak hasznos meglátásokról, építő jellegű megjegyzésekről és olyan pillanatokról, amikor a Codex segített nekik másképp gondolkodni egy problémáról.
Bár az időmegtakarítás jelentős, a csapatok következetesen egy jelentősebb változásra mutattak rá a munka elvégzésének módjában.
„A Codex megváltoztatta a véleményemet arról, hogy milyennek kellene lennie a kódfelülvizsgálatnak. Nem az a cél, hogy a legjobb emberi ellenőreinket másoljuk le. Az a cél, hogy kritikus hibákat és szélsőséges eseteket találjunk, amelyeket az emberek nehezen vesznek észre, amikor a változtatásokat elszigetelten vizsgálják.”
A Datadogra gyakorolt szélesebb körű hatás az volt, hogy megváltozott a kódfelülvizsgálat fogalmának meghatározása. Ahelyett, hogy a kódfelülvizsgálatot hibák kiszűrésére vagy a ciklusidő optimalizálására szolgáló ellenőrzőpontként kezelnék, a csapat most a Codexet alapvető megbízhatósági rendszerként tekinti, amely partnerként működik:
- A kockázatok feltárása azon túl, amit az egyes értékelők képesek kontextusban átlátni
- Modulok és szolgáltatások közötti interakciók kiemelése
- A szállításba vetett magabiztosság növelése nagy léptékben
- Lehetővé téve az emberi ellenőrök számára, hogy az építészetre és a tervezésre összpontosítsanak
Ez az elmozdulás összhangban van azzal, ahogyan a Datadog vezetői meghatározzák a fejlesztői prioritásokat, ahol a megbízhatóság és a bizalom legalább annyira fontosak, ha nem fontosabbak, mint a sebesség.
„Mi vagyunk az a platform, amelyre a vállalatok számítanak, amikor minden más összeomlik” – mondja Carter. „Az incidensek megelőzése erősíti az ügyfeleink belénk vetett bizalmát.”


