Interviews

Professor Eran Yahav, Co-Founder und Co-CEO von Tabnine – Interview-Serie

mm
Unite.AI zu deinen bevorzugten Quellen auf Google hinzufügen

Professor Eran Yahav, Co-Founder und Co-CEO von Tabnine, ist ein Informatikprofessor am Technion – Israel Institute of Technology, dessen Forschung sich auf Programmiersprachen, maschinelles Lernen und Software-Engineering konzentriert, insbesondere auf Programmsynthese und groß angelegte Code-Analyse. Neben seiner akademischen Arbeit gründete er Tabnine (ursprünglich Codota), um Jahre der Forschung in praktische Entwickler-Tools umzusetzen, die den Einsatz von künstlicher Intelligenz bei der Code-Vervollständigung und -Automatisierung vorantreiben. Seine Arbeit verbindet Wissenschaft und Industrie, mit dem Fokus darauf, künstlich generierten Code für reale Unternehmensumgebungen zuverlässiger, sicherer und kontextbezogener zu machen.

Tabnine ist eine künstlich intelligente Codierplattform, die Entwickler während des gesamten Software-Entwicklungslebenszyklus unterstützen soll, von der Codierung und Fehlersuche bis hin zur Generierung von Tests und Dokumentation. Ursprünglich als Code-Vervollständigungstool gestartet, hat es sich zu einer umfassenderen Unternehmensplattform entwickelt, die generative künstliche Intelligenz und agentenbasierte Workflows integriert, um Teams zu ermöglichen, komplexe Entwicklungsarbeiten zu automatisieren, während sie gleichzeitig starke Kontrollen über Datenschutz, Sicherheit und Compliance aufrechterhält. Mit Unterstützung für Dutzende von Programmiersprachen und Integrationen in große IDEs zielt Tabnine darauf ab, die Produktivität der Entwickler zu verbessern, während sichergestellt wird, dass künstlich generierter Code vertrauenswürdig bleibt und den Unternehmensstandards entspricht.

Sie haben Jahre damit verbracht, Programm-Analyse und -Synthese am Technion zu erforschen und zuvor bei IBM Research gearbeitet. Welches Problem in der Software-Entwicklung hat Sie dazu veranlasst, Tabnine mitzubegründen, und wie hat Ihre akademische Forschung die ursprüngliche Vision des Unternehmens geprägt?

Meine akademische Arbeit konzentrierte sich auf Programm-Analyse und -Synthese, was im Wesentlichen darum geht, Maschinen zu lehren, Code zu verstehen und zu generieren. Ich habe meine Promotion über Programm-Analyse gemacht und dies ist auch der Bereich, in dem ich meine ersten Jahre der angewandten Forschungsarbeit verbracht habe. Die Bekämpfung von Software-Qualitätsproblemen mit Programm-Analyse machte mir klar, dass einige Probleme sehr schwer zu lösen sind, wenn das Programm falsch geschrieben wurde. Ein Pfennig an Prävention ist besser als ein Pfund an Heilung, wenn man so will. Dies überzeugte mich, dass die richtige Art, Software-Qualität anzugehen, über Programm-Synthese ist, auf die ich den größten Teil meiner Forschungszeit und -energie verwendet habe.

Ich habe zunächst an der Programm-Synthese für parallele Programme gearbeitet, indem ich versuchte, die Erstellung paralleler Programme aus sequenziellen zu automatisieren. Dann wechselte ich zu einer allgemeiner anwendbaren Programm-Synthese unter Verwendung von maschinellem Lernen.

Die Programm-Synthese unter Verwendung von maschinellem Lernen war auch die grundlegende Idee, die Tabnine antrieb. Die Idee, die jetzt offensichtlich erscheint, war, dass Modelle Codemuster direkt aus großen Code-Korpora lernen und Entwickler in Echtzeit unterstützen können. Diese allgemeine Idee ist auf alle Stadien des Software-Entwicklungslebenszyklus anwendbar – von der Code-Erstellung bis zur Code-Überprüfung, zur Bereitstellung und darüber hinaus.

Die Vision war immer, den menschlichen Entwickler durch Werkzeuge zu unterstützen, die den Entwicklungsprozess beschleunigen und Reibung entfernen. Software-Entwicklung ist eine kreative und problemlösende Disziplin, und das Ziel war, dass künstliche Intelligenz Reibung aus dem Prozess entfernt, indem sie Routineaufgaben übernimmt und Entwickler dabei hilft, im Fluss zu bleiben. Diese Vision leitet uns noch heute, obwohl die Technologie seit diesen frühen Tagen erheblich fortgeschritten ist.

