Interviews

Professor Eran Yahav, mede-oprichter en mede-CEO van Tabnine – Interviewreeks

mm
Voeg Unite.AI toe aan je voorkeursbronnen op Google

Professor Eran Yahav, mede-oprichter en mede-CEO van Tabnine is een professor in de informatica aan de Technion – Israel Institute of Technology wiens onderzoek zich richt op programmeertalen, machine learning en software engineering, met name programma-synthese en grote-schaal code-analyse. Naast zijn academische werk richtte hij Tabnine (oorspronkelijk Codota) op om jarenlang onderzoek te vertalen in praktische ontwikkelaarstools, waarmee hij een pionier werd op het gebied van AI-gestuurde code-completie en -automatisering. Zijn werk verbindt academie en industrie, met een focus op het maken van AI-gegenereerde code meer betrouwbaar, beveiligd en contextueel voor echte enterprise-omgevingen.

Tabnine is een AI-gepowered coding-platform ontworpen om ontwikkelaars te ondersteunen gedurende de hele software-ontwikkelingscyclus, van het schrijven en debuggen van code tot het genereren van tests en documentatie. Oorspronkelijk gelanceerd als een code-completie-tool, is het geëvolueerd naar een bredere enterprise-georiënteerde platform dat generatieve AI en agent-gebaseerde workflows integreert, waardoor teams complexe ontwikkelingsTaken kunnen automatiseren terwijl ze sterke controle over privacy, beveiliging en compliance behouden. Met ondersteuning voor tientallen programmeertalen en integraties over grote IDE’s, streeft Tabnine ernaar om de productiviteit van ontwikkelaars te verbeteren terwijl ervoor wordt gezorgd dat AI-gegenereerde code betrouwbaar en afgestemd op organisatorische standaarden blijft.

U hebt jarenlang onderzoek gedaan naar programma-analyse en -synthese aan de Technion en heeft eerder gewerkt bij IBM Research. Welk probleem in software-ontwikkeling heeft u ertoe aangezet om Tabnine mede op te richten, en hoe heeft uw academisch onderzoek de oorspronkelijke visie van het bedrijf gevormd?

Mijn academisch werk richtte zich op programma-analyse en -synthese, wat essentieel is over het leren van machines om code te begrijpen en te genereren. Ik heb mijn PhD gedaan over Programma-analyse, en dat is ook waar ik mijn eerste paar jaar van toegepast onderzoekswerk heb doorgebracht. Het aanpakken van software-kwaliteitsproblemen met programma-analyse maakte het duidelijk dat sommige problemen erg moeilijk zijn op te lossen als het programma eenmaal verkeerd is geschreven. Een onsje preventie is beter dan een pond genezing, als u het zo wilt. Dit overtuigde me ervan dat de juiste manier om software-kwaliteit aan te pakken via Programma-synthese is, waar ik de meeste tijd en energie van mijn onderzoek aan heb besteed.

Ik werkte aanvankelijk aan Programma-synthese voor gelijktijdige programma’s, waarbij ik probeerde de creatie van gelijktijdige programma’s vanuit sequentiële programma’s te automatiseren. Vervolgens switchte ik naar een meer algemeen toepasbare programma-synthese met behulp van machine learning.

Programma-synthese met machine learning was ook de fundamentale idee achter Tabnine. Het idee, dat nu overduidelijk lijkt, was dat modellen coderingspatronen rechtstreeks konden leren uit grote corpora van code en ontwikkelaars in real-time konden ondersteunen. Deze algemene idee is toepasbaar op alle fasen van de software-ontwikkelingscyclus – van code-creatie tot code-review, tot implementatie en verder.

De visie was altijd om de menselijke ontwikkelaar te versterken door hen tools te geven die het ontwikkelingsproces versnellen en wrijving verwijderen. Software-ontwikkeling is een creatieve en probleemoplossende discipline, en het doel was om AI te laten helpen bij het verwijderen van wrijving uit het proces door routine-taken te hanteren en ontwikkelaars te helpen in flow te blijven. Die visie leidt ons nog steeds vandaag, hoewel de technologie sinds die vroege dagen aanzienlijk is geëvolueerd.

