Claude Code

サブエージェントとカスタムエージェントの比較: Claude Code vs Codex vs Cursor vs Gemini CLI vs GitHub Copilot(2026)

Claude Code、Codex、Cursor、Gemini CLI、GitHub Copilot では、サブエージェントとカスタムエージェントはどう動作しますか?

5 つのツールはいずれも、ファイルでカスタムエージェントを定義できます。Claude Code、Cursor、Gemini CLI、Copilot は YAML frontmatter 付きの Markdown を使い、Codex は単独の TOML ファイルを使います。各ツールには組み込みのサブエージェントがあります。例えば Claude Code の Explore、Codex の explorer、Cursor と Copilot の explore、Gemini CLI の codebase_investigator です。Claude Code、Cursor、Gemini CLI、Copilot は description をもとに自らエージェントを選べます。Codex では直接サブエージェントを依頼するか、AGENTS.md やスキルの指示で要求します。ツール間の違いが最も大きいのは、ツール制限、モデル選択、バックグラウンド・並列実行の仕組みです。

このページは英語版ガイドの翻訳です。コマンド、設定キー、コードは原文のままです。内容に差異がある場合は英語版が優先されます。 英語版を読む → · 他の言語: 简体中文 · 한국어 · Español · Português (Brasil)

設定の変更をいち早くチェック

これらのツールの設定、フラグ、権限ルールが変わったときに、週 1 回メール(英語)でお知らせします。内容は公式ドキュメントで確認済みです。

Claude Code

カスタムサブエージェントは YAML frontmatter 付きの Markdown ファイルです。本文がサブエージェントのシステムプロンプトになります。必須なのは name と description だけです。

  • 配置場所(優先順): managed settings、--agents CLI フラグ(JSON、現在のセッションのみ)、.claude/agents/(プロジェクト)、~/.claude/agents/(ユーザー)、プラグインの agents/ ディレクトリ。
  • 任意フィールドには tools(allowlist)、disallowedTools(denylist、先に適用)、model、permissionMode、maxTurns、skills、mcpServers、hooks、memory、background、effort、isolation(worktree)、color があります。
  • 組み込みサブエージェント: Explore(読み取り専用の検索)、Plan(plan モードでの読み取り専用の調査)、general-purpose、claude、statusline-setup、claude-code-guide。
  • 呼び出し: description による自動委任、自然言語、@agent-<name> のような @ メンション、またはセッション全体をそのエージェントとして実行する claude --agent <name>。
  • バックグラウンド: バックグラウンドのサブエージェントは並行して実行され、Ctrl+B で実行中のタスクをバックグラウンドに移せます。デフォルトの上限は同時 20 サブエージェントです(CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS)。
  • モデル: sonnet、opus、haiku、fable、完全なモデル ID、または inherit。CLAUDE_CODE_SUBAGENT_MODEL でデフォルトを設定します。

.claude/agents/code-reviewer.md

---
name: code-reviewer
description: Reviews code for quality and best practices
tools: Read, Glob, Grep
model: sonnet
---

You are a code reviewer. When invoked, analyze the code and provide
specific, actionable feedback on quality, security, and best practices.

OpenAI Codex

Codex のカスタムエージェントは単独の TOML ファイルで、1 ファイルに 1 エージェントです。Codex はファイル名ではなく name フィールドでエージェントを識別します。

  • 配置場所: ~/.codex/agents/(個人)と .codex/agents/(プロジェクト)。
  • 必須フィールド: name、description、developer_instructions。任意: model、model_reasoning_effort、model_reasoning_summary、model_verbosity、features.* キー、skills の設定。
  • カスタムエージェントは sandbox_mode、approval_policy、model_provider、mcp_servers を上書きできません。これらは親から継承されます。
  • 組み込みエージェント: default、worker、explorer。組み込みと同じ名前のカスタムエージェントが優先されます。
  • 呼び出し: "spawn two agents" のように直接依頼するか、プロンプトでカスタムエージェント名を指定します。プロジェクトやスキルの指示で委任を要求することもできます。
  • 並列: Codex はエージェントを起動し、すべての結果を待って 1 つの統合された応答を返します。サブエージェントのスレッドを開いたり、Codex にサブエージェントスレッドの誘導・停止・終了を依頼したりできます。
  • グローバルな [agents] 設定には agents.enabled、agents.max_concurrent_threads_per_session、agents.default_subagent_model、agents.default_subagent_reasoning_effort、agents.interrupt_message があります。
  • ツール制限: サブエージェントは親の権限を継承します。機能を減らすには、features.shell_tool などの feature キーを false に設定します。

Cursor

Cursor のサブエージェントは、YAML frontmatter の後にプロンプトが続く Markdown ファイルです。Cursor は Claude Code と Codex のエージェントフォルダも読み込みます。

  • プロジェクトの配置場所: .cursor/agents/、.claude/agents/、.codex/agents/。ユーザーの配置場所: ~/.cursor/agents/、~/.claude/agents/、~/.codex/agents/。
  • プロジェクトのエージェントはユーザーのエージェントより優先されます。名前が衝突した場合、.cursor/ が .claude/ や .codex/ より優先されます。
  • フィールド: name(デフォルトはファイル名)、description、model(デフォルト inherit)、readonly(デフォルト false)、is_background(デフォルト false)。
  • 組み込みサブエージェント: explore(デフォルトで高速なモデルを使用)と browser(MCP ツールでブラウザを操作)。
  • 呼び出し: エージェントが description をもとに委任するか、/verifier のようにプロンプト内で /name を使うか、サブエージェント名を指定して呼び出します。
  • 並列とバックグラウンド: 1 つのメッセージ内の複数の Task ツール呼び出しは同時に実行されます。is_background: true は即座に戻ります。サブエージェントは専用の Git worktree やクラウド VM で実行できます。/in-cloud は次のタスクをクラウドのサブエージェントとして実行し、/autopilot はプルリクエストをクラウドのサブエージェントに引き渡します。
  • モデル: inherit またはモデル ID。claude-opus-5[effort=high] のような角括弧オプションも使えます。
  • ツール制限: サブエージェントは親のすべてのツールを継承します。ドキュメント化されている制限フィールドは readonly: true だけです。