Tabnine hat künstliche Intelligenz-Codier-Assistenten Jahre bevor generative künstliche Intelligenz mit Tools wie OpenAI-Modellen zum Mainstream wurde, entwickelt. Wenn man zurückblickt, wie hat sich die Rolle der künstlichen Intelligenz in der Software-Entwicklung seit diesen frühen Tagen entwickelt, und welche Lektionen hat die Branche aus der ersten Welle der Codier-Copiloten gelernt?

Die frühe Generation der künstlichen Intelligenz-Codier-Assistenten konzentrierte sich hauptsächlich auf Vorhersagen. Sie waren im Wesentlichen erweiterte Autovervollständigungssysteme, die Entwicklern halfen, Code schneller zu schreiben, indem sie die nächste Zeile oder Funktion vorhersagten.

Was sich geändert hat, ist, dass künstliche Intelligenz jetzt Aufgaben mit größerer Autonomie ausführen kann, bis hin zu dem Punkt, an dem wir Agenten (mit entsprechender Anleitung) als unabhängige Junior-Entwickler betrachten können.

Das hat der Branche jedoch auch eine wichtige Lektion beigebracht. Die reine Modellfähigkeit reicht nicht aus für die Software-Entwicklung in Unternehmen. Modelle, die auf öffentlichen Daten trainiert werden, können beeindruckende Ausgaben produzieren, aber sie fehlen oft an Bewusstsein für die Architektur, Abhängigkeiten und Konventionen eines Unternehmens.

Deshalb ist die nächste Evolutionsstufe nicht nur eine Frage von größeren Modellen oder größeren Kontextfenstern, sondern darum, diese Modelle mit dem realen Kontext zu verbinden, in dem Software erstellt wird.

Viele Unternehmen entdecken, dass die Skalierung von künstlichen Intelligenz-Agenten mehr erfordert als nur größere Modelle – es erfordert einen tieferen organisatorischen Kontext. Warum glauben Sie, dass Kontext zum wahren Grenzbereich für zuverlässige künstliche Intelligenz-Entwicklung wird?

Software-Systeme sind komplexe Netzwerke von Beziehungen. Eine einzelne Änderung kann multiple Dienste, APIs oder nachgelagerte Komponenten beeinflussen.

Künstliche Intelligenz-Modelle sind heute sehr gut darin, plausiblen Code zu generieren, aber sie operieren oft ohne ein strukturiertes Verständnis dieser Beziehungen. Ohne dieses Verständnis kann die künstliche Intelligenz nicht zuverlässig über die Folgen einer Änderung nachdenken.

Was Unternehmen entdecken, ist, dass die Zuverlässigkeit von künstlichen Intelligenz-Systemen von der Qualität des Kontexts abhängt, in dem sie operieren. Wenn ein künstliches Intelligenz-System die Architektur des Systems, die Abhängigkeiten zwischen Diensten und die Codierstandards des Unternehmens versteht, kann es Code generieren, der viel besser mit der Funktionsweise des Systems übereinstimmt.

In diesem Sinne wird Kontext zum nächsten Grenzbereich für die Unternehmens-künstliche Intelligenz-Entwicklung.

Ihr neuer Enterprise Context Engine soll künstlichen Intelligenz-Agenten ein strukturiertes Verständnis der Unternehmens-Architektur, -Abhängigkeiten und -Entwicklungspraktiken geben. Wie unterscheidet sich dieser Ansatz von gängigen Methoden wie der retrieval-augmented Generation, auf die viele Unternehmen derzeit setzen?

Die retrieval-augmented Generation ist eine nützliche Technik. Sie ermöglicht es Modellen, relevante Dokumente oder Code-Snippets abzurufen, wenn sie eine Antwort generieren.

Aber Abruf allein schafft kein Verständnis. Er bietet Zugang zu Informationen, nicht zu Struktur.

Der Enterprise Context Engine ist darauf ausgelegt, weiter zu gehen, indem er eine strukturierte Darstellung der Software-Umgebung aufbaut. Er analysiert Repositories, Dienste, Abhängigkeiten, APIs und architektonische Beziehungen und organisiert sie in ein Modell, das zeigt, wie das System tatsächlich funktioniert.

Dadurch können künstliche Intelligenz-Systeme über die Beziehungen zwischen Komponenten nachdenken, anstatt nur Textstücke abzurufen. Für komplexe Unternehmensumgebungen wird dieser Unterschied sehr wichtig.

Künstliche Intelligenz-Codier-Tools entwickeln sich von Autovervollständigungsvorschlägen zu autonomen Agenten, die in der Lage sind, mehrstufige Workflows auszuführen. Wie sehen Sie die Balance zwischen menschlichen Entwicklern und agentenbasierten Systemen in den nächsten fünf Jahren?

