Connect with us

Itamar Friedman, CodiumAI:n CEO & Co-Founder – Haastattelusarja

Haastattelut

Itamar Friedman, CodiumAI:n CEO & Co-Founder – Haastattelusarja

mm

Itamar Friedman on CodiumAI:n CEO ja Co-Founder. Codium keskittyy “koodin koskemattomuuden” puoleen koodin generoimisessa – generoimalla automaattisia testejä, koodin selityksiä ja tarkastuksia. He ovat julkaisseet tutkimuksia koodiratkaisujen generoimisesta kilpailukykyisille ohjelmointihaille, jotka ylittävät Google DeepMindin.

Milloin ja miten sinä alkujaan kiinnostuit AI:sta?

Vuonna 2009 työskentelin Mellanoxissa (Acq. by NVIDIA) ja opiskelin sähkötekniikkaa. Tajuttuani, että monia Mellanoxin kehitysprosesseja voitiin automatisoida koneoppimisalgoritmeilla, vaihdoin pääaineeni optimointiin ja koneoppimiseen ja suoritin MSc:n alalla. Vuoteen 2010 mennessä työskentelin jo syväoppimishankkeessa (3 kerroksen syvällä neuroverkkorakenteella) luoden perustaa työlle Alibabassa, jossa johtaminen tutkimusryhmää, joka erikoistui neuroarkkitehtuurin etsintään, mallien koulutukseen ja AutoML-työkalujen kehittämiseen kehittäjille. Vuoteen 2021 mennessä en ollut enää häpeävä astumaan “AI”:n kanssa, koska suuret kielimallit olivat voimakkaita työkaluja, ja mielikuvani siitä, mitä niiden avulla voitiin saavuttaa, kasvoi.

Mikä oli edellinen tietokoneen näkökeskuksessa keskittyvä startup Visualead, ja mitkä olivat joitain avainoppeja tästä kokemuksesta?

Visualead erikoistui logojen, QR-koodien ja kaiken siihen välisen skannaukseen, mukaan lukien tietojen turvalliseen ja piilottamiseen kuvissa mahdollistaaksesi turvalliset P2P-transaktiot ja osallistumisen. Visualeadissa meillä oli algoritmeja mobiililaitteissa jo vuodesta 2012, mukaan lukien mallit. Se oli haastavaa ja temppuilua tehdä niin silloin, ja opimme paljon tehokkaiden mallien rakentamisesta ja varusteiden luomisesta näiden tilastollisten olentojen ympärille.

Tähän päivään asti soveltan edelleen oppeja, joita sain silloin, nykyisiin projekteihini – esimerkiksi, kun rakensimme avoimen lähdekoodin ratkaisuvälineen AlphaCodium, esittelimme Flow Engineering -konseptin ja sovelsimme tätä konseptia rakentaaksemme virran, joka toimii LLM-mallien tulosteen varusteena.

Voitko jakaa CodiumAI:n syntytarinan?

Alibabassa näin ensimmäisen kerran, miten koodin virhe voisi johtaa miljoonan dollarin ongelmaan ja haasteisiin, joita kehittäjät kohtasivat koodin generoimisessa ilman laatujärjestelmän uhraamista. Tämä ongelma säilyy, ja nykyään huonolaatuinen koodi on osoitettu trillion dollarin ongelman, joka jatkuu kasvamistaan.

CodiumAI:n tiimi erikoistuu rakentamaan AI:lla varustettuja työkaluja suuressa mittakaavassa ja on päättänyt käsitellä kehittäjien kohtaamia kipupisteitä. Uusien LLM- ja AI-mahdollisuuksien syntymisen myötä ymmärsimme, että tämä oli tilaisuutemme rakentaa kattava koodin koskemattomuuden alusta auttaaksemme itseämme ja kiireisiä tiimejä vähentämään bugeja ja lieventämään muita koskemattomuuden ongelmia. Rakentamalla AI:lla varustettuja työkaluja suuressa mittakaavassa ja siten benchmarkkaamalla on meille olennainen konsepti.

Kokemattomana kehittäjäryhmänä ymmärrämme; tylsien tehtävien, kuten testaamisen ja koodin tarkastamisen, käsittelemisen voi olla turhauttavaa. Olemme erittäin tehtävään sitoutuneita antamaan viimein kiireisille tiimeille mahdollisuuden lisätä ja hallita koodin koskemattomuutta.

Voitko kuvata, minkälaisia ei-triviaaleja analyysejä CodiumAI suorittaa koodille, ja miten tämä tukee kehittäjiä koodin laadun parantamisessa?

Kunnes viime aikoihin, olemassa olevat työkalut tarjosivat kehittäjille vähän arvoa – mutta LLM:ien (ChatGPT, Copilot jne.) saapumisen myötä kyvyt alkavat ylittää odotukset, ja kehittäjille tarjottava tuki ei ole enää triviaali.