Tabnine was een van de eerste bedrijven die AI-coding-assistenten introduceerde, jaren voordat generatieve AI mainstream werd met tools als OpenAI’s modellen. Kijkt u terug, hoe is de rol van AI in software-ontwikkeling geëvolueerd sinds die vroege dagen, en welke lessen heeft de industrie geleerd van de eerste golf van coding-copilots?

De eerste generatie AI-coding-assistenten richtte zich voornamelijk op voorspelling. Ze waren essentieel geavanceerde autocomplete-systemen die ontwikkelaars hielpen om code sneller te schrijven door de volgende regel of functie te voorspellen.

Wat veranderd is met agent-lussen is dat AI nu taken met grotere autonomie kan hanteren, tot het punt waarop we agents (met de juiste leiding) als onafhankelijke junior-ontwikkelaars kunnen beschouwen.

Maar dit heeft de industrie ook een belangrijke les geleerd. Ruwe model-capaciteit is niet genoeg voor enterprise-software-ontwikkeling. Modellen getraind op openbare data kunnen indrukwekkende uitvoer produceren, maar ze missen vaak bewustzijn van de architectuur, afhankelijkheden en conventies van een organisatie.

Daarom is de volgende fase van evolutie niet alleen over grotere modellen of grotere context-vensters, maar over het verbinden van die modellen met de echte context waarin software wordt gebouwd.

Veel ondernemingen ontdekken dat het schalen van AI-agents meer vereist dan alleen grotere modellen – het vereist diepere organisatorische context. Waarom denkt u dat context het echte grensgebied wordt voor betrouwbare AI-gedreven ontwikkeling?

Software-systemen zijn complexe netwerken van relaties. Een enkele verandering kan meerdere diensten, API’s of downstream-componenten beïnvloeden.

AI-modellen van vandaag zijn erg goed in het genereren van plausibele code, maar ze opereren vaak zonder een gestructureerd begrip van die relaties. Zonder dat begrip kan de AI niet betrouwbaar redeneren over de gevolgen van een verandering.

Wat ondernemingen ontdekken is dat de betrouwbaarheid van AI-systemen afhankelijk is van de kwaliteit van de context waarin ze opereren. Als een AI-systeem de architectuur van het systeem, de afhankelijkheden tussen diensten en de coderingsstandaarden van de organisatie begrijpt, kan het code genereren die veel nauwer aansluit bij hoe dat systeem werkelijk werkt.

In die zin wordt context het volgende grensgebied voor enterprise-AI-ontwikkeling.

Uw nieuwe Enterprise Context Engine heeft als doel AI-agents een gestructureerd begrip te geven van de architectuur, afhankelijkheden en engineeringspraktijken van een organisatie. Hoe verschilt deze aanpak van gebruikelijke methoden zoals retrieval-augmented generatie die veel bedrijven momenteel gebruiken?

Retrieval-augmented generatie is een nuttige techniek. Het stelt modellen in staat om relevante documenten of code-fragmenten op te halen bij het genereren van een antwoord.

Maar retrieval alleen creëert geen begrip. Het biedt toegang tot informatie, niet structuur.

De Enterprise Context Engine is ontworpen om verder te gaan door een gestructureerde voorstelling van de software-omgeving op te bouwen. Het analyseert repositories, diensten, afhankelijkheden, API’s en architecturale relaties en organiseert ze in een model van hoe het systeem werkelijk werkt.

Dit stelt AI-systemen in staat om te redeneren over de relaties tussen componenten in plaats van alleen tekstfragmenten op te halen. Voor complexe enterprise-omgevingen wordt dat onderscheid erg belangrijk.

AI-coding-tools evolueren van autocomplete-suggesties naar autonome agents die in staat zijn om multi-step workflows uit te voeren. Hoe ziet u de balans tussen menselijke ontwikkelaars en agentische systemen veranderen in de komende vijf jaar?

