Codexのマルチエージェントの使い方|サブエージェント設定と活用ステップを解説

Codexのマルチエージェントの使い方|サブエージェント設定と活用ステップを解説
目次

AIコーディングを1つのエージェントだけで進めていると、実装とレビュー、調査を同時に回せず、開発スピードが頭打ちになりがちです。OpenAIのCodexに搭載されたマルチエージェント機能を使えば、複数のサブエージェントに役割を分担させて並列で作業を進められますが、設定方法やどう使い分ければよいか分からず手が止まる方も多いのではないでしょうか。

本記事では、Codexのマルチエージェント(サブエージェント)機能でできることから、CLIとアプリでの設定と委譲の頼み方、実践的な活用ワークフロー、運用のコツまでを順番に整理します。読み終えたときに、自分の環境でマルチエージェントを動かし、タスクを分担させられる状態を目指します。

職種別AI活用事例18選

マーケ・営業から開発・経営・人事経理まで。8職種18業務のAI活用事例を無料公開中!

無料ダウンロード →

Codexのマルチエージェント機能とは|サブエージェントで何ができるのか

Codex(コーデックス)は、OpenAIが提供するAIコーディングエージェントです。コマンドラインで動くCLI版と、デスクトップで動くアプリ版があり、コードの実装・修正・レビューなどを自然言語の指示で任せられます。このCodexに搭載されたマルチエージェント機能とは、複数のサブエージェント(subagent、特定の役割を担う補助的なエージェント)を同時に動かし、1つの大きなタスクを分担して進める仕組みです。

従来の単一エージェントでは、1つのエージェントが指示を受けて順番に作業します。一方マルチエージェントでは、親となるエージェントがタスクを分解し、複数のサブエージェントへ割り振って並列で処理させ、その結果を統合します。これにより、実装をしながら別のエージェントがレビューやテスト生成を進めるといった同時並行の作業ができるようになります。

関連記事:Codexとは?OpenAIのコーディングAIエージェントの仕組み・使い方・料金を徹底解説

マルチエージェント(サブエージェント)機能の概要

サブエージェント機能の中心にあるのは、「役割ごとにエージェントを分ける」という考え方です。たとえば、コードベース全体を調べる調査担当、実際にコードを書く実装担当、その差分を確認するレビュー担当のように、目的別のエージェントを定義しておき、状況に応じて呼び出します。

それぞれのサブエージェントには、担当する範囲や使うモデル、振る舞いの指示をあらかじめ設定できます。親エージェントが利用者の指示を受け取り、必要なサブエージェントへ作業を割り振って結果をまとめる、という流れがマルチエージェントの基本動作です。

単一エージェントとの違いと、並列化で変わること

単一エージェントとマルチエージェントの最大の違いは、作業を「直列」で進めるか「並列」で進められるかにあります。下表は、両者の性質を作業の進め方・得意なタスク・運用の難しさの観点で整理したものです。複雑なタスクほどマルチエージェントの恩恵が大きくなる一方、扱う難しさも上がる点を押さえておきましょう。

観点単一エージェントマルチエージェント
作業の進め方1つの指示を順番に処理する直列型役割別エージェントが同時に動く並列型
得意なタスク小〜中規模の明確なタスク調査・実装・レビューが絡む複雑なタスク
スピードタスクが増えると待ち時間も増える並列化で全体の所要時間を短縮しやすい
運用の難しさ設定が少なくすぐ使える役割定義や同時実行数の設計が必要

たとえば新機能の追加では、調査・実装・テスト作成を並行させることで、単一エージェントより全体のリードタイムを縮められます。一方で、エージェントを増やすほど設定や管理の手間も増えるため、小さなタスクではかえって単一エージェントの方が手軽です。

速さと並んで効いてくるのが、作業スレッドを分けられることです。公式ドキュメントは、探索メモやテストログ、スタックトレースといった中間の出力がメインの会話に溜まると、必要な情報が埋もれて(コンテキストの汚染)、会話が長くなるほど精度が落ちていく(コンテキストの劣化)と説明しています。サブエージェントに調査やログ解析を任せ、返ってくるのを要約だけにすると、メインの会話は要件と判断に集中したまま保てます(出典: developers.openai.com)。