Künstliche Intelligenz-Agenten werden zunehmend Routine-Entwicklungsarbeiten übernehmen. Sie sind bereits in der Lage, Funktionen von Anfang bis Ende umzusetzen, einschließlich Tests und Dokumentation. Jeder Entwickler wird zum Teamleiter von künstlichen Intelligenz-Entwicklern. Die größte Herausforderung wird darin bestehen, die Anforderungen an dieses Team zu kommunizieren und sicherzustellen, dass die generierten Artefakte den festgelegten Anforderungen entsprechen.

Software-Entwicklung ist jedoch fundamental eine kreative und problemlösende Disziplin. Menschliche Entwickler werden weiterhin die Architektur definieren, Kompromisse eingehen und die Gesamtrichtung der Systeme bestimmen.

Was sich ändern wird, ist das Abstraktionsniveau, auf dem Entwickler arbeiten. Anstatt sich auf Code zu konzentrieren, werden Entwickler zunehmend höhere Workflows orchestrieren und mit künstlichen Intelligenz-Systemen zusammenarbeiten, die Teile dieser Workflows ausführen.

Mit anderen Worten, die Rolle der Entwickler wird strategischer, während künstliche Intelligenz mehr der mechanischen Arbeit übernimmt.

Tabnine hat angegeben, dass Unternehmensanwender AI-generierten Code-Akzeptanzraten von etwa 80 % in einigen Umgebungen sehen können. Welche Metriken sollten Organisationen verwenden, um zu bestimmen, ob AI-Codier-Tools die Produktivität der Entwickler tatsächlich verbessern und nicht nur mehr Code generieren?

Die wichtigste Frage ist nicht, wie viel Code künstliche Intelligenz generiert, sondern wie viel nützliche Arbeit sie tatsächlich produziert.

Es gibt mehrere Metriken, die Organisationen verfolgen sollten. Eine davon ist die Akzeptanzrate bei der ersten Übermittlung, die misst, wie oft künstlich generierter Code ohne Modifikation verwendet werden kann. Eine weitere ist die Überprüfungszykluszeit – wie viele Iterationen sind erforderlich, bevor ein Pull-Request zusammengeführt werden kann.

Organisationen sollten auch den Zeitraum verfolgen, den Entwickler für Nachbesserungen aufwenden, sowie die Zeit, die für Änderungen von der Entwicklung bis zur Produktion benötigt wird.

Wenn AI-Tools die Produktivität tatsächlich verbessern, sollten Sie Verbesserungen in diesen Metriken sehen. Entwickler verbringen weniger Zeit damit, generierten Code zu korrigieren, und mehr Zeit mit höherwertigen Aufgaben.

Unternehmen bleiben vorsichtig, wenn es darum geht, proprietären Code externen Modellen auszusetzen. Wie adressiert das Konzept des “Trusted AI Coding” Governance-, Datenschutz- und Compliance-Bedenken, die die Unternehmensadoption von AI-Entwicklungs-Tools verlangsamt haben?

Vertrauen ist einer der wichtigsten Faktoren für die Unternehmensadoption von künstlicher Intelligenz.

Vertrauen ist die ultimative Herausforderung für die Realisierung des AI-Ingenieurs. Wie können wir dem AI-Ingenieur vertrauen, autonome kritische Software-Entwicklungsarbeiten durchzuführen? Wie können wir sicherstellen, dass seine Handlungen unseren Erwartungen an Qualität, Sicherheit und Compliance mit unseren Richtlinien entsprechen? Wenn der AI-Ingenieur ein akzeptiertes Mitglied unseres Ingenieur-Teams werden soll, muss er so vertrauenswürdig sein wie unsere sorgfältig geprüften und ordnungsgemäß eingearbeiteten Teammitglieder.

Die Bewältigung dieser Herausforderung hängt von zwei kritischen Säulen ab:

  • Personalisierung: Ausstatten des AI-Ingenieurs mit einem tiefen Verständnis Ihres Unternehmens, Codebasis und Best Practices.
  • Kontrolle: Implementierung robuster Systeme, um sicherzustellen, dass alle Code – sowohl AI-generiert als auch von Menschen geschrieben – den Qualitäts-, Sicherheits-, Leistungs- und Zuverlässigkeitsstandards Ihres Unternehmens entspricht.

Zusätzlich bedeutet Trusted AI Coding, dass Unternehmen die Kontrolle über die Bereitstellung von künstlicher Intelligenz haben und eine zentrale Governance und Kontrolle sicherstellen.

Sie haben vorgeschlagen, dass organisatorischer Kontext möglicherweise zu einer grundlegenden Schicht in der Unternehmens-künstlichen Intelligenz werden könnte – ähnlich wie Datenbanken oder Cloud-Infrastruktur in früheren Rechnerepochen. Wie sieht diese zukünftige Architektur aus?

