Claude Code と Codex のサブエージェントの違い:作り方・並列の上限(2026 年 10 月)

Convika Team読了目安: 27 分

  • subagents
  • codex
  • mcp
目次

どちらのツールも、自分の文脈を持つ別のエージェントにタスクを渡します。Claude Code 2.1.303 は .claude/agents/ の Markdown で定義し、description を見て自分で任せ、既定で同時に 20、3 層まで動かせます。Codex 0.162.1 は .codex/agents/ の TOML で定義し、手元では頼んだときなどに起動します。0.162.1 のソースコードでは同時に 6、入れ子なしで、権限とサンドボックスはいつも親の設定を引き継ぎます。

コーディングエージェントのサブエージェント機能は、実装・レビュー・確認といった役割を分担させたり、処理ごとに安いモデルを指定してトークンを節約したりする場面で選択肢になります。一方で、日本語の記事の多くは Claude Code だけを扱っており、Codex と並べて比べたものはまだ少なく、すでに古くなった設定のキーやコマンドが残っている記事も見かけます。この記事では、どちらのツールに何を任せるか迷っている開発者やチームリーダーに向けて、サブエージェントの作り方、呼び出し方、モデルの指定、同時に動かせる上限、コスト、スキルやエージェントチームとの違い、公開されている実例、そして記事で出会いがちな古い情報を整理して比べます。

記述はすべて 2026 年 10 月 19 日に読んだ資料にもとづいています。対象とした版は、Claude Code が 2.1.303(npm の公開は 2026 年 10 月 18 日)、Codex CLI が 0.162.1(2026 年 10 月 9 日のタグ)です。Claude Code は公式ドキュメント(サブエージェント、エージェントチーム、コスト、メモリ、worktree、環境変数、フック)と CHANGELOG を、Codex は公式ドキュメント(learn.chatgpt.com のサブエージェント、設定リファレンス、AGENTS.md、フック、worktree、インポート)と 0.162.1 のソースコードを参照しました。Codex は 0.163.0(2026 年 10 月 15 日)も出ていますが、その既定値は見ていません。また、どちらのツールでもサブエージェントを実際に動かして上限やコストを測ってはいないため、公式ドキュメントと 0.162.1 のソースコードから読み取れる範囲でまとめています。

サブエージェントとは

サブエージェントとは、メインの会話から切り離された別の文脈(コンテキスト)を持つエージェントにタスクを渡す仕組みです。作業のやりとりはすべてサブエージェントの側で行われ、メインの会話にはその途中経過ではなく結果だけが返ります。Claude Code のドキュメントでは各サブエージェントが「fresh, isolated context window(新しい、切り離された文脈)」で始まると説明されており、Codex のドキュメントでは「context pollution(文脈の汚れ)」と「context rot(文脈の劣化)」を避けることが目的とされています。たとえば Claude Code(2.1.303)では、v2.1.212 以降の /subtask でフォークしない限り会話の履歴は渡らず、自分のプロンプトや Claude が書くタスクの文、CLAUDE.md(読み込まれていれば AGENTS.md)、git status のスナップショットだけを持った新しい文脈で始まります(Codex の 0.162.1 のソースコードでは、既定の v1 は fork_context: true にしない限り最初のプロンプトだけが渡り、0.162.1 では既定でオフになっている v2 は fork_turns の既定が all のため親の履歴を引き継ぎます)。

Claude Code と Codex のサブエージェント比較

Claude Code と Codex のサブエージェントは、定義ファイルの形式から同時実行の上限、権限の引き継ぎ方まで設計が大きく異なります。

