Skip to main content
Skip to content

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

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

イントロダクション

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

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

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

詳しくは、「カスタム エージェントについて」をご覧ください。

custom agentの作成

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

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

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

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

    • Project (.github/agents/)

    • ユーザー (~/.copilot/agents/)

    メモ

    個人とリポジトリ custom agents 同じ ID を持つ場合は、個人用エージェントが使用されます。 agents ディレクトリのルートにあるエージェントの場合、ID は.agent.mdまたは.md拡張子のないファイル名です。 省略可能な name フィールドは重複除去には影響しません。 同じ name で ID が異なるエージェントは両方とも読み込まれますが、 --agent 値が複数の ID または nameと一致する場合、CLI は最も優先度の高い一致を使用します。

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

オプション 1: 使用 Copilot

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

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

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 という名前が付けられます。

    ヒント

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

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

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

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

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

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

custom agent を使用する

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

  • スラッシュ コマンド

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

    メモ

    CLI の既定のエージェントは、この一覧には含まれません。 既定のエージェントの詳細については、「 カスタム エージェントについて」を参照してください。

  • 明示的な命令

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

    Use the security-auditor agent on all files in the /src/app directory
    
  • 推論による

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

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

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

    seccheck /src/app/validator.go
    

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

  • プログラムによって

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

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

    この例では、 security-auditor は custom agentの ID です。 ID はファイル名から派生し、拡張子は .md も .agent.md もありません。 この場合、ファイルへのパスは agents/security-auditor.md または agents/security-auditor.agent.mdです。 ファイルが agents のサブディレクトリにある場合、サブディレクトリ名は ID に含まれており、ディレクトリ区切り記号は -- に置き換えられます。 そのため、 agents/security/security-auditor.agent.md のエージェント ファイルには ID security--security-auditorがあります。 または、ID の代わりに name フィールドの値を引用符で囲んで使用することもできます。 たとえば、「 --agent "Security Auditor" 」のように入力します。

リポジトリのカスタム指示を custom agent に適用する

.github/copilot-instructions.md、AGENTS.md、CLAUDE.mdなどのカスタム命令ファイルは、リポジトリでの作業方法Copilot指示します。 詳しくは、「GitHub Copilot用のリポジトリカスタム命令の追加」をご覧ください。

Copilotがサブエージェントとしてcustom agentを実行すると(大きなタスクの一部を処理するために)、サブエージェントはデフォルトでリポジトリのカスタム指示に従いません。 これにより、サブエージェントは、指定された特定のタスクに集中できます。

サブエージェントがリポジトリの規則 (コードをレビューまたは編集するエージェントなど) に従うようにするには、エージェント ファイルの frontmatter に include-custom-instructions: true を追加します。

---
name: RepoAwareReviewer
description: Reviews a change against this repository's conventions
tools: ["*"]
include-custom-instructions: true
---

Review the change and flag anything that violates the repository's conventions.

メモ

この設定は、サブエージェントとして実行されるエージェントにのみ影響します。 --agent、/agent、または推論によって自分で選択したcustom agentは、リポジトリのカスタム命令に既に従っているので、その場合は設定は無効です。

この設定と --no-custom-instructions オプションの対話方法など、詳細については、「 GITHUB COPILOT CLI コマンド リファレンス」を参照してください。

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