Table of Contents

GitHub Copilotエージェントの組み込みツール

GitHub Copilot エージェントは、その機能を強化できる組み込みツールの使用をサポートしています。

Configure Tools (GUI)

Visual Studio CodeのGitHub Copilot設定で、AIエージェントに対してどの組み込みツールを有効にするかを設定できます。

  1. VS Codeでチャットサイドバーを開く
  2. 設定したいエージェントを選択する(チャット入力ボックスの左下のドロップダウン)
  3. エージェント名の横にあるツールアイコンをクリックする(チャット入力ボックスの下部)
  4. “Configure Tools"ダイアログで、選択したエージェントに対して特定のツールを有効または無効にできます。

Custom Agents Settings

カスタムエージェントを定義する際、エージェント定義ファイル(.agent.md)にtoolsセクションを含めることで、エージェントが使用できる組み込みツールを指定できます。

---
description: aaa
tools: ["create_directory", "create_file"] # エージェントが使用できる組み込みツールのリスト
handoffs:
  - label: xxx
    agent: yyy
    prompt: zzz
    send: false
---

List Command

チャットで/listコマンドを使用して、エージェントで利用可能なツールのリストを確認できます。

プロンプト:

/list

レスポンス:

Available tools:

- create_directory
- create_file
- create_new_jupyter_notebook
- create_new_workspace
- edit_notebook_file
- fetch_webpage
- file_search
- grep_search
- get_changed_files
- get_errors
- copilot_getNotebookSummary
  ...

これらのツールをチャットで直接実行することはできません。代わりに、AIエージェントがチャットでの自然言語リクエストのコンテキストに基づいて、内部的にいつ使用するかを自動的に決定します。

例えば:

  • 「設定ファイルを読んで」と指示→AIはread_fileツールを使用
  • 「login関数の使用箇所を全て見つけて」と指示→AIはlist_code_usagesまたはgrep_searchを使用
  • 「テストを実行して」と指示→AIはrun_in_terminalを使用

各ツールの説明を知りたい場合は、公式ドキュメントを参照するか、エージェントに尋ねることができます:

プロンプト:

使用可能なbuilt-in toolsをリストして説明してください。

レスポンス:

## File Operations

- create_file - コンテンツを含む新しいファイルを作成
- read_file - 行範囲を指定してファイルの内容を読み取り
- replace_string_in_file - 完全一致する文字列を置換してファイルを編集
- multi_replace_string_in_file - 1回の操作で複数のファイル編集を実行
- list_dir - ディレクトリの内容をリスト
- create_directory - ディレクトリ構造を作成
  ...

Chat Debug View

VS CodeのChat Debug Viewでそれらの詳細を確認することもできます(以前の投稿を参照)。

  • エージェントによって使用された組み込みツール
  • 組み込みツールに渡された入力パラメータ
  • 組み込みツールから返された出力結果
  • など