項目Claude Code(2.1.303)Codex(0.162.1)
定義のファイルMarkdown と YAML front matter。必須は name と description、本文がシステムプロンプト1 体につき 1 つの TOML ファイル。必須は name、description、developer_instructions
置き場所管理設定 > --agents > .claude/agents/ > ~/.claude/agents/ > プラグインの agents/.codex/agents/、~/.codex/agents/、または設定の agents.<name>.config_file
だれが起動するかdescription を見て自動で任せるほか、頼んだときや @ で名前を出したときも起動手元では頼んだときや AGENTS.md・スキル記載時のみ。ChatGPT Work の Ultra は自動委譲あり
最初に持つ文脈新しい文脈(CLAUDE.md 等と git status、履歴なし)。/subtask(v2.1.212 以降)は全履歴を継承v1(既定)は 0.162.1 のソースコードでは fork_context: true 以外最初の指示のみ。v2(0.162.1 既定オフ)は親の履歴を継承
同時に動かせる数同時 20 まで(v2.1.217 以降の既定、CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS)。合計上限は v2.1.224 で廃止0.162.1 のソースコードでは 6(v1)。agents.max_concurrent_threads_per_session で設定
サブエージェントの入れ子既定で 3 層まで(v2.1.219 以降)。CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH が 1 なら入れ子なし0.162.1 のソースコードでは max_depth が 1 で、サブエージェントは自分のサブエージェントを作れない
モデルの指定呼び出し時 > front matter の model > CLAUDE_CODE_SUBAGENT_MODEL > 親の順(v2.1.251 以降)ファイルの model と model_reasoning_effort、agents.default_subagent_model、なければ親モデル
権限とサンドボックス個別の permissionMode。ただし親が bypassPermissions、acceptEdits、auto なら親が勝つ常に親のサンドボックスと承認の設定を引き継ぎ、カスタムエージェントのファイルや指示文では変えられない
同時のファイル編集isolation: worktree で一時的な git worktree。/batch は 5〜30 の worktree に分けるサブエージェントごとの worktree は文書になく、組み込みの起動文が重ならない書き込み先を求める
共通の指示ファイルCLAUDE.md。CLAUDE.md がなければ AGENTS.md を読む(v2.1.277 以降)AGENTS.md をルートから作業ディレクトリまで連結。上限は既定で 32 KiB
ベンダーが書くコスト親と同じ利用上限に数え /usage で割合を表示。エージェントチームは plan モードで約 7 倍のトークン単一実行より多くトークンを消費すると記載(倍率の記載なし)。CLI は利用量の急増を警告
最初に出た時期1.0.60(2025 年 7 月 24 日)一般提供(GA)は 2026 年 3 月 16 日(Simon Willison)

表の数字や仕様は 2026 年 10 月 19 日に調べた Claude Code 2.1.303 と Codex CLI 0.162.1(0.163.0 の既定値は未確認)にもとづいており、出典は記事の最後にまとめています。

Claude Code のサブエージェントの作り方

Claude Code のサブエージェントは、.claude/agents/<name>.md に Markdown ファイルを置いて定義します。以前は /agents コマンドに作成のウィザードがありましたが、これは v2.1.197 までで、今は案内を出すだけになっています。ファイルの先頭にある YAML の front matter にメタデータや設定を書き、続く本文がそのままサブエージェントのシステムプロンプトになります。サブエージェントが受け取るのはこの本文と作業ディレクトリなどの基本の情報だけで、Claude Code 本体のシステムプロンプトは引き継がれません。次に示すのは、name: code-reviewer、tools: Read, Glob, Grep、model: sonnet を指定する Anthropic の例です。

.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.

エージェントの識別子になるのはファイル名ではなく front matter の name です。.claude/agents/ の下の階層にあるディレクトリまで再帰的に読まれ、既存のディレクトリ内でのファイルの追加や変更は監視されていて数秒で読み直されます。ただし、agents のディレクトリ自体を新しく作ったときは Claude Code の再起動が要ります。また、各エージェントの description は起動時に読み込まれ、カスタムエージェントの description の合計が 15,000 トークンを超えると起動時に警告が出ます。

front matter には、例にある tools や model のほかにも、任意の項目として disallowedTools、permissionMode、maxTurns、skills、mcpServers、hooks、memory、background、effort、isolation などを指定できます。なお、プラグインとして配布・導入されたサブエージェントでは、安全のため hooks、mcpServers、permissionMode の指定は無視されます。

Codex のカスタムエージェントの作り方と [agents] の設定

Codex のカスタムエージェントは、プロジェクトごとに共有するなら .codex/agents/<name>.toml、個人で使うなら ~/.codex/agents/<name>.toml に TOML ファイルとして置きます。ファイルには name、description、developer_instructions の 3 つが必須で、必要に応じて model や model_reasoning_effort、model_reasoning_summary、model_verbosity、skills.config、機能のスイッチも指定できます。また、プロジェクト全体の設定は .codex/config.toml の [agents] セクションに書きます。次の例は、レビュー用の reviewer.toml(model = "gpt-6.1-sol"、model_reasoning_effort = "medium"、developer_instructions を指定)と、.codex/config.toml の [agents] に max_concurrent_threads_per_session = 8 を設定したものです。

