# GitHub Copilot CLI のカスタムエージェントの作成と使用

特定の開発タスクに合わせてカスタマイズされた専門知識を持つ特殊なエージェントを作成します。

## イントロダクション

Custom agents を使用すると、特定のタスクに合わせて Copilotの専門知識を調整できます。

Copilotにタスクを実行するよう促すと、custom agentsがエージェントの専門知識がタスクに適していると判断した場合、Copilotのいずれかを使用することを選択できます。

custom agentによって実行される作業は、タスクを完了するためにスピンアップされる一時的なエージェントであるサブエージェントを使用して実行されます。 サブエージェントには独自のコンテキスト ウィンドウがあり、メイン エージェントに関連しない情報で設定できます。 この方法では、特に大規模なタスクの場合、メイン エージェントのコンテキスト ウィンドウを乱雑にすることなく、作業の一部を custom agentsにオフロードできます。 その後、メイン エージェントは、より高いレベルの計画と調整に集中できます。

詳しくは、「[カスタム エージェントについて](/ja/copilot/concepts/agents/copilot-cli/about-custom-agents)」をご覧ください。

## custom agentの作成

各 custom agent は、 `.agent.md` 拡張子を持つ Markdown ファイルによって定義されます。 これらのファイルは、次の手順で説明するように、自分で作成することも、CLI 内から追加することもできます。

1. 対話型モードで、「 `/agent`」と入力します。

2. オプションの一覧から \[ **新しいエージェントの作成** ] を選択します。

3. リポジトリまたはホーム ディレクトリに custom agent を作成するオプションを選択します。

   * **Project** (`.github/agents/`)

   * **ユーザー** (`~/.copilot/agents/`)

   > \[!NOTE]
   > 両方の場所に同じ名前の custom agents がある場合は、リポジトリ内の名前ではなく、ホーム ディレクトリ内の名前が使用されます。

4. Copilot を使ってcustom agentファイルを作成するか、自分で作成するかを選択します。

**オプション 1: 使用 Copilot**

作成するエージェントの詳細を入力します。 エージェントの専門知識と、エージェントを使用するタイミングについて説明します。
Copilot は、入力した説明を受け取り、それを使用してエージェント プロファイルを作成します。

たとえば、次のように入力できます。

```text
I am a security expert. I check code files thoroughly for potential security issues. Use me whenever a security review/check/audit is requested for one or more code files, or when the word "seccheck" is used in a prompt in reference to code files.

I will identify potential problems, such as code that:

- Exposes secrets or credentials
- Allows cross-site scripting
- Allows SQL injection
- Contains vulnerable dependencies
- Allows authentication to be bypassed

If any problems are identified, create a single GitHub issue in this repository on GitHub.com with details of problems, giving full details of each issue, including, but not limited to, risk level and recommended fix.
```

Copilot初期エージェント プロファイルの生成が完了すると、次のオプションが表示されます。

* 続行
* コンテンツを確認する
* もう一度お試しください
* 終了する

コンテンツを確認する場合は、エージェント ファイルが既定のエディターで開きます。 必要に応じて、CLI でエージェント作成プロセスを続行する前に、確認して変更を行うことができます。

作成プロセスを完了するには、\[続行] を選択 **します**。

**オプション 2: エージェント プロファイルを手動で作成する**

エージェント ファイルを自分で作成することを選択すると、エージェント プロファイルを作成するために必要な情報を入力するための一連のプロンプトが表示されます。

1. エージェントの名前を入力します。 入力する名前は、使用可能なエージェントを一覧表示するときに表示される名前です。 このバージョンは、エージェント ファイルの名前として使用されます。たとえば、「Security expert」と入力すると、エージェント ファイルには `security-expert.agent.md` という名前が付けられます。

   > \[!TIP]
   > プログラムで custom agent を使いやすいように、小文字とハイフンのみで構成される名前を選択することをお勧めします。

2. このエージェントが持っている専門知識と使用する必要があるタイミングを示す説明を入力します。

3. 特定のガイドライン、実行する必要があるアクション、それに従う必要がある制約など、エージェントの動作方法の手順を入力します。

4. custom agentがアクセスできるツールを選択します。

   既定では、 custom agents はすべてのツールにアクセスできます。 エージェントのアクセスを制限すると、 `tools` 仕様がエージェント ファイルに追加されます。

5. CLI を再起動して、新しい custom agentを読み込みます。

## custom agent を使用する

Custom agents は、次の方法で使用できます。

* **スラッシュ コマンド**

  対話モードで `/agent` を入力し、使用可能な custom agentsの一覧から選択します。 次に、選択したエージェントに渡されるプロンプトを入力します。

  > \[!NOTE]
  > CLI の既定のエージェントは、この一覧には含まれません。 既定のエージェントの詳細については、「 [カスタム エージェントについて](/ja/copilot/concepts/agents/copilot-cli/about-custom-agents#built-in-agents)」を参照してください。

* **明示的な命令**

  特定のエージェントを使用するように Copilot に指示します。 例えば次が挙げられます。

  ```copilot
  Use the security-auditor agent on all files in the /src/app directory
  ```

* **推論による**

  エージェント ファイル内の説明に基づいて、特定のエージェントの使用をトリガーするプロンプトを使用します。 例えば次が挙げられます。

  ```copilot
  Check all TypeScript files in or under the src directory for potential security problems
  ```

  または ("seccheck" がエージェント プロファイルのトリガー ワードとして定義されている場合):

  ```copilot
  seccheck /src/app/validator.go
  ```

Copilot は、使用するエージェントを自動的に推論します。

* **プログラムによって**

  コマンド ライン オプションで使用する custom agent を指定します。 例えば次が挙げられます。

  ```shell
  copilot --agent security-auditor --prompt "Check /src/app/validator.go"
  ```

  ここで`security-auditor`は、拡張子がcustom agentされていない`.agent.md` プロファイルのファイル名です。 通常、これはエージェント プロファイルの `name` 値と同じですが、必ずしも同じではありません。

## 詳細については、次を参照してください。

* [GitHub CopilotのCLIカスタマイズ機能の比較](/ja/copilot/concepts/agents/copilot-cli/comparing-cli-features)
* [カスタム エージェントの構成](/ja/copilot/reference/custom-agents-configuration)
* [GITHUB COPILOT CLI コマンド リファレンス](/ja/copilot/reference/copilot-cli-reference/cli-command-reference#custom-agents-reference)
* [カスタム エージェント](/ja/copilot/tutorials/customization-library/custom-agents) - サンプルの厳選されたコレクション