„CodeRabbit“ su agentais išleidžia 20 kartų daugiau programų
„CodeRabbit“ naudoja „OpenAI“ modelius DI sugeneruotam kodui kontroliuoti ir jo patikimumui užtikrinti, o „Codex“ padeda tai pačiai programuotojų komandai išleisti 20 kartų daugiau programinės įrangos.
Pasak „CodeRabbit“(atsidaro naujame lange) bendraįkūrėjo ir generalinio direktoriaus Harjot Gill, tikrindamos agentų sukurtą kodą ir spręsdamos, ar juo pasitikėti, komandos vis dažniau turi pasitelkti savo profesinį vertinimą, nes DI sukuriamo darbo apimtis auga. „Vos pradėjus naudoti programavimo agentus, pirmoji kliūtis, su kuria susiduria kiekviena bendrovė, yra kodo peržiūros“, – sako Harjot.
„CodeRabbit“ sukūrė DI pagrįstą valdymo ir kontrolės platformą, skirtą DI sugeneruotam kodui tikrinti ir jo patikimumui užtikrinti. „CodeRabbit“, kurią naudoja daugiau nei 20 000 organizacijų ir daugiau nei 150 000 atvirojo kodo projektų, padeda komandoms suprasti, peržiūrėti ir apsaugoti DI agentų sukurtą kodą bei nuspręsti, ką jau galima išleisti.
Pasak „CodeRabbit“, geresnis „OpenAI“ kainos ir našumo santykis leidžia į kodo peržiūras įtraukti daugiau DI agentų ir šią naudą perduoti klientams, o „Codex“ padeda tai pačiai programuotojų komandai išleisti 20 kartų daugiau programinės įrangos. Bendrovė taip pat naudoja „Daybreak“ tiek savo technologinei infrastruktūrai, tiek klientų kodui apsaugoti. Jos naujausias produktas „CodeRabbit Secure“ naudoja „Daybreak“ su „Codex“ modeliais, kad specializuoti saugumo agentai aptiktų ir pašalintų pažeidžiamumus.
„Pasirodžius kiekvienam naujam „OpenAI“ modeliui, ypač protavimo modeliams, mūsų produkto galimybės dideliu mastu aptikti problemas smarkiai pagerėja.“
Pirmąjį savo produktą „CodeRabbit“ sukūrė naudodama „GPT‑3.5 Turbo“. Harjot teigimu, pasirodžius „GPT‑4“, produktas tapo veiksmingu kodo peržiūros įrankiu. Vėliau bendrovė viena pirmųjų pradėjo naudoti „OpenAI o1“ ir „OpenAI o3“. Kadangi kodo peržiūros debesijoje vyksta asinchroniškai, „CodeRabbit“ galėjo naudoti modelius, kurie problemą apgalvoja ilgiau, bet atlieka išsamesnę analizę.
Komanda vertina naujus modelius pagal savo lyginamąjį testą, sudarytą iš žinomų problemų. Interviu metu Harjot vertinimu, „GPT‑6 Astra“ aptiko 50 % tame duomenų rinkinyje esančių problemų ir pagal šį testą užėmė pirmą vietą tarp modelių.
Lyginamasis testas nuolat keičiasi, nes agentai daro vis kitokių klaidų, o taisant kodą išryškėja problemos, kurių ankstesnės peržiūros neaptiko. „Klaidų pobūdis nuolat keičiasi, todėl, modeliams tobulėjant, keičiasi ir mūsų lyginamasis testas“, – sako Harjot.
Geresnis „OpenAI“ modelių kainos ir našumo santykis padėjo „CodeRabbit“ perkelti tyrimų metu sukurtas galimybes į savo produktą. Harjot pabrėžia palankesnę modelių kainodarą ir patobulintą podėlio naudojimą: tai leidžia bendrovei plačiau taikyti DI, įtraukti daugiau pagalbinių agentų ir šią naudą perduoti klientams.
Veiklos pradžioje „CodeRabbit“ naudojo vieną ar du pagalbinius agentus naršymui po kodą. Dabar pigesni modeliai, tokie kaip „GPT‑6 Luna“, leidžia visoje platformoje naudoti daugiau pagalbinių agentų, o tokie modeliai kaip „GPT‑6 Astra“ atlieka planavimo ir veiksmų koordinavimo užduotis.
„Dabar agentus naudojame visur – net ir užduotims, kurioms anksčiau negalėjome sau to leisti“, – sako Harjot. Tai leidžia „CodeRabbit“ atlikti platesnę patikrą ir pateikti išsamesnius paaiškinimus programuotojams, kad jie galėtų suprasti ne savo pačių parašytus pakeitimus ir jais pasitikėti.
Harjot teigimu, naudodama „Codex“ bendrovė per pastaruosius 6 mėnesius išleidžia maždaug 20 kartų daugiau programinės įrangos, nepadidinusi programuotojų komandos. Jo paties vertinimu, per 30 dienų iki interviu jis pateikė 2 500–3 000 „pull request“ užklausų.
Norint tai pasiekti, neužteko vien pradėti naudoti „Codex“. Vienu metu naudojant kelis agentus, išryškėjo apribojimai visame kūrimo procese: nuo nešiojamojo kompiuterio atminties ir skaičiavimo išteklių iki testavimo, programinės įrangos kompiliavimo bei pakavimo įrankių ir priklausomybių.
Komanda supaprastino išleidimo procesą ir iš naujo įvertino, kuriuose etapuose būtinas žmogaus patvirtinimas, o mažos rizikos pakeitimus, kuriems žmogaus įsikišimo nereikėjo, automatiškai išleido naudodama „CodeRabbit“. „Mums iš tiesų teko iš esmės permąstyti visą programinės įrangos pateikimo procesą“, – sako Harjot.
Bendrovė taip pat sukūrė „Codex“ pagrindu veikiantį „Slack“ botą, kuris rūšiuoja incidentus veikiančiose sistemose, „Slack“ pranešimus ir pagalbos užklausas pagal jų svarbą. Jis gali pateikti „pull request“ užklausą, kad komanda peržiūrėtų ir sujungtų pakeitimus. Harjot nuomone, programavimas debesijoje leidžia sumažinti vietinių kompiuterių keliamus apribojimus ir suteikti komandoms daugiau prieigos valdymo bei audito galimybių.
„CodeRabbit“ naudoja „Codex“ ne tik programavimui, bet ir rinkodaros bei kasdienės veiklos užduotims valdyti pasitelkdama kodą. „Stengiamės kuo daugiau bendrovės veiklos valdyti kodu“, – sako Harjot.
Rinkodaros srityje bendrovė valdo „Google Ads“ reklamas per „pull request“ užklausas. Norėdama paleisti reklamas, komanda sukuria užklausą ir sujungia pakeitimus. Ji taip pat naudoja turinio kūrimo saugyklą, kurioje „Codex“ kuria skaidrių pristatymus ir klientams skirtus dokumentus. „Jei rinkodaros problemas sugebėsite paversti programavimo užduotimis, dirbsite 10 kartų greičiau“, – sako Harjot.
Nuo 2023 m. „CodeRabbit“ naudoja agentus izoliuotose aplinkose: klonuoja saugyklas ir leidžia agentams rašyti kodą, padedantį atlikti peržiūras. Neseniai „CodeRabbit“ per „Daybreak“ pasitelkė „OpenAI“ modelį „Cyber“, kad išbandytų ir apsaugotų savo platformą.
Komanda naudojo modelį vidiniams įsilaužimo testams – savo platformoje ieškojo būdų, kuriais įsilaužėlis galėtų į ją patekti. Harjot teigimu, išankstinė prieiga padėjo „CodeRabbit“ apsaugoti savo technologinę infrastruktūrą. „Radome daugybę pažeidžiamumų ir sudėtingų įsilaužimo būdų, apie kurių galimybę net nebuvome pagalvoję“, – sako Harjot.
Nuo tada bendrovė šias galimybes pasiūlė rinkai: jos naujausias produktas „CodeRabbit Secure“ padeda apsaugoti klientų kodą. Per pastarąsias dvi savaites bendrovė vykdė akciją ir apmokėjo vartotojams nemokamai suteiktas išsamias patikras, kurių vertė siekė 1 mln. JAV dolerių. Per 13 000 tokių patikrų, atliktų naudojant „Codex“ modelius, aptikta daugiau nei 43 000 saugumo pažeidžiamumų. Klientai jau pašalino tūkstančius šių pažeidžiamumų ir taip pagerino savo kodo saugumą.
Foniniams agentams pradėjus reaguoti į įspėjimus ir incidentus be žmogaus inicijuojamos kiekvienos užduoties, Harjot numato, kad komandoms reikės daugiau pagalbos sprendžiant, kuriuos pakeitimus įgyvendinti iki galo.
Žvelgdama į ateitį, „CodeRabbit“ plečia veiklą į programinės įrangos kūrimą pasitelkiant agentus. Ji padeda komandoms dideliu mastu vertinti agentų sugeneruotų kodo pakeitimų tinkamumą, nustatyti jų prioritetus, juos paaiškinti, užtikrinti jų saugumą ir patikrinti jų teisingumą.
Tai galimybė padėti programuotojams išlaikyti kontrolę, kai vis daugiau kūrimo darbų atlieka agentai, – teikiant patikrą, paaiškinimus ir priežiūrą, kurių tempas neatsilieka nuo kuriamo kodo apimties.