なお、各サブエージェントがそれぞれモデルとツールを動かすため、同じ作業を単一エージェントで行う場合よりトークン消費は増えます。

Codexのマルチエージェント機能の仕組み|タスクを分解・委譲・統合する流れ

マルチエージェントの動作は、親エージェントによるオーケストレーション(複数の処理を指揮・調整すること)で成り立っています。利用者が大きな指示を出すと、親エージェントがそれをサブタスクに分解し、適切なサブエージェントへ委譲し、結果を統合して最終的なアウトプットにまとめます。この「分解・委譲・統合」の3段階が、マルチエージェント全体を貫く基本フローです。

オーケストレーションの基本フロー

具体的な流れは、おおむね次の順序で進みます。最初に全体像を押さえておくと、設定や活用のイメージがつかみやすくなります。

  1. 利用者が「この機能を追加してテストも書いて」のような複合的な指示を出す
  2. 親エージェントが指示を「調査」「実装」「テスト作成」などのサブタスクに分解する
  3. 各サブタスクを、役割が合致するサブエージェントへ委譲する
  4. サブエージェントが並列で作業し、それぞれの結果を返す
  5. 親エージェントが結果を統合し、矛盾がないか確認して最終出力にまとめる

この流れの中で、サブエージェントは互いに独立して動くため、片方が調査している間にもう片方が実装の下書きを進める、といった並行作業が成り立ちます。鍵になるのは、親エージェントがタスクの分け方と統合の質をコントロールしている点です。分解の粒度が粗すぎたり細かすぎたりすると、かえって統合に手間がかかるため、後述する役割定義の設計が効いてきます。

Codex CLIとCodexアプリでの提供形態の違い

Codexのマルチエージェント機能は、CLI版とアプリ版の両方で利用できますが、操作感が異なります。下表は、それぞれの提供形態を操作方法・向いている使い方の観点で整理したものです。どちらを選ぶかは、ターミナル中心で作業するか、画面で複数の作業を見渡したいかで判断すると分かりやすくなります。

観点Codex CLICodexアプリ
操作方法ターミナルでコマンドと設定ファイルを使うデスクトップ画面で操作する
設定の自由度設定ファイルで細かく定義しやすい画面から直感的に管理しやすい
向いている使い方スクリプトや既存の開発フローへの組み込み複数エージェントの状況を一覧で把握

CLI版は設定ファイルでサブエージェントを細かく定義でき、既存のターミナル中心の開発フローに組み込みやすいのが持ち味です。アプリ版は、複数のエージェントが今どのタスクを進めているかを画面上で見渡しやすく、並列で動く様子を把握しながら管理したい場合に向いています。まずは普段の作業環境に近い方から試すとよいでしょう。

関連記事:Codex CLI とは?無料で使える範囲と料金・ターミナルでの使い方

【基本の使い方】Codex CLIでマルチエージェントを使い始める手順

Codex CLIでマルチエージェントを使い始める手順を、設定の確認・委譲の依頼・同時実行数の調整という3ステップのフロー図として示す。読者が「どの順番で進めればよいか」を一目で理解できるようにする。

ここからは、Codex CLIでマルチエージェントを使い始めるための具体的な手順を見ていきます。現在のCodexではサブエージェント機能が既定で有効なので、押さえるのは「設定の確認」「委譲の頼み方」「同時実行数の調整」の3つです。設定項目はバージョンによって変わることがあるため、最終的にはお使いのCodexの公式ドキュメントで確認してください。

STEP1|設定ファイルで有効・無効を確認する

現在のCodexでは、サブエージェント機能は既定で有効です(出典: developers.openai.com)。設定ファイルで明示的にオンにする作業は不要で、切りたいときだけ設定を書きます。