Gemini CLI

Gemini CLI のエージェントは YAML frontmatter 付きの Markdown ファイルです。本文がエージェントのシステムプロンプトになります。サブエージェントはデフォルトで有効です。

  • 配置場所: .gemini/agents/*.md(プロジェクト)と ~/.gemini/agents/*.md(ユーザー)。
  • フィールド: name と description(必須)、kind(local または remote、デフォルト local)、tools、mcpServers、model(デフォルト inherit)、temperature(デフォルト 1)、max_turns(デフォルト 30)、timeout_mins(デフォルト 10)。
  • 組み込みサブエージェント: codebase_investigator、cli_help、generalist はデフォルトで有効です。browser_agent はデフォルトで無効で、Chrome 144 以降が必要です。
  • 呼び出し: 自動委任、または @codebase_investigator のようにプロンプトを @ と名前で始めます。各サブエージェントは、同じ名前のツールとしてメインエージェントに公開されます。
  • モデル: エージェントごとに model で設定するか、settings.json の agents.overrides で上書きします。
  • ツール制限: tools リストはワイルドカード *、mcp_*、mcp_server_* に対応しています。サブエージェントは他のサブエージェントを呼び出せません。policy.toml のルールでは subagent プロパティでサブエージェントを対象にできます。
  • サブエージェントをオフにするには、settings.json に "experimental": { "enableAgents": false } を設定します。管理には /agents を使います。

.gemini/agents/example.md(frontmatter の形)

---
name: my-agent
description: When the main agent should call this subagent
tools:
  - mcp_*
model: inherit
max_turns: 30
---

System prompt for the subagent goes here.

GitHub Copilot

Copilot のカスタムエージェントはエージェントプロファイルで、YAML frontmatter 付きの Markdown ファイルです。本文にはプロンプトを最大 30,000 文字まで書けます。ファイル名から .md または .agent.md を除いたものがエージェントの識別子です。

  • Copilot CLI の配置場所: .github/agents/(プロジェクト)と ~/.copilot/agents/(ユーザー)で、拡張子は .agent.md です。名前が衝突した場合はホームディレクトリ側が優先されます。
  • クラウドエージェントの配置場所: リポジトリの .github/agents/、または組織の .github か .github-private リポジトリの /agents/。エンタープライズのエージェントは .github-private リポジトリに置きます。リポジトリのエージェントは組織のエージェントより、組織のエージェントはエンタープライズのエージェントより優先されます。
  • フィールド: description(必須)、name(任意の表示名)、target(vscode または github-copilot)、tools、model、disable-model-invocation、user-invocable、mcp-servers、metadata。infer は廃止されました。
  • 組み込みの CLI エージェント: explore、task、general-purpose、code-review、research(/research 経由のみ)、rubber-duck(別のモデルで実行)。
  • CLI での呼び出し: インタラクティブモードでの /agent、プロンプト内でのエージェント名の指定、description からの推論、または copilot --agent <name> --prompt "..."。
  • 並列: エージェントは個別のコンテキストウィンドウを持つサブエージェントとして実行され、適切な場合は並列に動作します。
  • ツール制限: tools を省略するか ["*"] ですべてのツール、read、edit、search、execute、agent、web、todo などのエイリアスを列挙、または [] ですべて無効にします。MCP ツールは server/tool または server/* を使います。

.github/agents/reviewer.agent.md

---
name: reviewer
description: Reviews pull requests for security issues
tools: ["read", "search"]
---

Review the changes and report security problems.

どれを使うべきか

  • 最も細かいツール制御が必要な場合: Claude Code には allowlist と denylist の両方があり、エージェントごとの権限モード、hook、worktree 分離もあります。Copilot にもエイリアスと MCP 名前空間に対応した tools リストがあります。
  • 複数のツールで使える 1 つのエージェントフォルダが欲しい場合: Cursor は .cursor/agents/ に加えて .claude/agents/ と .codex/agents/ も読み込みます。
  • 1 つの統合回答を返す並列ワーカーが欲しい場合: Codex は多数のエージェントを起動して 1 つの統合応答を返す方法をドキュメント化しています。
  • バックグラウンドやクラウドでの実行が欲しい場合: Claude Code(バックグラウンドのサブエージェント、Ctrl+B)と Cursor(is_background、クラウドのサブエージェント)がドキュメント化しています。Gemini CLI のページには記載がありません。
  • GitHub で組織全体の共有エージェントが必要な場合: Copilot は .github または .github-private リポジトリで組織とエンタープライズのエージェントプロファイルに対応しています。
  • エージェントごとにサンプリングを調整したい場合: Gemini CLI は temperature、max_turns、timeout_mins フィールドをドキュメント化しています。

出典

このガイドで確認した公式ドキュメント(英語)です。 英語版の確認日: 2026-10-18

その他の日本語ガイド