MRが楽しい

MRやVRについて学習したことを書き残す

AWESOME-COPILOTのドキュメントを読む その77(GitHub Copilot SDK Python Instructions)

本日はAWESOME-COPILOTの技術調査枠です。
AWESOME-COPILOTのドキュメントを読みながら実際に操作を試して記事に残します。
今回はカスタムインストラクションの一つGitHub Copilot SDK Python Instructionsについてです。

GitHub Copilot SDK Python Instructions

GitHub Copilot SDK Python InstructionsはPythonで GitHub Copilot SDK を使い、AIエージェントやAI機能をアプリに組み込むためのベストプラクティスです。
CopilotにPython向けに最適化されたAI開発ルールを教え込みます。

以下のページからGenaiscriptのインストールボタンをクリックして取得します。
github.com

インストールボタンを押してGitHub Copilot SDK Python Instructionsをダウンロードします。
すると.github/instructions配下にインストラクションがインストールされます。

インストールしたインストラクションはCopilotの動作に自動的に適用されます。
このインストラクションを読み込むと、CopilotはCopilot SDKを使ったAI機能実装を前提に提案するようになります。

具体的にはCopilotは以下のような行動をとります。

Copilot SDK(Python)前提で実装

CopilotはCopilot SDKを使ったAI統合コードを優先して提案します。
以下の前提で実装します。

  • SDK経由でAIと通信
  • セッション管理
  • ツール実行

セッションベースの対話モデル

Python版でも同様に以下のような会話単位でAIを管理します。

Client → Session → Message → Response

以下の特徴を持ちます。

  • 会話履歴保持
  • マルチターン対応
  • 状態管理

エージェントとしての設計

AIを“エージェント”として扱います。
以下のようなことがAIで実行できます。

  • 自律的な判断
  • ツール呼び出し
  • 複数ステップ処理

非同期・イベント駆動処理

Pythonでも非同期処理(async/await)前提になります。
応答受信、ツール実行などはイベント的に処理されます。

ツール連携(Function Calling)

CopilotはAIからPython関数を実行する設計を提案します。
例えば以下のような処理です。

  • API呼び出し
  • DB処理
  • ファイル操作

Pythonらしい設計(重要)

Node/C#版との違いにPythonのシンプルさ・可読性を重視する点があります。
Copilotはシンプルな関数設計、明確な責務分離、可読性の高いコードを提案します。

データ処理・AIとの相性を活かす

Pythonはデータ処理・AI分野に強いためCopilotは以下と組み合わせた設計を提案します。

  • データ分析
  • 前処理
  • ML連携

ストリーミング応答対応

Copilotは逐次応答(streaming)を扱う設計を提案します。
これは以下の用途に適しています。

  • チャットUI
  • リアルタイム処理

実行環境・CLI前提

Copilot SDKはCLIや認証環境が前提のためCopilotはセットアップ手順、環境構築も含めて提案します。

AIワークフロー全体を設計

Copilotは単発処理ではなく以下のAIを中心とした処理フロー全体を設計します。

入力 → AI → ツール → 処理 → 応答