AI-agents zullen steeds meer routine-ontwikkelingstaken overnemen. Ze zijn al in staat om functies van begin tot eind te implementeren, inclusief testen en documentatie. Elke ontwikkelaar zal een teamleider van AI-ontwikkelaars worden. De belangrijkste uitdaging zou zijn om de vereisten te communiceren aan dit team en te verifiëren of de gegenereerde artefacten overeenkomen met de vereisten.

Maar software-ontwikkeling is fundamenteel een creatieve en probleemoplossende discipline. Menselijke ontwikkelaars zullen blijven definiëren van de architectuur, keuzes maken en de algemene richting van systemen leiden.

Wat zal veranderen is het niveau van abstractie waarop ontwikkelaars werken. In plaats van zich te concentreren op code, zullen ontwikkelaars steeds meer hogere workflows orkestreren en samenwerken met AI-systemen die delen van die workflows uitvoeren.

Met andere woorden, de rol van ontwikkelaars wordt strategischer naarmate AI meer van de mechanische arbeid overneemt.

Tabnine geeft aan dat enterprise-gebruikers AI-gegenereerde code-acceptatiepercentages van ongeveer 80% kunnen zien in sommige omgevingen. Welke metrics moeten organisaties gebruiken om te bepalen of AI-coding-tools de productiviteit van ontwikkelaars daadwerkelijk verbeteren in plaats van alleen maar meer code te genereren?

De sleutelvraag is niet hoeveel code AI genereert, maar hoeveel nuttig werk het daadwerkelijk produceert.

Er zijn verschillende metrics die organisaties moeten volgen. Een daarvan is de eerste-pas-acceptatiepercentages, die meten hoe vaak AI-gegenereerde code zonder modificatie kan worden gebruikt. Een andere is de review-cyclus-tijd – hoeveel iteraties zijn vereist voordat een pull-verzoek kan worden samengevoegd.

Organisaties moeten ook kijken naar de tijd die ontwikkelaars besteden aan herwerken, evenals de levertijd voor veranderingen van ontwikkeling tot productie.

Als AI-tools de productiviteit echt verbeteren, moet u verbeteringen zien in al deze metrics. Ontwikkelaars besteden minder tijd aan het repareren van gegenereerde code en meer tijd aan hogere-waarde taken.

Ondernemingen blijven voorzichtig bij het blootstellen van propriëtaire code aan externe modellen. Hoe adresseert het concept van “Vertrouwd AI-coding” governance-, privacy- en compliance-bezorgdheden die de adoptie van AI-ontwikkelings-tools in ondernemingen hebben vertraagd?

Vertrouwen is een van de belangrijkste factoren in de adoptie van AI door ondernemingen.

Vertrouwen is de ultieme uitdaging voor het realiseren van de AI-engineer. Hoe kunnen we de AI-engineer vertrouwen om autonoom te handelen om kritieke software-engineeringtaken te voltooien? Hoe kunnen we ervoor zorgen dat zijn acties overeenkomen met onze verwachtingen voor kwaliteit, beveiliging en compliance met onze beleidsregels? Als de AI-engineer een geaccepteerd lid van ons engineersteam moet zijn, moet hij net zo vertrouwd zijn als onze goed gecontroleerde en passend opgeleide collega’s.

Het aanpakken van deze uitdaging hangt af van twee kritieke pijlers:

  • Personalisatie: Het uitrusten van de AI-engineer met een diepgaand begrip van uw organisatie, codebase en beste praktijken.
  • Controle: Het implementeren van robuuste systemen om ervoor te zorgen dat alle code – zowel AI-gegenereerd als door mensen geschreven – voldoet aan de kwaliteits-, beveiligings-, prestatie- en betrouwbaarheidsnormen van uw organisatie.

Bovendien betekent Vertrouwd AI-coding dat ondernemingen controle geven over hoe AI wordt geïmplementeerd en centrale governance en controle waarborgen.