Wenn man sich ansieht, wie Unternehmens-Technologie evolviert, sehen wir oft neue Infrastruktur-Schichten entstehen.

Datenbanken wurden zur Grundlage für die Datenverwaltung. Cloud-Plattformen wurden zur Grundlage für die Ausführung von Anwendungen im großen Maßstab.

In der Ära der künstlichen Intelligenz werden Unternehmen Infrastruktur benötigen, die es künstlichen Intelligenz-Systemen ermöglicht, die interne Struktur des Unternehmens zu verstehen – seine Systeme, Beziehungen und betrieblichen Einschränkungen.

Diese Infrastruktur-Schicht wird strukturierten Kontext bereitstellen, den multiple künstliche Intelligenz-Systeme nutzen können, sei es als Codier-Assistenten, Support-Agenten oder operative Automatisierungstools.

In diesem Sinne wird Kontext zu einer gemeinsamen Grundlage für die Unternehmens-künstliche Intelligenz.

Viele Unternehmen bauen Codier-Assistenten eng mit einem einzelnen Grundmodell zusammen. Tabnine ermöglicht es Unternehmen hingegen, je nach Bedarf unterschiedliche Modelle zu verbinden. Warum ist Modellflexibilität für die langfristige Evolution von Unternehmens-künstlichen Intelligenz-Entwicklungs-Tools wichtig?

Das künstliche Intelligenz-Ökosystem entwickelt sich sehr schnell. Neue Modelle werden häufig veröffentlicht, und unterschiedliche Modelle haben oft Stärken in verschiedenen Bereichen.

Unternehmen sollten nicht ihre Entwicklungs-Workflows jedes Mal neu entwerfen müssen, wenn sich das Modell-Landschaft ändert. Indem wir es Organisationen ermöglichen, zwischen Modellen zu wählen und zu wechseln, bieten wir Flexibilität, die ihre künstliche Intelligenz-Strategie zukunftssicher macht.

Modellflexibilität ermöglicht es Organisationen auch, Leistung, Kosten, Datenschutzanforderungen und Bereitstellungsbeschränkungen auszugleichen.

Langfristig werden Unternehmen wahrscheinlich in einer multi-Modell-Umgebung operieren, und Entwicklungsplattformen sollten für diese Realität konzipiert werden.

Für CTOs und technische Leiter, die heute AI-Entwicklungsplattformen bewerten, was sind die größten Fehler, die Organisationen machen, wenn sie AI-Codier-Tools bereitstellen, und wie können sie diese vermeiden?

Ein häufiger Fehler ist die Konzentration nur auf die Modellfähigkeit. Größere Modelle sind definitiv ein kritischer Bestandteil, aber Zuverlässigkeit in realen Umgebungen hängt davon ab, wie gut die künstliche Intelligenz das System versteht, in dem sie operiert.

Ein weiterer Fehler ist die Bereitstellung von AI-Tools ohne Berücksichtigung von Governance- und Sicherheitsanforderungen. Unternehmen benötigen klare Richtlinien darüber, wie Code zugegriffen, wie Modelle bereitgestellt und wie Ausgaben validiert werden.

Schließlich erwarten Organisationen manchmal, dass künstliche Intelligenz sofortige Produktivitätssteigerungen liefert, ohne ihre Workflows anzupassen oder ausreichenden Kontext bereitzustellen. Erfolgreiche Bereitstellungen erfordern in der Regel die Integration von künstlicher Intelligenz in bestehende Entwicklungsprozesse und die Verbindung mit der Codebasis und Architektur des Unternehmens.

Wenn diese Elemente zusammenkommen, kann künstliche Intelligenz zu einem mächtigen Beschleuniger für die Software-Entwicklung werden, anstatt nur ein weiteres Werkzeug zu sein.

Vielen Dank für das großartige Interview. Leser, die mehr erfahren möchten, sollten Tabnine besuchen.

Antoine ist ein visionärer Leiter und Gründungspartner von Unite.AI, getrieben von einer unerschütterlichen Leidenschaft für die Gestaltung und Förderung der Zukunft von KI und Robotik. Als Serienunternehmer glaubt er, dass KI für die Gesellschaft so disruptiv sein wird wie Elektrizität, und er wird oft dabei erwischt, wie er über das Potenzial disruptiver Technologien und AGI schwärmt.

Als Futurist ist er darauf bedacht, zu erforschen, wie diese Innovationen unsere Welt prägen werden. Darüber hinaus ist er der Gründer von Securities.io, einer Plattform, die sich auf Investitionen in bahnbrechende Technologien konzentriert, die die Zukunft neu definieren und ganze Branchen umgestalten.