.codex/agents/reviewer.toml

name = "reviewer"
description = "PR reviewer focused on correctness, security, and missing tests."
model = "gpt-6.1-sol"
model_reasoning_effort = "medium"
developer_instructions = """
Review code like an owner.
Do not edit files.
Prioritize correctness, security, behavior regressions, and missing test coverage.
Lead with concrete findings, include reproduction steps when possible, and avoid style-only comments unless they hide a real bug.
"""

.codex/config.toml

[agents]
max_concurrent_threads_per_session = 8

[mcp_servers.openaiDeveloperDocs]
url = "https://developers.openai.com/mcp"

エージェントの役割は個別の TOML ファイルだけでなく、設定ファイルの側で agents.<name>.description と agents.<name>.config_file を使って宣言することもできます。Codex にはあらかじめ default、worker、explorer の 3 つの組み込みエージェントがありますが、これらと同じ名前のカスタムエージェントを用意した場合はカスタムのほうが優先して使われます。

.codex/config.toml の [agents] セクションでは、サブエージェント全体の動きや既定値をまとめて管理できます。agents.enabled は既定で true になっており、features.multi_agent も既定でオン(stable; on by default)のため、spawn_agent などのツールは最初から使える状態です。同時に動かす上限はメインを除いた数を agents.max_concurrent_threads_per_session で指定し、未設定なら Codex が決めます(agents.max_threads は古い別名である Legacy alias です)。また、個別の TOML でモデルや推論の深さを省略したときに使われる既定値として、agents.default_subagent_model と agents.default_subagent_reasoning_effort も用意されています。

サブエージェントの使い方と呼び出し方

Claude Code では、Claude が description を見て自分でサブエージェントに任せるほか、プロンプトで名前を出して頼んだり @ で名前を出して呼んだりすることもできます。動いているタスクは Ctrl+B でバックグラウンドに回せます。バックグラウンドのサブエージェントはメインの会話と同時に動き、許可の確認はメインのセッションに出ます。

Codex は 0.162.1 のソースコードでは、ユーザーか AGENTS.md・スキルの指示がはっきり頼まない限りサブエージェントを起動しない組み込みの指示になっており、「深く」「徹底的に」と頼むだけでは起動の許可になりません。そのため、プロンプトで頼むか、AGENTS.md やスキルに書いておく必要があります。CLI では /subagents でエージェントのスレッドを切り替え、動いていないスレッドからの承認の依頼には元のスレッドが表示されて o で開けます。また、Codex はサポートされている場所として VS Code などの IDE 拡張でも使え、任せる前に入力欄の下で権限のモードを選びます。ChatGPT デスクトップと ChatGPT Work でも動きますが、Web のサイドバーは一覧を見るだけで、止めたり指示したりはできません。

2026 年 10 月 21 日に読んだ OpenAI のドキュメントでは、ChatGPT の中で常時稼働するエージェントの dots も、Codex のタスクを作れます(Grok Bot と ChatGPT の dots の違い)。

サブエージェントごとにモデルと推論の強さを指定する

Claude Code では、model に sonnet、opus、haiku、fable、または claude-opus-5-5 のようなモデルの ID を書きます。メインと同じモデルを使うときは inherit を指定します。モデルの優先順(2.1.303)は、呼び出しごとの値、front matter、環境変数 CLAUDE_CODE_SUBAGENT_MODEL、メインのモデルの順です。v2.1.251 より前は環境変数がいちばん先でしたが、今の順番に変わりました。すべてのサブエージェントを 1 つのモデルに固定したいときは CLAUDE_CODE_SUBAGENT_MODEL_FORCE を使います。どのモデルで動いているかは、v2.1.242 以降なら /tasks で見分けられます。

Claude Code の思考の深さは、effort に low、medium、high、xhigh、max のどれかを入れて指定します。拡張思考の設定は、v2.1.198 以降はメインのものをそのまま引き継ぎます。

Codex は、何も設定しなければ親のモデルと推論の強さを引き継ぎます。優先順は、カスタムエージェントのファイルの値、起動のときの値、[agents] の既定(agents.default_subagent_model)、親の順です。重い仕事のエージェントには gpt-6.1-sol、速くて範囲の狭い仕事には gpt-6-luna が挙げられており、推論の強さは low から ultra の範囲で指定します。ただ、モデルの名前は GA のあとで変わっていて、Simon Willison の 2026 年 3 月の記事には gpt-5.3-codex-spark が出てきます。実際に使えるモデルは、自分のアカウントの一覧で確かめてください。