CLIの設定はホームディレクトリ配下の設定ファイル(~/.codex/config.toml)で管理され、プロジェクト単位で上書きしたい場合はリポジトリ内に.codex/config.tomlを置きます。サブエージェント関連の項目は[agents]セクションにまとまっており、enabled(既定はtrue)をfalseにすると機能そのものを止められます。

STEP2|サブエージェントへ委譲するよう明示的に頼む

機能が有効でも、Codexが常に自動でサブエージェントを立てるわけではありません。公式ドキュメントは、直接依頼したとき、またはAGENTS.mdやskillの指示が求めているときに委譲すると説明しています(出典: developers.openai.com)。

そのため「並列で調べて」「1論点につき1エージェントで」のように、分け方を指示に書くのが基本になります。よい依頼文には、作業の分け方、全エージェントの完了を待つかどうか、返してほしい要約の形の3つが入っています。毎回のプロンプトに書くのが手間なら、AGENTS.mdに使いどころを書いておく方法もあります。

AIエージェントの作り方

AIエージェントを「どう作り、どう育てるか」を、GiftX記事制作エージェントの実物で解説。

無料ダウンロード →

STEP3|同時実行数(並列数)を設定する

マルチエージェントを使ううえで調整したいのが、同時に動かすサブエージェントの数です。設定ファイルの[agents]セクションにあるmax_concurrent_threads_per_sessionで、同時に開くエージェントスレッドの上限を決めます(旧設定のmax_threadsも互換の別名として使えます)。たとえば同時実行数を3に設定すると、最大3つのサブエージェントが並行して動きます。同時実行数を増やすほど並列で多くの作業を進められますが、その分だけ動作するエージェントが増え、消費するトークン(AIが処理する文章の単位)も増えていきます。最初は2〜3程度の小さい値から始めて、動作の様子を見ながら調整するのがおすすめです。いきなり大きな値にすると、複数のエージェントが同時に動いて状況を追いきれなくなったり、想定よりトークン消費が膨らんだりすることがあります。

サブエージェントをカスタマイズする|設定ファイルと役割定義のポイント

サブエージェント定義ファイルで設定する3つの主要項目を、横並びのカード型の概念図で示す。読者が「役割をどう定義するか」の構成要素を整理して理解できるようにする。

マルチエージェントの効果を引き出す鍵は、サブエージェントの役割をどう定義するかにあります。Codexでは、サブエージェントごとに個別の設定ファイルを用意し、担当する役割・使うモデル・振る舞いの指示を記述できます。役割が明確なサブエージェントを揃えておくほど、親エージェントが適切に作業を割り振れるようになります。

最初から使える3つの組み込みエージェント

自分で定義する前に、Codexには次の3つが最初から用意されています(出典: developers.openai.com)。

名前位置づけ向いている作業
default汎用のフォールバック特定の専門性が要らない作業
worker実行に寄せたエージェント実装・バグ修正など手を動かす作業
explorer読み取りに寄せたエージェント大きなコードベースの調査・把握

まずはこの3つで「調査はexplorer、実装はworker」と振り分けてみて、足りない役割が見えてから自作に進むと無駄がありません。自作したエージェントの名前が組み込みと同じ場合は、自作したほうが優先されます。

サブエージェント定義ファイルの基本構造

サブエージェントは、専用のディレクトリに置いた設定ファイル(個人用なら~/.codex/agents/、プロジェクト用なら.codex/agents/ 配下に置く各 .toml ファイル)で定義するのが基本的な形です。1つのファイルが1つのサブエージェントに対応し、そのエージェントが何者で、どう振る舞うかをまとめます。

ファイルに必ず書くのは、エージェント名(name)、役割の説明(description)、振る舞いの指示(developer_instructions)です。Codexがエージェントを見分けるのはファイル名ではなくnameの値なので、ファイル名と揃えておくと混乱しません。

これに加えて、使用するモデル(model)や推論の深さ(model_reasoning_effort)、サンドボックスの設定なども任意で書けます。次の節では、実際に手を入れる機会が多いdescription・model・developer_instructionsの書き方を見ていきます。たとえばレビュー担当なら、説明に「コードの差分をレビューして改善点を指摘する担当」、指示に「修正は提案にとどめ、勝手に書き換えない」と書くイメージです。