CodiumAI:n kehittämä Codiumate Coding-Agent tarjoaa kehittäjille ainutlaatuisia työkaluja parantamaan työprosessiaan ja tehostamaan koodin generoimista. Codiumate suorittaa kehitysprosessin automaattista apua koodauksen aikana. Käyttämällä olemassa olevia koodinpätkiä, joita ihmiskehittäjä korostaa ympäristössään, agentti voi automaattisesti luoda helppokäyttöisen ja yhtenäisen kehityssuunnitelman, kirjoittaa koodin suunnitelman mukaan, tunnistaa duplikaattikoodin, jonka kehittäjä voi haluta käyttää tai poistaa, luoda dokumentaatiota ja ehdottaa testejä varmistamaan koodin toimivuuden ennen kuin se otetaan live-ympäristöön.

Codiumate tarjoaa kehittäjille syvän käyttäytymisanalyysin – valaisee mahdollisia käyttäytymisiä ja haaroja, joita koodi kattaa. Tämä mahdollistaa kehittäjälle tarkastella generoituja koodinpätkiä ja luoda testejä, jotka kattavat kaikki käyttäytymiset, parantaen koodin laatuja enemmän kuin jos kehittäjä olisi itse huomioinut kaikki mahdolliset tapaukset.

Mitkä ovat PR-Agentin tarjoamat toiminnot pull request -analyysille, ja miten se suorittaa arvosteluprosessin sujuvoittamisen alustoilla kuten GitHub ja GitLab?

PR-Agent tarjoaa useita toimintoja, jotka on suunniteltu parantamaan ja suorittamaan pull request -analyysin ja arvosteluprosessin eri git-tarjoajien yli.

Automaattinen PR-kuvausgenerointi luo automaattisesti perusteellisia ja yksityiskohtaisia kuvauksia pull requesteille. Tämä ominaisuus ratkaisee yleisiä ongelmia, joissa kehittäjät saattavat jättää yksityiskohtaiset PR-kuvaukset väliin aikarajoitusten tai laiminlyönnin vuoksi. Automaattisten kuvausten ansiosta jokainen PR on varustettu riittävällä kontekstilla, mikä tekee arvostelijoille helpommaksi ymmärtää muutoksia ilman, että heidän tarvitsee tulkita koodin eroja laajasti.

Käyttämällä AI:ta, automaattiset koodiehdotukset voivat myös ehdottaa parannuksia tai vaihtoehtoisia toteutuksia suoraan PR-liittymässä. Nämä ehdotukset voivat olla optimointeja, noudattamista koodausstandardeista tai jopa arkkitehtuurisia parannuksia, jotka auttavat parantamaan koodipohjan laatua asteittain.

PR-Agent tukee useita mukautusvaihtoehtoja tarjoamansa komentojen osalta. Yksi hyödyllisimmistä mukautusvaihtoehdoista on mukautettujen etikettien käyttäminen pull requestien järjestämiseen ja hallintaan alustoilla kuten GitHub ja GitLab. Tämä toiminto edistää kehitys- ja arvosteluprosessien operatiivista tehokkuutta ja selkeyttä.

Miten CodiumAI generoi merkityksellisiä testejä, ja mitä tekee näistä testeistä tehokkaampia kuin standardit yksikkötestit?

Parannamme testien generointia skannaamalla koodirepositorioita asiakoodiin liittyvistä pätkistä. Käyttämällä ketjuajatuksia, joihin liittyy kaikki mahdolliset koodin käyttäytymiset, mukaan lukien tyypilliset polut ja reunatapaukset, lähestymistapaamme käyttää kontekstisidonnaista hakua ja mukautettuja vihjeitä, jotka on räätälöity eri ohjelmointikielille, sisällyttäen asiantuntijatiedon varmistamaan, että testit täyttävät alan standardeja. Lisäksi CodiumAI määrittää tietyn suoritusaikaympäristön paremman buggien havaitsemisen ja itseparantavien testien generoimisen vuoksi. Nämä kyvyt tekevät CodiumAI:n generoimista testeistä kattavampia kuin standardit yksikkötestit, jotka usein puuttuvat tahattomista käyttäytymisistä kehittäjien sisäisistä puolueellisuuksista ja rajoituksista kaikkien mahdollisten skenaarioiden ennustamisessa. Tämä johtaa testeihin, jotka eivät ole ainoastaan perusteellisia vaan myös tehokkaampia havaitsemaan hienoisia virheitä ja reunatapauksia.

Millaisia ovat CodiumAI:n arvostetuimmat ominaisuudet käyttäjien palautteen perusteella, ja miten nämä ominaisuudet ovat vaikuttaneet kehittäjien tuottavuuteen?

Käyttäjien palautteen perusteella huomaamme, että /kysy koodipätkän kontekstissa ja /testien generointi ovat Codiumate-agentin suosituimpia ominaisuuksia, jotka parantavat kehittäjien työprosessia.

Kehittäjät voivat esittää avoimia kysymyksiä koodistaan tai pyytää koodin parannuksia tai tarkastuksia ilmaisella chat-istunnolla. Tämä ominaisuus on erityisen hyödyllinen koodipohjan syvemmän ymmärtämisen kannalta, koska malli säilyttää koko projektiin liittyvän kontekstin, mahdollistaen sen vastata yksityiskohtaisiin ja spesifiin kysymyksiin.