サブエージェントの並列数と入れ子の上限

サブエージェントを同時に動かせる数と入れ子の深さには、それぞれのツールで上限があります。なお、以下の内容はどちらのツールでも実際に動かしてはおらず、公式の記載やソースコードをもとにまとめています。

Claude Code(2.1.303)では、1 セッションで同時に動くサブエージェントは既定で 20 までです(環境変数 CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS、v2.1.217 以降)。これを超えると Concurrent subagent limit reached のエラーになります。セッションあたりの合計の上限はなく、v2.1.212 で入った 200 の上限(CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION)は v2.1.224 で廃止されました。入れ子は既定でメインの会話の下 3 層まで作れます(CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH、1 で入れ子なし)。入れ子の深さは v2.1.172〜v2.1.216 では 5 層まで(固定)、v2.1.217〜v2.1.218 では既定 1 でしたが、v2.1.219 から既定 3 になっています。また、別の機能であるワークフローは既定で 16 のエージェントを同時に動かします(1〜256)。

Codex の公式ページでは、同時の数の既定について "Codex chooses the default"(Codex が決める)とだけ書かれています。0.162.1 のソースコードでは、v1 の既定はメインのスレッドを除いて同時に 6 スレッド、0.162.1 では既定でオフになっている v2(multi_agent_v2)はメインを含めて 4 スレッドで、CLI は v2 の同時の数を 8 より下にするよう警告します。設定するキーは agents.max_concurrent_threads_per_session(max_threads は古い別名)で、0 にすると "must be at least 1" で拒否されます。入れ子については、0.162.1 のソースコードでは max_depth が 1 になっており、サブエージェント(深さ 1)は自分のサブエージェント(深さ 2)を作れず、そのときは "Agent depth limit reached. Solve the task yourself." というメッセージが出ます。なお、max_depth と job_max_runtime_seconds はソースコードと 0.162.1 の実行ファイルにはありますが、今の公式の記載にはなく、設定してよいキーかはわかりません。

サブエージェントのトークン消費と任せる目安

ふつうのサブエージェントが何倍のトークンを使うかについて、どちらのベンダーも具体的な倍率を出していません。Claude Code のコストのページにはふつうのサブエージェントの倍率は書かれておらず、Anthropic が示している倍率は、エージェントチームを plan モードで動かしたときの "approximately 7x more tokens than standard sessions"(ふつうのセッションのおよそ 7 倍)だけです。2025 年の Anthropic の研究機能の記事にある 4 倍と 15 倍という数字は、Claude Code ではなく Claude の Research という製品で測ったものです。また、第三者のページにある「Codex はトークンが 4 分の 1」や「150 万対 620 万トークン」といった比較には、ベンダーの出典がありません。

それぞれの仕組みを見ると、Claude Code ではサブエージェントの利用もメインの会話と同じ利用上限に数えられます。サブエージェントが占める割合は /usage で確認でき、消費を減らすにはサブエージェントごとに小さいモデルにするか、環境変数の CLAUDE_CODE_SUBAGENT_MODEL を使います。一方、Codex のドキュメントには、サブエージェントのワークフローは "consume more tokens than comparable single-agent runs"(1 つのエージェントで同じことをするより多くトークンを使う)とだけ書かれており、倍率は載っていません。CLI でもサブエージェントが "can increase usage quickly"(すぐに利用が増えることがある)と警告されており、料金は ChatGPT のプランの上限とクレジットで決まります。

トークンを余計に使ってもサブエージェントに任せる価値があるかどうかは、仕事の大きさや分け方で判断できます。2026 年 4 月 7 日の Anthropic のブログでは、10 以上のファイルにまたがるとき、または 3 つ以上の独立した部分に分けられるときに任せる価値があるとされています。反対に、順番に進める仕事や同じファイルの編集、小さなタスクには向いていません。

スキル、サブエージェント、エージェントチームの違い