description・model・developer_instructionsの書き方

サブエージェント定義でよく使う項目は、おおむね次の3つに整理できます。それぞれの役割を押さえておくと、目的に合ったエージェントを組み立てやすくなります。

description(役割の説明)

そのサブエージェントが何を担当するのかを、簡潔に1文で書きます。親エージェントは、この説明文を手がかりにどのサブエージェントへ委譲するかを判断するため、「レビュー担当」「コードベースの調査担当」のように役割が一目で分かる表現にします。

model(使用するモデル)

サブエージェントが使うAIモデルを指定します。すべてを高性能なモデルに揃える必要はなく、調査や下準備のような軽い作業には軽量なモデル、複雑な実装には性能の高いモデルを割り当てるなど、役割に応じて使い分けるとトークン消費を抑えやすくなります。

developer_instructions(振る舞いの指示)

そのサブエージェントに守ってほしいルールや作業の進め方を記述します。「修正は提案にとどめる」「指定したディレクトリ以外は触らない」のように、振る舞いの境界を明確にしておくと、エージェント同士が衝突しにくくなります。

タスクに応じてモデルを割り当てる

役割定義とあわせて意識したいのが、モデルの使い分けです。マルチエージェントでは複数のエージェントが同時に動くため、すべてを高性能モデルにすると消費が一気に増えます。調査やログの確認といった負荷の軽い作業には軽量モデルを、設計や難しい実装には性能の高いモデルを割り当てると、品質とトークン消費のバランスを取りやすくなります。最初から完璧に振り分けようとせず、動かしながら調整していくと無理なく最適化できます。

実践ワークフロー|実装・レビュー・調査を分担する活用例

サブエージェントの設定ができたら、実際の開発タスクでどう分担させるかを考えます。ここでは、多くの開発現場で当てはまりやすい3つの活用パターンを紹介します。いずれも「1人で全部やる」のではなく「役割の違うメンバーで分担する」イメージで捉えると、設計しやすくなります。

実装担当とレビュー担当を分ける

もっとも分かりやすいのが、コードを書く実装担当と、その差分を確認するレビュー担当を分けるパターンです。実装担当がコードを書いたあと、レビュー担当が別の視点でバグや可読性をチェックします。同じエージェントが自分の書いたコードを見直すよりも、役割を分けた方が見落としに気づきやすくなります。これは「作成と検証のループ」を1セッション内で回す考え方で、生成物の品質を底上げするうえで役立ちます。たとえば、実装担当に「指定した関数を追加する」と任せ、レビュー担当には「変更差分をバグと命名規則の観点で指摘し、修正は提案にとどめる」と指示を分けておくと、片方が手を入れすぎて意図がぶれる事態を防げます。さらにテスト作成を別のサブエージェントに任せれば、実装・レビュー・テストを並行で回す体制も組めます。

コードベースの調査を専任エージェントに任せる

大きなコードベースで作業するときは、調査を専任のサブエージェントに任せると効率が上がります。実装を始める前に、関連するファイルや既存の実装パターンを調査担当にまとめさせ、その結果を踏まえて実装担当が手を動かす流れです。親エージェントが調査と実装を並行させることで、全体の所要時間を短縮できます。調査結果が共有されることで、的外れな実装も減らせます。たとえば「この機能に関係するファイルと既存の実装方針を洗い出して」と調査担当に投げておけば、実装担当はその要約を前提に作業に入れます。コードベースが大きいほど、いきなり実装させるよりも調査をはさんだ方が、手戻りを抑えやすくなります。

MCP連携で外部ツールと組み合わせる

サブエージェントは、MCP(Model Context Protocol、AIと外部ツールをつなぐ共通の仕組み)を通じて外部のツールやデータと連携させることもできます。たとえば、特定のサブエージェントにドキュメント検索やコード解析ツールを接続し、外部情報を取り込みながら作業させる構成です。役割分担に外部ツールの利用を組み合わせると、単独のエージェントでは届かない範囲までカバーしやすくなります。社内の仕様書やAPIドキュメントを参照させる調査担当、静的解析の結果を読むレビュー担当のように、役割ごとに必要なツールだけをつなぐと、各エージェントの動きが整理され、管理もしやすくなります。