U hebt gesuggereerd dat organisatorische context mogelijk een fundamentele laag kan worden in de enterprise-AI-stack – vergelijkbaar met databases of cloud-infrastructuur in eerdere computertijden. Hoe ziet die toekomstige architectuur eruit?

Als u kijkt naar hoe enterprise-technologie evolueert, zien we vaak nieuwe infrastructuurlagen ontstaan.

Databases werden de basis voor het beheren van data. Cloud-platforms werden de basis voor het uitvoeren van applicaties op grote schaal.

In de AI-tijdperk zullen ondernemingen infrastructuur nodig hebben die het mogelijk maakt voor AI-systemen om de interne structuur van de onderneming te begrijpen – haar systemen, relaties en operationele beperkingen.

Die infrastructuurlaag zal een gestructureerde context bieden die meerdere AI-systemen kunnen gebruiken, of het nu gaat om coding-assistenten, support-agents of operationele automatiseringshulpmiddelen.

In die zin wordt context een gedeelde basis voor enterprise-AI.

Veel bedrijven bouwen coding-assistenten die nauw verbonden zijn met een enkel foundation-model. Tabnine staat ondernemingen in staat om verschillende modellen te verbinden, afhankelijk van hun behoeften. Waarom is model-flexibiliteit belangrijk voor de langetermijnevolutie van enterprise-AI-ontwikkelings-tools?

De AI-ecosysteem evolueert erg snel. Nieuwe modellen worden frequent uitgebracht en verschillende modellen hebben vaak sterke punten in verschillende gebieden.

Ondernemingen zouden niet moeten hoeven hun ontwikkelingsworkflows opnieuw ontwerpen elke keer als het model-landschap verandert. Door ondernemingen in staat te stellen om modellen te kiezen en te wisselen, bieden we flexibiliteit die helpt om hun AI-strategie toekomstbestendig te maken.

Model-flexibiliteit stelt ondernemingen ook in staat om prestaties, kosten, privacy-eisen en implementatiebeperkingen te balanceren.

Op lange termijn zullen ondernemingen waarschijnlijk opereren in een multi-model-omgeving en moeten ontwikkelingsplatforms worden ontworpen met die realiteit in gedachten.

Wat zijn de grootste fouten die ondernemingen maken bij het implementeren van AI-ontwikkelings-tools en hoe kunnen ze die fouten vermijden?

Een veelvoorkomende fout is het focussen op alleen model-capaciteit. Grotere modellen zijn zeker een kritische component, maar betrouwbaarheid in real-world-omgevingen hangt af van hoe goed de AI het systeem begrijpt waarin het opereert.

Een andere fout is het implementeren van AI-tools zonder governance- en security-eisen te overwegen. Ondernemingen moeten duidelijke beleidsregels hebben over hoe code wordt benaderd, hoe modellen worden geïmplementeerd en hoe uitvoer wordt gevalideerd.

Tenslotte verwachten ondernemingen soms dat AI onmiddellijke productiviteitswinsten levert zonder workflows aan te passen of voldoende context te bieden. Succesvolle implementaties omvatten meestal het integreren van AI in bestaande ontwikkelingsprocessen en het verbinden ervan met de code en architectuur van de organisatie.

Als die elementen samen komen, kan AI een krachtige versneller worden voor software-ontwikkeling in plaats van alleen maar een extra tool.

Bedankt voor het geweldige interview, lezers die meer willen leren, kunnen Tabnine bezoeken.

Antoine is een visionaire leider en medeoprichter van Unite.AI, gedreven door een onwankelbare passie voor het vormgeven en promoten van de toekomst van AI en robotica. Een serieondernemer, hij gelooft dat AI net zo disruptief voor de samenleving zal zijn als elektriciteit, en wordt vaak betrapt op het prijzen van de potentie van disruptieve technologieën en AGI.

Als een futurist, hij is toegewijd aan het onderzoeken van hoe deze innovaties onze wereld zullen vormgeven. Bovendien is hij de oprichter van Securities.io, een platform dat zich richt op het investeren in cutting-edge technologieën die de toekomst herdefiniëren en hele sectoren herschikken.