/testien generointi -työkalu mahdollistaa kehittäjille kattavien testien generoimisen koodilleen yhdellä klikkauksella. Tämä ominaisuus on suuri tuottavuuden apu, koska se mahdollistaa nopean koodin käyttäytymisen tutkimisen, virheiden nopean löytämisen ja koodikattavuuden nopean laajentamisen.

PR-Agentin /arvostelu -funktio skannaa PR-koodin muutoksia ja generoi automaattisesti PR-arvostelun ongelmien havaitsemiseksi ennen tuotantoon siirtämistä.

/kuvaus -funktio skannaa PR-koodin muutoksia ja generoi kuvaus PR:lle – otsikko, tyyppi, yhteenveto, kulkuyhteenveto ja etiketit – säästäen kehittäjien aikaa ja energiaa, jonka he voivat paremmin soveltaa vaativampiin tai luoviin tehtäviin.

Miten CodiumAI tunnistaa reunatapaukset ja epäilyttävät käyttäytymiset koodissa?

Työkalumme skannaa kehittäjän repositoriota asiakoodiin liittyvistä pätkistä ja ketjuajatuksilla karttaa kaikki mahdolliset koodin käyttäytymiset ja näyttää ne kehittäjälle. CodiumAI voi tunnistaa epäilyttäviä käyttäytymisiä suoraan (riippumatta testien generoimisesta), tunnistamalla ristiriitaisuuksia tai epäjohdonmukaisuuksia eri koodipätkien tai koodipätkien ja niiden dokumentaation välillä.

CodiumAI tukee suuria ohjelmointikieliä; voitko selittää, miten se käsittelee kielen spesifejä nuansseja koodin analyysissä ja testien generoimisessa?

Suurten ohjelmointikielten osalta alustamme menee perus tuen ulkopuolelle toteuttamalla erikoistuneita tekniikoita. Nämä sisältävät kontekstisidonnaisen haun ja mukautetut vihjeet, jotka on räätälöity kunkin kielen yksilölliseen syntaksiin ja semantiikkaan. Nämä mukautetut vihjeet sisältävät kielen alueen asiantuntijatiedon saavuttamaan alan standardeja. Lisäksi tarjoamme kyvyt määritellä suoritusaikaympäristön näille kielille, mikä parantaa työkalumme kykyä havaita bugeja ja generoida itseparantavia testejä tehokkaasti.

Vähemmän yleisille kielille luotamme suuriin kielimalleihin (LLM), jotka ymmärtävät useita ohjelmointikieliä. Tämä on täydennetty yleisen konteksti-infrastruktuurin ja sopeutuvan vihjejärjestelmän kanssa, joka mahdollistaa tarkan koodin analyysin ja testien generoimisen moninaisissa ohjelmointiympäristöissä. Kaksitasoisen lähestymistavan avulla voimme varmistaa kattavan tuen riippumatta ohjelmointikielestä.

Mitkä tulevat parannukset on suunniteltu CodiumAI:lle kehittäjien tehtävien helpottamiseksi?

CodiumAI:n tulevan kehitysstrategian painopiste on parantaa saatavilla olevaa AI-työkalujen sarjaa sulautumaan kaikkiin ohjelmistokehityksen elinkaaren vaiheisiin. Käyttämällä edistyneitä Flow Engineering -periaatteita kehittäjien työprosessien suorittamiseksi ja yksinkertaistamiseksi, agenttimme tarjoavat merkittävää arvoa eri kehitysvaiheissa. Lisäksi CodiumAI on sitoutunut varmistamaan, että nämä työkalut erinomaisesti käsittelevät monimutkaisia, todellisia koodi- ja tekstikokonaisuuksia, mikä tekee niistä välttämättömiä päivittäisissä ohjelmistotehtävissä. Tämä kokonaisvaltainen lähestymistapa pyrkii korottamaan tarjontamme vankkana, päivittäin käytettävänä työkaluna kehittäjille, parantaen tuottavuutta ja tehokkuutta ohjelmistokehitysprosessissa.

Kiitos haastattelusta, lukijat, jotka haluavat oppia lisää, kannattaa vierailla CodiumAI:ssa.

Antoine on visionäärinen johtaja ja Unite.AI:n perustajakumppani, jota ohjaa horjumaton intohimo muokata ja edistää tulevaisuuden tekoälyä ja robottiikkaa. Sarjayrittäjänä hän uskoo, että tekoäly tulee olemaan yhtä mullistava yhteiskunnalle kuin sähkö, ja hänestä usein kuuluu ylistyksiä mullistavien teknologioiden ja AGI:n mahdollisuuksista.
Hänen ollessaan futuristi, hän on omistautunut tutkimiseen, miten nämä innovaatiot muokkaavat maailmaamme. Lisäksi hän on Securities.io:n perustaja, joka on alusta, joka keskittyy sijoittamiseen uraauurtaviin teknologioihin, jotka määrittelevät uudelleen tulevaisuuden ja muokkaavat koko sektoreita.