効率的な運用のコツ|モデルの使い分けとトークン消費を抑える工夫

マルチエージェントを無理なく運用するための3つのコツを、横並びの概念図で示す。読者が「消費を抑えつつ安定して使う」ための要点を整理して把握できるようにする。

マルチエージェントは便利な一方で、使い方を誤ると消費が膨らんだり、かえって作業が滞ったりします。ここでは、無理のない範囲で運用を続けるための3つの工夫を整理します。導入直後につまずきやすい点でもあるため、最初に押さえておくと安定して使えます。

役割ごとにモデルを使い分ける

前述のとおり、すべてのサブエージェントを高性能モデルで動かすと、並列で動く分だけトークン消費が一気に増えます。調査・整理・要約のような軽い作業には軽量モデルを、設計判断や難しい実装には性能の高いモデルを割り当てると、品質を保ちながら消費を抑えられます。役割ごとの設定ファイルでモデルを指定できるため、運用しながら少しずつ最適な組み合わせに寄せていきましょう。

AI活用実態調査レポート

全国8,000人調査で、AIの活用方法によって生産性向上に約3.8倍の差が生まれることが判明。

無料ダウンロード →

同時実行数を欲張りすぎない

並列数を増やせば一見スピードが上がりそうですが、同時に動くエージェントが増えるほど状況の把握が難しくなり、結果の統合にも時間がかかります。エージェントが互いの作業を前提にする場面では、過剰な並列化がかえって混乱を招くこともあります。同時実行数は小さい値から始め、扱いきれる範囲で少しずつ増やすのが無理のない進め方です。

エージェントを増やしすぎない(限界と注意点)

サブエージェントは増やすほど良いわけではありません。役割の似たエージェントを乱立させると、どれに任せるべきか親エージェントの判断がぶれ、統合の手間も増えます。協調のための調整コストが、並列化で得られる時間短縮を上回ってしまうこともあります。まずは「実装」「レビュー」「調査」のような少数の明確な役割から始め、本当に必要だと感じた役割だけを足していくと、無駄なく運用できます。

Codexと他のAIコーディングツールの違い|Claude Codeとの比較

マルチエージェントやサブエージェントの仕組みは、Codexだけのものではありません。代表的なAIコーディングツールであるClaude Codeにも、役割を分けたサブエージェント的な機能があります。下表は、両者を提供元・操作の中心・役割分担の考え方の観点で整理したものです。どちらが優れているというより、普段の環境や好みに合わせて選ぶ視点が役立ちます。

観点CodexClaude Code
提供元OpenAIAnthropic
操作の中心CLIとデスクトップアプリCLIを中心とした操作
役割分担の考え方サブエージェントを設定ファイルで定義サブエージェントに役割を割り当てて委譲
向いている人OpenAIのモデルやアプリ管理を使いたい人ターミナル中心で細かく制御したい人

両者とも「役割を分けて並列で作業させる」という発想は共通しています。Codexはデスクトップアプリで複数エージェントの状況を見渡しやすく、Claude Codeはターミナル中心の細かな制御に向く傾向があります。すでに使っているモデルや開発環境との相性で選ぶのが、無理のない判断になります。両方を試し、タスクによって使い分けるのも1つの方法です。

関連記事:Claude Code と Codex の違い|5 つの観点で整理し用途別に選び分ける

Codexのマルチエージェントを使い始めるときに陥りがちな3つの落とし穴

マルチエージェントは強力な機能ですが、最初から欲張ると逆に手が止まりがちです。ここでは、使い始めの段階でつまずきやすい3つの落とし穴と、それを避ける考え方を整理します。

落とし穴1|いきなりすべてのタスクを丸投げする

最初から複雑なタスク全体を一度にエージェント群へ任せようとすると、分解や統合がうまくいかず、期待した品質に届きません。まずは1つの小さなタスクで挙動を確かめるのが近道です。