スキルとサブエージェントは、Codex のドキュメントが MCP とあわせて別の層として説明する仕組みです。スキルは使うときだけ中身が読み込まれる指示で、Claude Code のドキュメントでは "a skill's body loads only when it's used"、Codex のドキュメントでは "loads SKILL.md only when a skill is chosen" と説明されています。一方、サブエージェントに共通する考え方は、メインの会話から別の文脈(コンテキスト)を持つエージェントにタスクを渡し、やりとりの全部ではなく結果だけをメインの会話に返すことです。Claude Code のドキュメントは各サブエージェントが "fresh, isolated context window"(新しい、切り離された文脈)で始まるといい、Codex のドキュメントは "context pollution"(文脈の汚れ)と "context rot"(文脈の劣化)を避けることを目的に挙げています。なお、Claude Code のスキルは context: fork を指定するとサブエージェントの中で動かせます。

SKILL.md の書き方、置き場所、呼び出し方の違いは、Claude Code と Codex のスキルの違いで比べています。

さらに複数のエージェントを連携させる仕組みとして、Claude Code にはエージェントチーム、Codex には v2(multi_agent_v2)があります。Claude Code のエージェントチームは実験的な機能で既定はオフ(CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1)となっており、リーダーと別々の Claude Code のインスタンスであるチームメイトが、共有のタスクリストや直接のメッセージを使って動きます。ドキュメントは "Start with 3-5 teammates" とすすめていますが、チームは 1 セッションに 1 つまで、チームの入れ子はない、同じプロセスのチームメイトがいるとセッションの再開ができないといった制限があり、トークン消費も "significantly more tokens"(plan モードではおよそ 7 倍)とされています。Codex の multi_agent_v2 は、0.162.1 の codex features list では stable で既定はオフと表示されます(ドキュメントに v2 の記載はありません)。0.162.1 のソースコードでは、メインを含めて 4 スレッド、fork_turns の既定は all です。

読み込まれるもの動かすもの使うとき
スキル選ばれたときだけ読み込まれる指示(SKILL.md の中身など)メインの会話(Claude Code は context: fork でサブエージェント内も可)特定の手順や指示を、必要なときだけ現在の文脈に足したいとき
サブエージェントメインの会話から切り離された新しい文脈と渡されたタスクメインの会話からタスクを受け取り結果だけを返す別のエージェント文脈の汚れや劣化を避け、途中のやりとりをメインに残さず結果だけ欲しいとき
エージェントチームそれぞれの文脈、共有のタスクリスト、直接のメッセージリーダーと別々の Claude Code のインスタンス(3〜5 体を推奨)多くのトークンを使ってでも、エージェント同士で直接やりとりさせたいとき

サブエージェントで役割を分ける海外の実例と共通の型

サブエージェントで実装、レビュー、調査などの役割をどう分けるかについては、Anthropic や Cognition が公開している記事から、うまくいく構成と避けるべき使い方が見えてきます。

公開されている主な事例と知見は、次の 4 つです。

  • Anthropic の研究機能(Anthropic Engineering、2025 年 6 月 13 日): Opus 4 のリーダーと Sonnet 4 のサブエージェントを組み合わせた構成です。Anthropic の社内の評価では、1 つの Opus 4 より 90.2% よい結果が出た一方で、トークンはチャットのおよそ 15 倍(エージェント 1 つでおよそ 4 倍)消費したとされています。サブエージェントへの依頼には目的、出力の形、範囲をはっきり書くことが重要ですが、密につながったコーディングには向きにくいとも書かれています。
  • C コンパイラ(Anthropic Engineering、Nicholas Carlini、2026 年 2 月 5 日): 16 の Claude が並列で動き、Linux をビルドできる Rust の C コンパイラを作った事例です。約 2,000 の Claude Code のセッションが回り、API の費用は 2 万ドル弱かかりました。ただし、これはサブエージェントを使ったものではなく、別々のセッションをロックファイルで調整した仕組みです。
  • Cognition(Walden Yan、2026 年 4 月 22 日): 2025 年 6 月 12 日の記事 "Don't Build Multi-Agents" では、やりとりの全体を共有することや、行動には暗黙の決定が含まれることが指摘されていました。その後のこの記事では、うまくいくのはまっさらな文脈のレビュー役と読み取り専用の検索のサブエージェントであり、並列に書き込む群れは今のところ "mostly a distraction"(ほとんど回り道)だと述べられています。
  • Anthropic のブログ(2026 年 4 月 7 日): サブエージェントを使わないほうがよい場面として、順番に進める仕事、同じファイルの編集、小さなタスクが挙げられています。また、運用する数については "Most teams use a handful"(多くのチームは数体)と紹介されています。

