技術 約3分で読めます

GitHub Copilot SDKが公開、自前のAIエージェントをPython・TypeScript・Go・.NETで構築可能に

GitHub Copilotがエディタ内のオートコンプリートツールから本格的なエージェントプラットフォームに進化した。その最新ステップとして「GitHub Copilot SDK」がテクニカルプレビューで公開された。

Copilot SDKの概要

Copilot SDKは、Copilot CLIのエージェントランタイムをプログラマブルなインターフェースとして公開するマルチプラットフォームライブラリだ。自前でLLMオーケストレーション層を構築する必要なく、プランニング、ツール呼び出し、ファイル編集、マルチターン会話を処理する本番テスト済みのエンジンをそのまま利用できる。

項目詳細
リポジトリgithub/copilot-sdk
ステータステクニカルプレビュー
対応言語TypeScript/Node.js, Python, Go, .NET
ライセンスMIT
認証GitHub OAuth, GITHUB_TOKEN, またはBYOK
課金Copilotプレミアムリクエストクォータに対して課金

アーキテクチャ

4つのSDKすべてが同じ通信モデルを共有している。アプリケーションがSDKクライアントと通信し、SDKクライアントがサーバーモードで動作するCopilot CLIとJSON-RPCで通信する構成だ。

アプリケーション → SDKクライアント → JSON-RPC → Copilot CLI(サーバーモード)

SDKはCLIプロセスのライフサイクルを自動管理する。CLIを外部でヘッドレスサーバーモードで起動し、複数のSDKクライアントから接続することも可能で、共有開発環境やデバッグに便利である。

主要機能

  • プロンプト送信とレスポンス受信: ストリーミングまたは一括で受信可能
  • カスタムツール定義: 型付きパラメータとハンドラ関数を持つカスタムツールをエージェントから呼び出させることができる
  • MCPサーバー接続: Model Context Protocolサーバーに接続し、GitHub API、データベース、クラウドプロバイダーのツールにアクセスできる
  • カスタムエージェント作成: 専用のペルソナ、システムメッセージ、ツールセットを持つエージェントを構築可能
  • モデル選択: Copilot経由のモデルに加え、BYOK(Bring Your Own Key)でOpenAI、Azure AI Foundry、AnthropicのモデルをAPIキー持ち込みで利用できる

最短5行で動く

TypeScriptでの最小構成はこうなる。

import { CopilotClient } from '@github/copilot-sdk';

const client = new CopilotClient();
const session = await client.createSession({ model: 'gpt-4.1' });
const response = await session.sendAndWait({ prompt: 'What is 2 + 2?' });
console.log(response?.data.content);
await client.stop();

Pythonでも同様に5行で完結する。

カスタムツールの実用例

たとえばKubernetesのPodステータスを確認するツールを定義すると、エージェントが「productionネームスペースに異常なPodはあるか?」という質問に対して自動的にツールを呼び出し、結果を自然言語で返答する。

const checkPodStatus = defineTool('check_pod_status', {
  description: 'Check the status of Kubernetes pods in a namespace',
  parameters: {
    type: 'object',
    properties: {
      namespace: { type: 'string', description: 'The Kubernetes namespace' },
    },
    required: ['namespace'],
  },
  handler: async (args: { namespace: string }) => {
    // 実際にはkubectlやKubernetes APIを呼び出す
    return { namespace: args.namespace, pods: [...] };
  },
});

DevOpsでの活用シナリオ

SDKの真価が発揮されるのは、既存の運用ツールにAIエージェントを組み込む場面である。インシデント対応ボット、インフラバリデーター、デプロイアシスタント、コンプライアンスチェッカーなど、Copilotエンジンと自前のカスタムツールを組み合わせた運用自動化が実現する。

IDEやGitHub Issuesを経由したCopilot利用だけでなく、自分のアプリやスクリプト内に直接AIエージェントを埋め込めるようになったことで、DevOpsの自動化の幅が大きく広がった。

参考: DEV Community / github/copilot-sdk