落とし穴2|最初から壮大な構成を設計して手が止まる

役割を細かく分けた大規模なエージェント構成を最初に設計しようとすると、検討だけで時間が過ぎ、実際に動かす前に止まってしまいます。完璧な設計図より、まず動く最小構成から始める方が前に進めます。

落とし穴3|既製の単一チャット型AIのままでは業務に組み込めない

汎用のチャット型AIをそのまま使い続けると、役割分担やツール連携を組み込めず、複雑なタスクで求められる品質に届きません。自分の作業フローに合わせて役割を定義してこそ、マルチエージェントの利点が活きてきます。

スモールスタートで1タスクから任せる(結論)

3つの落とし穴に共通するのは「最初から大きく始めようとする」点です。マルチエージェントは、まず1つのタスク、たとえばレビューや調査だけを1つのサブエージェントに任せるところから始めるのが定石です。小さく動かして手応えをつかみ、必要に応じて役割を足していけば、無理なく自分の開発フローに定着させられます。

すぐ使えるサブエージェント設定チェックリスト

マルチエージェントを設定・運用する前に、押さえておきたい項目をチェックリストにまとめました。設定でつまずいたときや、運用が複雑になってきたときの見直しにも使えます。

  • [agents]のenabledが有効のままか(既定は有効。切っていないかの確認)
  • 委譲してほしい作業の分け方を、指示文かAGENTS.mdに書いたか
  • 同時実行数を小さい値(2〜3程度)から始めているか
  • サブエージェントの役割(実装・レビュー・調査など)を明確に分けているか
  • 各サブエージェントの説明(description)が一目で役割を判断できる内容になっているか
  • 役割の負荷に応じてモデルを使い分け、トークン消費に配慮しているか
  • 振る舞いの指示(developer_instructions)で触る範囲や提案にとどめる境界を定めているか
  • まず1つの小さなタスクで挙動を確かめてから、役割を増やしているか

このチェックリストは、最初の設定時だけでなく、運用しながら定期的に振り返る際にも役立ちます。特に同時実行数とモデルの使い分けは、消費と品質に直結するため、動かしながら調整していくとよいでしょう。

まとめ

Codexのマルチエージェント機能は、複数のサブエージェントに役割を分担させ、実装・レビュー・調査などを並列で進められる仕組みです。機能自体は既定で有効なので、使い始めで押さえるのは「分け方を明示して委譲を頼むこと」と「サブエージェントごとに役割・モデル・振る舞いを定義すること」の2つになります。同時実行数やモデルの使い分けを調整しながら、自分の開発フローに合った構成へ寄せていくのが運用のコツです。

最初から壮大な構成を目指すとつまずきやすいため、まずはレビューや調査など1つのタスクを1つのサブエージェントに任せるスモールスタートが近道になります。小さく動かして手応えを得てから、必要な役割だけを足していけば、無理なくマルチエージェントを定着させられます。

AIエージェントの活用・内製化をご検討の方へ

本記事で紹介したAIエージェントの役割分担や自動化の考え方を、自社の業務でも具体的に進めたい・相談したいとお考えの方は、ぜひGiftX AIエージェント構築支援までお問い合わせください。

GiftX AIエージェント構築支援では、貴社の業務に合わせて1業務単位のスモールスタートから本番運用まで、AIエージェント構築をワンストップで支援します。ユースケースの洗い出しから、PoC、本番運用、社内ナレッジ化まで伴走します。

AI活用にご関心のある方は、ぜひ一度ご相談ください。

▶ GiftX AIエージェント構築支援の詳細・お問い合わせはこちら

関連記事

朝山 高至
AIエキスパート

GiftXにてマーケティング・PdM・AI推進を担当。自社事業GIFTFULにて、AIエージェントを活用したマーケティング・営業業務の自動化を主導。

SHARE
職種別AI活用事例18選

マーケ・営業から開発・経営・人事経理まで。8職種18業務のAI活用事例を無料公開中!

無料ダウンロード →