Skip to main content
Skip to content

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

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

イントロダクション

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

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

メイン エージェントが custom agent サブエージェントに作業を委任する場合、その作業は、独自のコンテキスト ウィンドウを持つサブエージェントによって実行されます。 これにより、スペシャリストは、メイン エージェントのコンテキストを乱雑にすることなく、割り当てられたタスクに集中できます。 セッションに対する custom agent を直接選択することもできます。

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

custom agentの作成

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

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

  2. N キーを押して新しいエージェントを作成します。

  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 を構成できます。

これは、メイン セッションにクラウドベースのモデルを使用しながら、ローカルでホストされるモデルを使用する custom agent エージェントに小規模で明確に定義されたタスクを委任する場合に特に便利です。 この方法を使用すると、たとえば、単一ファイルの変更や限定的なテスト修正を、ローカル モデルを使用する custom agent に任せ、その後メイン エージェントで結果を確認することができます。

まず、ローカルでホストされているモデルを CLI に追加します。 「GITHUB COPILOT CLI への LLM モデルの追加」を参照してください。

  1. 次の内容で ~/.copilot/agents/local-coder.agent.md を作成します。

    ---
    name: local-coder
    description: >
      Use for small, well-defined coding tasks, such as a
      single-file change or a focused test fix.
    model: LOCAL-PROVIDER/LOCAL-MODEL
    model-policy: required
    tools: ["read", "grep", "glob", "edit", "execute"]
    strict-tools-list: true
    include-custom-instructions: true
    ---
    
    Complete only the requested task. Inspect the relevant
    code, make the smallest correct change, and run focused
    checks. Report what changed and any remaining issues.
    
  2. LOCAL-PROVIDER/LOCAL-MODEL を、表示名ではなく、ローカルモデルのプロバイダー修飾 ID に置き換えます。 providers.jsonのモデルの場合は、モデル エントリのproviderとidの値をスラッシュで区切って結合します。 たとえば、 "provider": "local" と "id": "qwen3:8b" を使用すると、 local/qwen3:8bできます。

model-policy: required には、優先設定として扱うのではなく、構成済みのモデルが必要です。

strict-tools-list: true は、通常の既定のツールを追加せずに、エージェントを一覧表示されたツール グループに制限します。

include-custom-instructions: true は、サブエージェントに対するリポジトリの指示を有効に保ちます。

  1. CLI を再起動して、エージェントを読み込んでください。 クラウド モデルを使用するセッションで、範囲が限定されたタスクを明示的に委任します。

    Use the local-coder agent to add an empty-input test for
    parseConfig in src/config.test.ts. Do not change other
    files. Then review the result in the main session.
    

    ローカル モデルは委任されたタスクを実行しますが、メイン エージェントは引き続き結果を受け取ります。 これにより、セッション全体がローカルまたはオフラインになるわけではありません。

リポジトリのカスタム指示を 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 コマンド リファレンス」を参照してください。

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