ロング コンテキスト ウィンドウを活用したアプリケーションの中で、特に期待を集めているフロンティアと言えるのが、コードの生成と理解です。大規模なコードベースでは、複雑な関係や依存性を深く理解する必要がありますが、これは従来の AI モデルが苦手とする分野です。大規模コンテキスト ウィンドウによってコード量を拡大すれば、コードの生成と理解の精度と有用性を新たなレベルに引き上げることができます。
Sourcegraph は、Gemini 1.5 Pro や Flash などの LLM をサポートする Cody AI コーディング アシスタントを作成しました。私たちは、現実のコーディング シナリオにおけるロング コンテキスト ウィンドウの可能性を追求するため、Sourcegraph と連携しました。Sourcegraph は、AI コード生成にコード検索やインテリジェンスを組み込むことに取り組んでいます。また、Cody は Palo Alto Networks や Leidos といった大規模で複雑なコードベースを持つ企業に導入されているため、Sourcegraph はこのテーマにぴったりのパートナーです。
Sourcegraph は、100 万トークン コンテキスト ウィンドウ(Google の Gemini 1.5 Flash を利用)と、現在稼働中のバージョンで、Cody のパフォーマンスを比較しました。この直接的な比較により、コンテキスト拡大のメリットだけを評価することができました。重点的に評価したのが、技術的な質問への回答です。これは大規模なコードベースを扱うデベロッパーにとって重要なタスクです。深いコードの理解を必要とする難しい質問のデータセットを利用しました。
結果は驚くべきものでした。ロング コンテキストを利用すると、Sourcegraph が重視する 3 つのベンチマーク(重要な情報の記憶力、重要な情報の簡潔さ、有用性)が大幅に向上することが示されました。
さらに、ロング コンテキスト モデルを使うと、全体的なハルシネーション(間違った事実を含む情報が生成されること)の比率が大幅に低下しました。ハルシネーションの比率は、18.97% から 10.48% に低下し、精度と信頼性が大幅に向上しました。
ロング コンテキストのメリットは重要ですが、トレードオフもあります。最初のトークンが生成されるまでの時間は、コンテキストの長さに応じて直線的に増加します。Sourcegraph は、これを軽減するため、モデルの実行状態をキャッシュするプリフェッチ メカニズムとレイヤ コンテキスト モデル アーキテクチャを実装しました。その結果、Gemini 1.5 Flash と Pro のロング コンテキスト モデルで最初のトークンが生成されるまでの時間が最適化され、1MB のコンテキストで 30~40 秒から約 5 秒に短縮されました。これはリアルタイムのコード生成および技術支援にとって、大幅な改善です。
このコラボレーションは、ロング コンテキスト モデルがコードの理解と生成に革命をもたらす可能性を示しています。私たちは今後も Sourcegraph のような企業と連携しながら、大規模コンテキスト ウィンドウを活用してさらに革新的なアプリケーションやパラダイムを生み出したいと考えています。
Sourcegraph の評価手法、ベンチマーク、分析や、その実例について深く知りたい方は、詳しいブログ投稿をご覧ください。