これらの事例に共通する型は、調べる役やレビュー役のような読み取り専用の仕事をサブエージェントに渡し、ファイルの書き込みは 1 か所に絞るか、別々の worktree に分けることです。書き込み先を分ける方法として、Claude Code では isolation: worktree を使い、Codex では "a disjoint write set"(重ならない書き込み範囲)を持たせる形がとられています。

サブエージェントのフックとコマンド制限

サブエージェントの起動と終了を記録したいときは、Claude Code と Codex の両方にある SubagentStart と SubagentStop のフックが使えます。Claude Code では、エージェントの front matter にそのエージェントだけのフックを書けて、フックにはエージェントの name が agent_type として渡ります。一方、Codex の SubagentStart は標準出力がサブエージェントへの開発者向けの文脈として足される仕組みになっており、continue: false を返してもサブエージェントの起動は止まりません。

Claude Code で危ない操作を止めたい場合、disallowedTools に Bash(git push *) と書くと、Bash のツールがまるごと外れてしまいます。特定のコマンドだけを止めるなら permissions.deny のルールを使います。このルールはサブエージェントにも効きます。さらに細かく制御したい場合は、サブエージェントの push だけをフックで止める方法も参考にしてください。

2026 年 10 月時点で古くなっている情報

サブエージェントの設定や仕様は更新が続いており、以前の記事と現在の仕様が食い違うことがあります。2026 年 10 月時点で何が変わったかを整理します。

  • Codex の max_threads は、現在では設定リファレンス上で agents.max_concurrent_threads_per_session の古い別名となっています。2026 年 3 月の日本語の記事には、まだ古いキーで説明しているものがあります。
  • Codex のドキュメントは developers.openai.com/codex から learn.chatgpt.com に移りました(HTTP 308 で転送されます)。
  • codex mcp-server と、古い Agents SDK の使い方は削除されました("have been removed")。
  • Claude Code は v2.1.277 から、CLAUDE.md がないときに AGENTS.md を読みます。「AGENTS.md を読まない」と書かれたページは古い情報です。
  • Claude Code にあった 1 セッションあたり 200 のサブエージェントの上限は、v2.1.224 で廃止されました。
  • 「Codex にはサブエージェントがない」という記述は、2026 年 3 月 16 日の一般提供(GA)以降は古い情報です。
  • Codex のエージェントのファイルでは sandbox_mode も mcp_servers も設定できず、親の設定を上書きしません。設定できると書く第三者のページがありますが誤りです。
  • トークンの倍率で一次の出典があるのは、エージェントチームの plan モードの 7 倍(Claude Code のコストのページ)と、Anthropic の Claude Research(2025 年、Claude Code ではない)の 4 倍と 15 倍だけです。

Claude Code から Codex への /import で引き継げる設定

Claude Code で作ったサブエージェントや設定を Codex でも使いたいときは、Codex のデスクトップアプリと CLI にある /import が使えます。指示のファイルは AGENTS.md に、settings.json は config.toml に、スラッシュコマンドはスキルに、フックは Codex のフックに、サブエージェントは Codex のサブエージェントに変換されます。

CLI の /import を使うと、設定だけでなく過去 30 日のチャットも 50 件まで引き継げます。

サブエージェントが作ったページを公開する(Claude・Codex など、お使いの MCP クライアントから)

