本日はAWESOME-COPILOTの技術調査枠です。
AWESOME-COPILOTのドキュメントを読みながら実際に操作を試して記事に残します。
今回はカスタムインストラクションの一つGitHub Copilot SDK Node.js Instructionsについてです。
GitHub Copilot SDK Node.js Instructions
GitHub Copilot SDK Node.js InstructionsはNode.js / TypeScript で GitHub Copilot SDK を使ってAI機能・エージェントを構築するためのベストプラクティスです。
CopilotにJavaScript / TypeScript(Node.js)向けに最適化されたAI開発ルールを教え込みます。
以下のページからGenaiscriptのインストールボタンをクリックして取得します。
github.com
インストールボタンを押してGitHub Copilot SDK Node.js Instructionsをダウンロードします。
すると.github/instructions配下にインストラクションがインストールされます。

インストールしたインストラクションはCopilotの動作に自動的に適用されます。
このインストラクションを読み込むと、CopilotはCopilot SDKを使ったAI機能実装を前提に提案するようになります。
具体的にはCopilotは以下のような行動をとります。
TypeScriptベースでAI機能を実装
Copilot はTypeScript + Node.jsを前提にコードを提案します。
JavaScriptではなくTypeScriptが標準になります。
これは型安全、保守性、SDKとの親和性が理由です。
Copilot SDKを使ったクライアント設計
CopilotはCopilot SDKクライアントを中心に設計します。
以下のようなセッション(対話単位)でAIとやり取りを構造にします。
Client → Session → Message → Response
つまりAIとのやり取りを「オブジェクト構造」で扱います。
セッションベースの対話管理
C#版と同様にセッション単位で会話を管理します。
以下の特徴を持ちます。
- 会話履歴を保持
- マルチターン対応
- 状態管理可能
これよりChatGPT的な対話をコードで扱うことになります。
イベント駆動モデル
Node.jsらしくイベントベースで処理されます。
例えば以下のような処理を取り扱います。
- 応答受信
- ツール呼び出し
- エラー処理
非同期・リアクティブ設計が前提となります。
ツール(Function Calling)統合
CopilotはAIから外部処理を呼び出す設計を提案します。
例えば以下のような設計です。
- API呼び出し
- DBアクセス
- ファイル操作
つまり以下のようなフローを利用してAIが外部処理を「実行する」ようになります。
AI → ツール → 結果 → AI応答
ストリーミング応答を前提とする
Copilotは逐次出力、UI更新を前提に設計します。
例えばチャットUI向きの以下のようなフローです。
部分応答 → UI表示 → 続き
非同期処理(async/await)前提
Node.jsなので非同期処理が基本になります。
Copilotはasync / await、Promiseを前提に設計します。
モジュール設計(ESM)
CopilotはES Modules(import/export)を前提にします。
理由は現代Node.js標準であり、TypeScriptと相性が良いからです。
AIエージェントとして設計
AIを単なるAPIではなくエージェントとして扱います。
これにより以下のようなことができるようになります。
- 状態保持
- 自律的判断
- ツール実行
- 複数ステップ処理
AIワークフロー全体を構築
Copilotは単発処理ではなく以下のようなワークフロー全体を設計します。
入力 → AI処理 → ツール → 応答 → UI
実行環境・CLI前提
Copilot SDKはCLI、開発環境設定が必要です。
Copilotはこのセットアップも含めて提案します
Node.jsエコシステムと統合
Copilotは以下のNode.jsの特徴を活かします
- Express / Fastify
- Web API
- CLIツール