GitHub Copilot Chat モードの使い分け
学習目標
Ask、Edit、Agentの各モードの特徴を理解し、タスクに応じて適切なモードを選択できるようになります。
学習内容
1. チャットモードの概要
各モードの特徴
モード | 用途 | 特徴 |
---|---|---|
Ask | 質問・理解 | コードの説明、技術的な質問、ブレインストーミング |
Edit | 複数ファイル編集 | 制御された編集、ファイル指定、段階的な変更 |
Agent | 自律的タスク実行 | 複雑なタスク、ツール実行、反復的な問題解決 |
2. Ask モードの活用
演習1: コード理解とアイデア出し
- 既存コードの理解
Askモードで質問: - "ProcessOrderAsyncメソッドの処理フローを説明してください" - "このサービスにキャンセル機能を追加する場合の設計案を提案してください"
- 技術的な質問
3. Edit モードの活用
演習2: 複数ファイルの編集
-
プロジェクト構造の準備
-
Editモードでの実装
-
段階的な変更の確認
- 各ファイルの変更内容をレビュー
- 必要に応じて個別に承認/却下
4. Agent モードの活用
演習3: 複雑なタスクの自動化
-
新機能の実装
-
問題の自動解決
- Agentモードがエラーを検出して自動修正する様子を観察
- ビルドエラーやテスト失敗の反復的な解決
5. カスタムチャットモードの作成
演習4: プロジェクト固有のモード
- 計画モードの作成
.github/chatmodes/plan.chatmode.md
を作成:
---
description: 新機能の実装計画を生成します
tools: ['codebase', 'fetch', 'search']
---
# 計画モード
新機能や改修の実装計画を作成します。コードは変更せず、以下を含む計画書を生成してください:
- 概要
- 要件
- 実装ステップ
- テスト計画
- レビューモードの作成
.github/chatmodes/review.chatmode.md
を作成:
---
description: コードレビューを実施します
tools: ['codebase', 'problems', 'usages']
---
# レビューモード
コードレビューを実施し、以下の観点で分析してください:
- コーディング規約の遵守
- パフォーマンスの問題
- セキュリティの懸念
- 改善提案
実践プロジェクト
シナリオ: ECサイトの注文処理システム
各モードを使い分けながら、注文処理システムを構築します:
-
Ask モード: 設計の相談
-
Edit モード: 基本実装
-
Agent モード: 完全な機能実装
-
カスタムモード: 計画とレビュー
- 計画モードで配送機能の追加計画を作成
- レビューモードで実装されたコードを評価
モード選択のガイドライン
いつどのモードを使うか
- Ask モードを選ぶ場合
- コードの理解が必要
- 設計の相談
- 技術的な質問
-
単一ファイルの小さな変更
-
Edit モードを選ぶ場合
- 複数ファイルの変更が明確
- 変更内容を細かく制御したい
-
段階的なレビューが必要
-
Agent モードを選ぶ場合
- タスクが複雑で範囲が広い
- 必要なファイルが不明確
- ツールやコマンドの実行が必要
- 反復的な問題解決が必要
まとめ
学習した内容: - 3つの基本モードの特徴と使い分け - カスタムモードの作成方法 - タスクに応じた適切なモード選択 - 各モードの強みを活かした開発フロー
次のステップ
次は「Ask モード」の詳細な使い方を学習し、効果的な質問方法を習得しましょう。