1/22にGitHub Copilot SDKというものが発表されました。
「GitHub CopilotのSDK?どういうこと?」と気になったので、早速使ってみました。
※テクニカルプレビューなので、今後変更される可能性があります。
環境
- GitHub Copilot CLI 0.0.398
- GitHub.Copilot.SDK 0.1.19
前提
- GitHub Copilot CLIがインストールされていること
- GitHub Copilotが利用できること
GitHub Copilot SDKとは?
冒頭でも紹介したGitHub Blogの記事やGitHub Copilot SDKのリポジトリを見ると、以下のような特徴があるそうです。
- GitHub Copilotをプログラムから利用できる
- 対応言語はPython, TypeScript, Go, .NET
アーキテクチャは以下の通りです。
アプリ ↓ SDK Client ↓ JSON-RPC Copilot CLI (server mode)
自分で作成したアプリからGitHub Copilotを呼び出して結果を取得できる、という事だと思われます。
実際に使ってみた
ドキュメントだけだと理解が難しいので、実際に動かしてみます。
まずは自分のPCにGitHub Copilot CLIがインストールされていることを確認するため、以下を実行します。バージョンが表示されれば成功です。
copilot --version
※GitHub Copilot CLIのインストールは以下をご覧ください。
次にプロジェクトを作成して動かしてみます。SDKは筆者がよく利用している.NETのものを利用します。
プロジェクトの作成とSDKのインストールを以下のコマンドで行います。
// コンソールプロジェクトの作成 dotnet new console -n CopilotDemo // フォルダの移動 cd CopilotDemo // SDKのインストール dotnet add package GitHub.Copilot.SDK
Program.csに以下を記載します。
using GitHub.Copilot.SDK; // クライアントの初期化 await using var client = new CopilotClient(); // セッションの作成 await using var session = await client.CreateSessionAsync(new SessionConfig { Model = "gpt-4.1" }); // メッセージの送信と応答の取得 var response = await session.SendAndWaitAsync(new MessageOptions { Prompt = "こんにちは!" }); // 応答の表示 Console.WriteLine(response?.Data.Content);
実行すると以下のような返答がありました。
こんにちは!どんなお手伝いをしましょうか?
どのように使うのか
ローカルで動作するGitHub Copilot CLIが必要なので、個人の生産性を上げるツール作成に使えるのではないかと思いました。
開発チームでは以下のように利用しているそうです。
- YouTubeのチャプター自動生成ツール
- エージェント向けのカスタムGUI
- デスクトップ上のアプリを操作する音声→コマンドのワークフロー
- AIと競えるゲーム
- 要約ツール
終わりに
私は普段からGitHub Copilotを使っていますが、自分が開発したアプリから利用できるようになるとは思っていなかったので、面白い機能だと思いました。
まだどのように活用するか想像できていませんが、引き続き調査していこうと思います。