サブエージェントが HTML のランディングページ、レポート、モックを書いたら、リモートの MCP サーバー(https://mcp.convika.com)で Convika に保存して、非公開のプレビューのリンクを返せます。AI が HTML を全部書いて create_landing_page_preview を 1 回呼ぶと、サイトを作り、最初の版を保存し、64 文字のランダムな文字列が入った非公開のプレビューのリンク(1 時間で開けなくなります)を返します。保存のたびに新しい版になり、頼んで publish_site を呼ぶまで公開中のページは変わりません。MCP での保存に Convika の AI クレジットは使いません。ログインやデータベースのあるページ、ほかのホストからデータを取るページは作れません。次のコマンドで接続し、ブラウザの OAuth でログインするため、ホスティングの API キーをファイルや環境変数やチャットに書きません。

claude mcp add --transport http convika https://mcp.convika.com
codex mcp add convika --url https://mcp.convika.com
codex mcp login convika
[mcp_servers.convika]
disabled_tools = ["publish_site"]

Claude Code では、サブエージェントはメインの会話の MCP のツールを引き継ぎます。1 つのサブエージェントだけに Convika を使わせるなら、そのエージェントに tools: mcp__convika__* か mcpServers: [convika](文字列で書くと親のセッションの接続を共有します)を指定し、ほかのエージェントには disallowedTools: mcp__convika を指定します。公開中のページを変える 4 つのツール(publish_site、rollback_site、unpublish_site、disable_domain_route)を permissions.ask に入れると、使うたびに承認を求めます。

{
  "permissions": {
    "ask": [
      "mcp__convika__publish_site",
      "mcp__convika__rollback_site",
      "mcp__convika__unpublish_site",
      "mcp__convika__disable_domain_route"
    ]
  }
}

バックグラウンドのサブエージェントの確認はメインのセッションに出て、Claude Code の仕様では "No message from any agent counts as your approval for a pending permission prompt"(どのエージェントのメッセージも承認にはならない)と定められています。Codex でも MCP サーバーは親のセッションで設定し、サブエージェントはそれを引き継ぎます。エージェントに公開させたくなければ、Codex の config.toml の [mcp_servers.convika] に disabled_tools = ["publish_site"] と書いて、ダッシュボードの「公開する」から公開します。なお、多くの人は MCP ではなくダッシュボードでファイルをアップロードして公開しています。くわしい設定は Claude Code で作ったランディングページを公開する方法、レポートを共有するなら HTML ファイルを Slack で共有する方法、Codex のコマンドは ドキュメント にあります。

よくある質問

Claude Code のサブエージェントは何体まで並列で動かせますか?

Claude Code(2.1.303)では、1 セッションで同時に動かせるサブエージェントは既定で 20 体までです。この上限は v2.1.217 以降、環境変数 CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS で変更でき、上限を超えると Concurrent subagent limit reached のエラーになります。入れ子は環境変数 CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH で調整でき、v2.1.172〜v2.1.216 は 5 層固定、v2.1.217〜v2.1.218 は既定 1 層でしたが、v2.1.219 からは既定でメインの会話の下 3 層まで(1 で入れ子なし)です。なお、v2.1.212 で入った 1 セッションあたり合計 200 体の上限(CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION)は v2.1.224 で廃止され、別機能のワークフローは既定で 16 のエージェント(1〜256)を同時に動かします。

Codex のサブエージェントの上限はいくつですか? 設定はどこでしますか?

Codex のドキュメントには同時の数の既定が書かれておらず("Codex chooses the default")、0.162.1 のソースコードでは v1 の既定が同時に 6 スレッド(メインのスレッドを除く)で、設定キー agents.max_concurrent_threads_per_session(古い別名は max_threads、0 にすると "must be at least 1" で拒否)で指定します。0.162.1 のソースコードでは max_depth の既定は 1 で、深さ 1 のサブエージェントは深さ 2 のサブエージェントを作れず "Agent depth limit reached. Solve the task yourself." となります。max_depth と job_max_runtime_seconds はソースコードと 0.162.1 の実行ファイルにはありますが今のドキュメントにはなく、設定してよいキーかはわかりません。また、multi_agent_v2(0.162.1 では既定でオフ)はメインを含めて 4 スレッドで、CLI は v2 の同時の数を 8 より下にするよう警告します。

Codex のサブエージェントでモデルを指定するには? luna は使えますか?

カスタムエージェントのファイル、起動のときの値、または [agents] の既定である agents.default_subagent_model でモデルを指定でき、ドキュメントでは速くて範囲の狭い仕事向けに gpt-6-luna が挙げられています。何も設定しなければ親のモデルと推論の強さ(low から ultra)を引き継ぎ、優先順は「カスタムエージェントのファイルの値 > 起動のときの値 > agents.default_subagent_model > 親」です。ドキュメントは重い仕事のエージェントには gpt-6.1-sol を挙げていますが、モデルの名前は GA のあとで変わっており、Simon Willison の 2026 年 3 月の記事には gpt-5.3-codex-spark が出てきます。実際に使えるモデルは、自分のアカウントの一覧で見てください。

サブエージェントとスキルの違いは何ですか?

スキルは使うときだけ中身が読み込まれる指示であるのに対し、サブエージェントは仕事を分けて動かす仕組みです。Claude Code のドキュメントでは "a skill's body loads only when it's used"、Codex のドキュメントでは "loads SKILL.md only when a skill is chosen" と説明されており、Codex のドキュメントはスキル、MCP、サブエージェントを別の層として扱っています。なお、Claude Code のスキルは context: fork を指定することでサブエージェントの中で動かせます。

サブエージェントとエージェントチームの違いは?

サブエージェントがメインの会話の下で動くのに対し、Claude Code のエージェントチームはリーダーと別々の Claude Code のインスタンスであるチームメイトが共有のタスクリストと直接のメッセージで連携する仕組みです。エージェントチームは実験的な機能で既定はオフ(環境変数 CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 で有効化)となっており、ドキュメントでは 3〜5 人のチームメイトから始めること("Start with 3-5 teammates")がすすめられています。チームは 1 セッションに 1 つまでで入れ子はできず、同じプロセスのチームメイトがいるとセッションの再開ができない制限があり、トークンも大幅に多く("significantly more tokens"、plan モードではおよそ 7 倍)消費します。なお、Codex には multi_agent_v2(0.162.1 の codex features list では stable で既定はオフ、メインを含めて 4 スレッド、fork_turns の既定は all。ドキュメントに v2 の記載はありません)があります。

サブエージェントを使うとトークン消費はどれくらい増えますか?

どちらのツールも通常のサブエージェントについて公式な倍率は公開していませんが、1 つのエージェントで同じことをするよりトークン消費は増えます。Claude Code で公式に示されている倍率はエージェントチームを plan モードで動かしたときの約 7 倍のみで(4 倍や 15 倍という数字は Claude の Research という別製品の測定値です)、サブエージェントの割合は /usage で確認でき、サブエージェントごとに小さいモデルにするか CLAUDE_CODE_SUBAGENT_MODEL で抑えられます。Codex でも単一のエージェントより多くのトークンを使うと説明されており、CLI でもすぐに利用が増えることがあると警告されています(第三者のページにある「トークンが 4 分の 1」などの数字にはベンダーの出典がありません)。Anthropic のブログ(2026 年 4 月 7 日)では、10 以上のファイルにまたがるときや 3 つ以上の独立した部分に分けられるときに任せる価値があり、順番に進める仕事や同じファイルの編集、小さなタスクには向かないとされています。

Codex のサブエージェントは勝手に起動しますか?

いいえ、0.162.1 のソースコードでは、ユーザーまたは AGENTS.md やスキルの指示がはっきりと頼まない限りサブエージェントは起動しません。プロンプトで「深く」「徹底的に」と頼むだけでは起動の許可にはならないため、使いたいときはプロンプトで頼むか AGENTS.md やスキルに書いておきます。ただし、ChatGPT Work の Ultra では、Codex が自分からサブエージェントに任せることがあります(公式ドキュメント)。CLI では /subagents でエージェントのスレッドを切り替えられ、動いていないスレッドからの承認の依頼には元のスレッドが表示されて o で開けます。

Claude Code は AGENTS.md を読みますか?

はい、Claude Code(2.1.303)は CLAUDE.md、.claude/CLAUDE.md、CLAUDE.local.md がどれもないときに AGENTS.md を読みます(v2.1.277 以降)。両方ある場合は CLAUDE.md だけを読みますが、@AGENTS.md で取り込めば両方使えます。なお Codex(0.162.1)はルートから作業ディレクトリまで AGENTS.md を既定で 32 KiB の上限まで連結して読みます。

サブエージェントにページを公開させても大丈夫ですか?

サブエージェントにページを作らせる場合でも、まず Convika の create_landing_page_preview が最初の版を作って非公開のプレビューのリンク(64 文字のランダムな文字列が入り 1 時間で開けなくなる)を返し、既存のページも save_page_content で保存するたびに新しい版が足され、publish_site を呼ぶまで公開中のページは変わりません(版の数がプランの上限を超えると、いちばん古い版から消えます)。Convika は AI に「頼まれたときだけ公開する」よう伝えていて、publish_site は既定でプレビューに出し、本番への公開には publish_site で本番を指定する(confirmProduction=true にする)必要があります。さらに Claude Code では公開中のページを変える 4 つのツール(publish_site、rollback_site、unpublish_site、disable_domain_route)を permissions.ask に入れて使うたびに承認を求める設定ができ、Codex でも config.toml の [mcp_servers.convika] に disabled_tools = ["publish_site"] と書いてダッシュボードの「公開する」から公開できます。

出典