Alternative Architecture DOJO

オルターブースのクラウドネイティブ特化型ブログです。

GitHub Copilot SDKがTechnical Previewリリースされました

こんにちは、MLBお兄さんこと松村です。
2026年最初のブログです。今年もどうぞよろしくお願いします。


2026年1月14日の GitHub のアップデートにて、GitHub Copilot SDK がリリースされました。記事執筆時点では Technical Preview となっています。

github.blog

SDK として提供されたということは、自分たちのアプリケーションに GitHub Copilot の機能を組み込めるようになるということです。

利用可能な SDK

現在 SDK として提供されているのは以下です。

  • Node.js および TypeScript (npm)
  • Python
  • Go
  • C# (NuGet)

以下が SDK のリポジトリであり、それぞれの SDK のドキュメントがあります。

github.com

前提条件

SDK を使用して GitHub Copilot をアプリケーションで動かすには、GitHub Copilot CLI のインストールが必要です。
GitHub Copilot CLI は名前の通り、CLI で GitHub Copilot の機能を利用できるツールです。

こちらのドキュメントを参考にし、OS に合わせて GitHub Copilot CLI をインストールしてください。
インストールが終わったら copilot コマンドを実行し、ログインコマンド (/login) にて GitHub アカウントでログインしておきましょう。

docs.github.com

SDK を使ってみる

C# コンソールアプリケーションに Copilot SDK を組み込んで使ってみます。
前述の通り、GitHub Copilot CLI をインストールした環境が必要ということは、つまり SDK から CLI を呼び出しているということが分かります。

dotnet new console -n CopilotConsoleApp
cd CopilotConsoleApp
dotnet add package GitHub.Copilot.SDK --version 0.1.13

※注意
SDK v0.1.12 では期待する動作をしませんでした。試す場合は v0.1.13 以降を使用してください。(2026年1月時点)

C# SDK のドキュメントにある以下のサンプルコードを Program.cs に貼り付けます。

using GitHub.Copilot.SDK;

// Create and start client
await using var client = new CopilotClient();
await client.StartAsync();

// Create a session
await using var session = await client.CreateSessionAsync(new SessionConfig
{
    Model = "gpt-5"
});

// Wait for response using session.idle event
var done = new TaskCompletionSource();

session.On(evt =>
{
    if (evt is AssistantMessageEvent msg)
    {
        Console.WriteLine(msg.Data.Content);
    }
    else if (evt is SessionIdleEvent)
    {
        done.SetResult();
    }
});

// Send a message and wait for completion
await session.SendAsync(new MessageOptions { Prompt = "What is 2+2?" });
await done.Task;

GPT-5 で "2+2" の答えを聞くコードです。
コードを保存し、以下のコマンドでアプリケーションを実行すると、GPT-5 からの回答が得られます。

dotnet run
4

SDK の機能を読む

CopilotClient クラス

GitHub Copilot CLI と通信するためのクライアントクラスです。
CopilotClientOptions クラスを使ってパス等のオプションを指定できます。オプションの内容はドキュメントを参照しましょう。

https://github.com/github/copilot-sdk/blob/main/dotnet/README.md#copilotclient

CopilotSession クラス

GitHub Copilot とのセッションを表すクラスです。
SessionConfig クラスを使ってモデル等のセッションの設定を行います。設定内容はドキュメントを参照しましょう。

https://github.com/github/copilot-sdk/blob/main/dotnet/README.md#createsessionasyncsessionconfig-config--null-taskcopilotsession

モデルは GitHub Copilot で利用可能なものが指定できます。CLI の /model コマンドでもモデルの一覧を確認することができます。

 Select Model

 Choose the AI model to use for Copilot CLI. The selected model will be persisted and used for future sessions.

 ❯  1. Claude Sonnet 4.5 (default)        1x
    2. Claude Haiku 4.5                0.33x
    3. Claude Opus 4.5                    3x
    4. Claude Sonnet 4                    1x
    5. GPT-5.2-Codex                      1x
    6. GPT-5.1-Codex-Max                  1x
    7. GPT-5.1-Codex                      1x
    8. GPT-5.2                            1x
    9. GPT-5.1                            1x
   10. GPT-5                              1x
   11. GPT-5.1-Codex-Mini              0.33x
   12. GPT-5 mini ✓                       0x
   13. GPT-4.1                            0x
   14. Gemini 3 Pro (Preview)             1x

 Confirm with number keys or ↑↓ keys and Enter, Cancel with Esc

また SendAsync メソッドを使ってメッセージを送信できます。プロンプトや添付ファイルは MessageOptions クラスで指定します。

セッションのイベント

GitHub Copilot にタスクを実行させると、セッションから以下のような様々なイベントが発生します。
イベントクラスは SessionEvent クラスを継承しています。

イベントクラス 説明
UserMessageEvent ユーザーメッセージを追加したイベント
AssistantMessageEvent アシスタント(Copilot)からの応答を受け取ったイベント
ToolExecutionStartEvent ツールの実行を開始したイベント
ToolExecutionCompleteEvent ツールの実行が完了したイベント
SessionStartEvent セッションを開始したイベント
SessionIdleEvent セッションがアイドル状態になったイベント
SessionErrorEvent セッションでエラーが発生したイベント

github.com

その他

SDK では他にも様々なことを行うことができます。

  • Copiot が生成したメッセージのストリーミング
  • ツール(関数呼び出し)の登録と実行
  • システムメッセージの制御

プレミアムリクエスト

GitHub Copilot SDK を通じてプレミアムリクエスト消費対象のモデルを使用した場合、通常利用と同様にプレミアムリクエストが消費されたことが確認されました。

実行前

実行後(10メッセージ分)

GitHub Copilot SDK の利点

サンプルコードで試したようなコード補完 (Code Completion) は、これまでも Semantic KernelMicrosoft.Extensions.AI (MEAI)OpenAI SDK などを使って実装することができました。
SaaS に AI チャットを実装するときなどは、引き続き上記のようなライブラリを使うことに変わりはないと思います。

GitHub Copilot SDK を使う利点としては、自身の Copilot サブスクリプションの制限に基づいて AI アシスタントを利用できることが考えられます。
ここでいう制限は、モデルや請求、組織が定めるポリシーなどが挙げられます。(ただし SDK 利用時にどこまでの制限が適用されるかは不明であるため、使用する際に十分確認するようにしましょう)

まだすべてを検証しているわけではありませんが、SaaS よりは「組織内での利用」を想定した AI アプリケーションに GitHub Copilot SDK を利用するのだろうと感じます。
例えば自分たちの独自の Copilot Chat を実装する、といったことができそうです。

ぜひ皆さんも GitHub Copilot SDK を試してみてください。


サービス一覧 www.alterbooth.com www.alterbooth.com www.alterbooth.com