GitHub CopilotでOpenAI o1を試してみた

Image of tomokota
Author
Image of Mario Rodriguez

OpenAI o1-previewとGitHub Copilotの統合をテストしました。


本日、OpenAIは難しい問題を解決するための高度な推論機能を備えた新しいAIモデルシリーズ、OpenAI o1をリリースしました。皆さんと同じように、私たちも新しいo1モデルを使いこなすことを楽しみにしており、o1-previewとGitHub Copilotのインテグレーションをテストしました。大規模システムのデバッグ、レガシーコードのリファクタリング、テストスイートの作成など、この新しいモデルを使って多くのユースケースを模索していますが、最初のテストでは、コード解析と最適化において有望な結果が得られました。これは、o1-previewが返答する前に課題を考え抜く能力を備えているためで、GitHub Copilotで複雑なタスクを構造化されたステップに分解することを可能にします。

このブログでは、GitHub Copilotの新モデルの能力を紹介する2つのシナリオと、日常業務での活用方法について説明します。新しいモデルがローンチされたときに何が起こるのか、何をテストしているのか、GitHubでAIが支援するソフトウェア開発にどのように取り組んでいるのか、その舞台裏をご覧ください。

複雑なアルゴリズムを高度な推論で最適化

最初のテストでは、o1-previewが複雑なアルゴリズムの記述や改良にどのように役立つかを理解したいと考えました。この作業は、より効率的で革新的な解決策を見つけるために深い論理的推論を必要とします。開発者は、制約を理解し、エッジケースを最適化し、全体的な目的を見失うことなくアルゴリズムを繰り返し改善する必要があります。これはまさにo1-previewが得意とするところです。このことを念頭に置いて、モデルの推論機能の恩恵を受ける新しいコード最適化ワークフローを開発しました。

このデモでは、新しい組み込みのOptimizeチャットコマンドが、インポート、テスト、パフォーマンスプロファイルのような豊富なエディタコンテキストをすぐに提供します。私たちは、o1-previewがコードを分析し、反復することで、より徹底的で効率的な最適化を一発で導き出すことができるかをテストしました。

この動画では、GitHub Copilot Chatのトークナイザー・ライブラリで使用されているバイトペアエンコーダ(英語Wiki / 日本語Wiki)のパフォーマンスを最適化しています(そう、これは私たちのAI開発の重要なビルディングブロックを最適化するためにAIを使用していることを意味します)。

GitHub Copilotはプロンプトを組み立てる間に大量のデータを繰り返しトークン化する必要があるため、これはVS Codeチームが直面した現実的な問題でした。

この結果は、o1-previewの推論機能がコードの制約やエッジケースをより深く理解することを可能にし、より効率的で高品質な結果を生み出すのに役立っていることを浮き彫りにしています。一方、GPT-4oは明白な最適化にとどまり、GitHub Copilotをより複雑なアプローチに導くには開発者の助けが必要です。

複雑なコードタスクを処理するだけでなく、o1-previewの数学的能力は、ターミナルの出力からベンチマーク結果を簡単に計算し、それを簡潔に要約することでも際立っています。

パフォーマンスバグ修正のためにアプリケーションコードを最適化する

次のGitHub上でのデモでは、o1-previewはパフォーマンスバグの解決策を数分で特定し、開発することができました。同じバグに対して、私たちのソフトウェアエンジニアの一人は、同じ解決策を思いつくまでに数時間かかりました。当時、私たちはGitHub.comのファイルビューにフォルダツリーを追加したかったのですが、要素の数が原因でフォーカス管理コードがストールし、ブラウザがクラッシュしていました。この動画では、GPT-4oとo1-previewの違いを並べて、問題の解決を試みています:

1,000もの要素がこのコードで管理されているため、問題を切り分けるのは困難でした。最終的に、この関数のランタイムを1,000ms以上から約16msに改善する変更を適用しました。GitHub Copilotがo1-previewと一緒に、問題を素早く特定し、より早く修正できました。

この実験を通じて、私たちは、o1-previewの応答がいかに意図的かつ目的意識的であるかという、微妙だが強力な違いを発見しました。それは、開発者が問題をピンポイントで特定し、素早く解決策を実施することを容易にするということです。GPT-4oでは、同じようなプロンプトが表示されたとしても、一行一行に分けられた推奨事項を含む解決策ではなく、コードの塊が表示されるかもしれません。

GitHub でビルドする開発者に o1-preview の力をもたらす

私たちは、GitHub Copilotにo1-previewをインテグレーションすることに興奮しているだけでなく、皆さんがo1-previewを使ってどんなものを創るのか楽しみでなりません。そこで、o1シリーズをGitHub Modelsに導入することにしました。o1-previewと、より小さく高速で80%安価なo1-miniは、本日中にマーケットプレイスでご覧いただけますが、まだプレビュー版のため、早期アクセスにはAzure AIへのサインアップが必要です。

今後について

マイクロソフトとOpenAIのコラボレーターとして、GitHubは開発者の生産性を向上させ、そして最も重要な開発者の幸福度を向上させるために、最新のAIのブレークスルーをどのように活用できるかを常に探求することができます。これらのデモは、2つの特定の最適化問題に対するo1-previewの強化された機能を紹介するものですが、私たちはまだ実験の初期段階にあり、o1-previewが他にどのようなことができるのか楽しみです。

現在、GitHub CopilotのIDE、GitHub Copilot Workspace、そしてGitHub上で、o1-previewの強力な推論機能を活用して開発者ワークフローをさらに高速化するための使用例を模索しています。今日ご紹介する進化は、GitHub Copilotでo1-previewを使って開発者が構築できるようになることのほんの表面をなぞったにすぎません。そして、o1シリーズとGPTシリーズの両方が期待される進化により、これは始まりに過ぎません。

最新のGitHub CopilotとAIのイノベーションを試してみませんか?

The post First Look: Exploring OpenAI o1 in GitHub Copilot
appeared first on The GitHub Blog.