GitHub Copilot SDKを使ってみた

1/22にGitHub Copilot SDKというものが発表されました。

github.blog

「GitHub CopilotのSDK?どういうこと?」と気になったので、早速使ってみました。

※テクニカルプレビューなので、今後変更される可能性があります。

環境

  • GitHub Copilot CLI 0.0.398
  • GitHub.Copilot.SDK 0.1.19

https://github.blog/news-insights/company-news/build-an-agent-into-any-app-with-the-github-copilot-sdk/

前提

  • 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のインストールは以下をご覧ください。

docs.github.com

次にプロジェクトを作成して動かしてみます。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を使っていますが、自分が開発したアプリから利用できるようになるとは思っていなかったので、面白い機能だと思いました。

まだどのように活用するか想像できていませんが、引き続き調査していこうと思います。

参考URL

github.com

www.docswell.com

執筆担当者プロフィール
古川 貴浩

古川 貴浩(日本ビジネスシステムズ株式会社)

アプリケーション開発をしています。.NETやAI関連が好きです。

担当記事一覧