インタビュー
タブナインの共同創設者兼共同CEO、エラン・ヤハブ教授 – インタビュー・シリーズ

エラン・ヤハブ教授は、タブナイン(元コドタ)の共同創設者兼共同CEOです。彼は、イスラエル工科大学のコンピューターサイエンス教授であり、研究分野はプログラミング言語、機械学習、ソフトウェアエンジニアリング、特にプログラム合成と大規模コード分析に焦点を当てています。学術的な仕事と並行して、エランは実用的開発者ツールを作成するために、数年間の研究成果を応用してタブナインを共同創設しました。タブナインは、AI駆動のコード補完と自動化の先駆けとなりました。エランの仕事は、学術と産業の架け橋となり、AI生成コードをより信頼性が高く、セキュアで、コンテキストに応じたものにすることに重点を置いています。
タブナインは、開発者がコードを書くことからテストやドキュメントの生成まで、ソフトウェア開発の全ライフサイクルをサポートするAI駆動のプラットフォームです。最初はコード補完ツールとしてリリースされましたが、現在はより広範なエンタープライズ向けプラットフォームに進化し、生成的なAIとエージェントベースのワークフローを統合しています。タブナインは、プライバシー、セキュリティ、コンプライアンスを強力に管理しながら、複雑な開発タスクの自動化を可能にします。主要なIDEとの統合と数十のプログラミング言語をサポートすることで、タブナインは開発者の生産性を向上させると同時に、AI生成コードが組織の基準と整合性を保つことを目指しています。
あなたはテクニオンでプログラム分析と合成に関する研究を数年間行ってきました。また、IBMリサーチでも働いた経験があります。タブナインを共同創設するきっかけとなったソフトウェア開発上の問題とは何ですか?また、あなたの学術研究は会社の初期のビジョンをどのように形作りましたか?
私の研究は主にプログラム分析と合成に焦点を当てていました。つまり、機械にコードを理解させ、生成させるということです。私はプログラム分析についての博士号を取得し、最初の数年間は応用研究に従事しました。ソフトウェア品質の問題に対処するためにプログラム分析を使用したことで、プログラムが間違って書かれた場合、問題を解決するのは非常に難しいことが明らかになりました。予防が最良の解決策です。したがって、私はプログラム合成がソフトウェア品質に対処するための正しいアプローチであると考えました。
私は当初、並行プログラムのためのプログラム合成に取り組み、並行プログラムを逐次プログラムから自動的に生成することを目指しました。次に、機械学習を使用したより汎用的なプログラム合成に移りました。
機械学習を使用したプログラム合成は、タブナインの基本的なアイデアでもありました。モデルが大規模なコードコーパスから直接コーディングパターンを学習し、開発者をリアルタイムで支援できるというアイデアは、当時としては新しいものでした。このアイデアは、コードの作成からコードレビュー、デプロイ、さらに先まで、ソフトウェア開発ライフサイクルのすべての段階で適用可能です。
当初からのビジョンは、開発者を支援するツールを提供し、開発プロセスを加速し、フリクションを除去することで、人間の開発者を強化することです。ソフトウェア開発は創造性と問題解決の分野であり、AIがルーチンタスクを処理し、開発者がフロー状態を維持できるようにすることが目標でした。このビジョンは現在も私たちを導いていますが、技術は初期の頃から大幅に進化しています。
タブナインは、OpenAIのモデルなどの生成的なAIが主流になる以前から、AIコーディングアシスタントの先駆けでした。初期の頃からAIの役割はどのように進化しましたか?また、最初のAIコーディングアシスタントの波から業界は何を学びましたか?
初期のAIコーディングアシスタントは、主に予測に焦点を当てていました。開発者がコードを書く速度を上げるために、次の行や関数を予測する高度なオートコンプリートシステムでした。
エージェントループが変化したことで、AIはより自律的にタスクを処理できるようになりました。適切なガイダンスがあれば、エージェントはジュニア開発者として独立して機能することができます。
しかし、これは業界に重要な教訓をもたらしました。生のモデル能力だけでは、エンタープライズソフトウェア開発には十分ではありません。パブリックデータでトレーニングされたモデルは印象的な出力を生成できますが、組織のアーキテクチャ、依存関係、規約についての認識が不足していることが多いです。
したがって、次の進化段階は、モデルを組織の実際のコンテキストに接続することです。
多くの企業は、AIエージェントをスケールアップするには、より大きなモデルだけではなく、組織のコンテキストをより深く理解する必要があることを発見しています。コンテキストが信頼性の高いAI駆動開発の真正のフロンティアになる理由について説明してください。
ソフトウェアシステムは、関係の複雑なネットワークです。単一の変更が複数のサービス、API、またはダウンストリームコンポーネントに影響を及ぼす可能性があります。
現在のAIモデルは、あり得るコードを生成することができますが、多くの場合、システムの関係について構造化された理解が不足しています。そうでない場合、AIは変更の結果について信頼性高く推論することができません。
企業が発見しているのは、AIシステムの信頼性は、操作するコンテキストの品質に依存するということです。AIシステムがシステムのアーキテクチャ、サービス間の依存関係、組織のコーディング規約を理解している場合、生成されたコードはシステムの実際の動作に合わせて生成される可能性が高くなります。
この意味で、コンテキストはエンタープライズAI開発の次のフロンティアとなっています。
タブナインの新しいエンタープライズコンテキストエンジンは、AIエージェントに組織のアーキテクチャ、依存関係、エンジニアリング慣行の構造化された理解を提供することを目的としています。これは、多くの企業が現在依存しているリトリーバル増強生成などの一般的な方法とどのように異なりますか?
リトリーバル増強生成は有用なテクニックです。モデルが回答を生成する際に関連するドキュメントやコードスニペットを取得できるようにします。
ただし、リトリーバルだけでは理解を生み出しません。情報へのアクセスを提供しますが、構造を提供しません。
エンタープライズコンテキストエンジンは、ソフトウェア環境の構造化された表現を構築することでさらに進みます。リポジトリ、サービス、依存関係、API、建築関係を分析し、システムが実際にどのように機能するかをモデル化します。
これにより、AIシステムはテキストの断片を取得するのではなく、コンポーネント間の関係について推論できるようになります。複雑なエンタープライズ環境では、この違いが非常に重要になります。
AIコーディングツールは、オートコンプリートの提案から、複数のワークフローを実行できる自律エージェントに進化しています。次の5年間で、人間の開発者とエージェントシステムのバランスはどのように変化するでしょうか?
AIエージェントは、ルーチンタスクを増やし、エンドツーエンドの機能実装、テスト、ドキュメント化を実行できるようになります。毎回、開発者はAI開発者のチームリーダーになります。主な課題は、要件をこのチームに伝えることと、生成された成果物が要件に合致することを確認することです。
しかし、ソフトウェア開発は本質的に問題解決と設計の分野です。人間の開発者はアーキテクチャを定義し、トレードオフを決定し、システムの全体的な方向性を導く役割を継続します。
変化するのは、開発者が取り組む抽象レベルです。コードではなく、より高いレベルのワークフローをオーケストレーションし、ワークフローの部分を実行するAIシステムと協力するようになります。
言い換えると、開発者の役割は戦略的になり、AIが機械的な作業をより多く処理するようになります。
タブナインは、エンタープライズユーザーがAI生成コードの受け入れ率を約80%まで達成できることを示しています。組織は、AIコーディングツールが実際に開発者の生産性を向上させているかどうかを判断するために、どのようなメトリックを使用するべきですか?
重要なのは、AIがどれだけのコードを生成するかではなく、実際にどれだけの有用な作業を生み出すかです。
組織が追跡すべきメトリックは複数あります。最初のパス受け入れ率は1つで、AI生成コードが修正なしで使用できる頻度を測定します。別のメトリックはレビューサイクルタイムで、プルリクエストをマージする前に必要なイテレーションの数を示します。
組織はまた、開発者がリワークに費やす時間や開発から本稼働までのリードタイムを調べるべきです。
AIツールが実際に生産性を向上させている場合、これらのメトリック全てで改善が見られるはずです。開発者は生成されたコードの修正に費やす時間が減り、高い価値のあるタスクに集中できるようになります。
エンタープライズは、外部モデルへのプライベートコードの公開に慎重です。信頼できるAIコーディングの概念は、エンタープライズAI開発ツールの採用を妨げているガバナンス、プライバシー、コンプライアンスの懸念に対処する方法について説明してください。
信頼はエンタープライズのAI採用において最も重要な要素の1つです。
信頼は、AIエンジニアが重要なソフトウェアエンジニアリングタスクを自律的に実行するために必要なものです。AIエンジニアが私たちの品質、セキュリティ、ポリシーのコンプライアンスに関する期待と一致する行動をとることをどのように信頼できるでしょうか?AIエンジニアが私たちのエンジニアリングチームの一員として受け入れられるためには、適切にオンボーディングされたチームメイトと同じレベルの信頼性が必要です。
この課題に対処するには、2つの重要な柱があります:
- パーソナライゼーション: AIエンジニアがあなたの組織、コードベース、ベストプラクティスを深く理解できるようにします。
- コントロール: AI生成コードと人間が書いたコードの両方が、組織の品質、セキュリティ、パフォーマンス、信頼性の基準を満たすことを保証するための堅牢なシステムを実装します。
さらに、信頼できるAIコーディングでは、組織がAIの展開を制御し、中央集権的なガバナンスとコントロールを保証することが重要です。
あなたは組織のコンテキストがエンタープライズAIスタックの基礎レイヤーになる可能性があると示唆しています。将来のアーキテクチャはどのようなものになりますか?
エンタープライズテクノロジーの進化を見ると、多くの場合、新しいインフラストラクチャ層が登場することがわかります。
データベースはデータ管理の基盤となり、クラウドプラットフォームは大規模なアプリケーションの基盤となりました。
AI時代に、組織はAIシステムが内部構造、システム、関係、運用上の制約を理解できるインフラストラクチャが必要になります。
そのインフラストラクチャ層は、複数のAIシステムが使用できる構造化されたコンテキストを提供します。コーディングアシスタント、サポートエージェント、運用自動化ツールなどです。
この意味で、コンテキストはエンタープライズAIの共有基盤となります。
多くの企業は、単一の基礎モデルに密接に結びついたコーディングアシスタントを構築しています。タブナインは、企業が必要に応じてさまざまなモデルを接続できるようにします。エンタープライズAI開発ツールの長期的な進化において、モデル柔軟性が重要な理由について説明してください。
AIエコシステムは非常に速いペースで進化しています。新しいモデルが頻繁にリリースされ、各モデルには異なる分野での強みがあります。
企業はモデルランドスケープの変化ごとに開発ワークフローを再設計する必要はありません。モデルを選択して切り替えることを可能にすることで、AI戦略を将来にわたって保護するための柔軟性を提供します。
モデル柔軟性により、企業はパフォーマンス、コスト、プライバシーの要件、展開の制約をバランスさせることもできます。
長期的には、企業は多モデル環境で運用されることになり、開発プラットフォームはこの現実に適応するように設計されるべきです。
現在AI開発プラットフォームを評価しているCTOやエンジニアリングリーダーにとって、AIコーディングツールの展開で組織が犯す最大の間違いは何ですか?それを避ける方法について教えてください。
1つの共通の間違いは、モデル能力だけに焦点を当てることです。大きなモデルは重要な要素ですが、実世界の環境での信頼性は、AIがシステムを理解している程度に依存します。
別の間違いは、AIツールを展開する際にガバナンスとセキュリティの要件を考慮していないことです。企業には、コードへのアクセス方法、モデル展開方法、出力の検証方法について明確なポリシーが必要です。
最後に、企業はAIツールが直ちに生産性の向上をもたらすことを期待することがありますが、ワークフローを適応させたり、十分なコンテキストを提供しないこともあります。成功した展開では、AIを既存の開発プロセスに統合し、組織のコードとアーキテクチャに接続することが含まれます。
これらの要素が組み合わさると、AIは単なるツールではなく、ソフトウェア開発の強力なアクセラレータとなる可能性があります。
素晴らしいインタビュー、詳しく知りたい読者はタブナインを訪れてください。












