GitHubは3月10日(米国時間)、「The era of “AI as text” is over. Execution is the new interface. - The GitHub Blog」において、独自アプリケーションにCopilot型のAIエージェント機能 を組み込める開発キット「GitHub Copilot SDK」を紹介した。
GitHubは、テキストを生成するAIから実際に処理を実行するAIへの移行が進むとみており、その実行基盤をアプリケーションに組み込める仕組みとして同SDKを提供している。
AIエージェントをアプリに組み込む「GitHub Copilot SDK」
これまで多くのAI利用者は、プロンプトとして指示を入力し、返ってきた文章を基に次の行動を判断する形で活用してきた。しかし、実際のソフトウェアは単発の応答ではなく、複数の処理を連続して進め、状況に応じて判断を変え、失敗時には復旧しながら動作する。GitHubは、こうした実行主体としてのAIをアプリケーション側へ取り込む構成が今後広がりをみせると予想している。
そこで同社は1月22日、GitHub Copilot SDK(テクニカルプレビュー版)を発表し、GitHub Copilot CLIを支える同じエージェント基盤の提供を開始した。今回はこの開発キットの利用促進を目的に3つの事例を紹介し、エージェント型ワークフローの活用を提案している。
GitHub Copilot SDKの利用事例:マルチステップ実行
最初は、複数工程を伴う作業の委任だ。従来はスクリプトや補助的なコードで自動化を試みてきたが、処理内容が途中で変化したり、状況に応じた判断が必要になったりすると、固定化された手順では対応が難しくなる。
GitHub Copilot SDKを利用すれば、開発者は「意図」と「制約」を提示するだけでよく、AI側が対象のリポジトリーを調べ、必要な工程を組み立て、ファイルの変更やコマンド実行を自律的に進める。途中で問題が発生した場合も、範囲内で対応を試みながら処理を続けることができる。これにより、従来のように例外処理を大量に書き込む必要が減り、柔軟な自動化が可能になる。
GitHub Copilot SDKの利用事例:MCPによるコンテキスト管理
次は、実行時に参照する情報を構造化して扱う仕組みだ。多くの開発者は、システムの仕様や依存関係、APIの構造などをプロンプトに組み込んでAIへ渡そうとする。しかしプロンプトに依存した形では再利用性が低く、変更時の影響範囲も把握しづらい。
GitHub Copilot SDKでは、開発者が独自のツールや機能を定義し、それらを「モデルコンテキストプロトコル(MCP: Model Context Protocol)」を通じてAIへ提供できる。MCPは、AIが外部ツールやデータにアクセスするための共通インタフェースとして提案されている仕組み。AIは実行時に必要な情報を直接取得し、判断に利用する。これまでプロンプトに詰め込んでいた情報を構造として扱えるようになり、実際のツールと実際のデータに基づいたエージェント実行が可能になる。
GitHub Copilot SDK:幅広いアプリケーションへの組み込み
最後は、幅広いアプリケーションへの組み込みだ。これまでのAIツールは統合開発環境(IDE: Integrated Development Environment)内での利用が中心だったが、実際の業務ではデスクトップアプリケーション、社内向けツール、バックグラウンド処理、ソフトウェア・アズ・ア・サービス(SaaS: Software-as-a-Service)、イベント駆動型のシステムなど多様な場面が存在する。これからのソフトウェア開発では、これら環境へのエージェントの組み込みが求められる。
GitHub Copilot SDKを利用すれば、アプリケーションが特定のイベントを検知した際にAIの実行基盤を呼び出し、内部で計画と処理を進められる。これにより、AIは補助ツールから脱却し、あらゆるアプリケーションの内部機能として動作できるようになる。
- アプリケーションへの組み込みチュートリアル:copilot-sdk/docs/getting-started.md at main · github/copilot-sdk · GitHub
GitHub Copilot SDKの利用方法
GitHub Copilot SDKの利用には、GitHub Copilot CLIのインストールが必要だ。GitHub Copilot CLIは、自然言語の指示からコマンド実行やファイル操作などを自動化する開発者向けツールで、Copilot SDKはそのエージェント実行基盤をアプリケーションから利用できるようにしたものとなる。
GitHub Copilot CLIの利用には、GitHub Copilotサブスクリプションへの登録が必要なため、本SDKの利用にも登録(無料プラン含む)が必要になる。ただし、各種LLMプロバイダーが発行するBYOK(Bring Your Ow
n Key)を使用する場合はこの限りではない。
対応言語は、Node.js 18、Python 3.8、Go 1.21、.NET 8.0またはこれ以降のバージョンとなる。SDKのデフォルト設定では、すべてのツールが有効になっており、ファイルシステム操作、Git操作、Webリクエストなど幅広いアクションを実行できる。特定のアクションを実行させたくない場合は、設定をカスタマイズすることで対応可能とされる。
なお、Java、Rust、Clojure、C++に対応したSDKも存在するが、これらはコミュニティー管理の非公式開発キットとなる。GitHubのサポートは受けられないため、注意が必要だ。
GitHub Copilot SDKを活用することで、テキスト主体のAI利用から、プログラム可能なAI利用へと進化させることができる。本稿執筆時点ではテクニカルプレビュー段階にあり、本番環境での利用は推奨されていないが、今後はAI開発企業の製品に限らず、GitHub Copilot SDKの登場により、AIはチャットツールやIDE内の補助機能にとどまらず、ソフトウェアの内部機能として動作するエージェントへと進化していく可能性がある。
