Codex(コーデックス)のサブエージェントとは|「作るのではなく、頼んで走らせる」使い方と、.tomlで担当を固定する手順
Codexを使い込むと出てくる「サブエージェント(subagent)」という言葉。一言で言えば、メインのAIエージェントが仕事の一部を切り出して任せる、専門担当のAIです。AIの「部下」に仕事を振るという考え方そのものは、Claude Codeのサブエージェント解説で部下8体に競合調査を任せた実例つきで書きました。この記事はその姉妹編として、Codexならではの部分に絞ります。①なぜ定義ファイルだけ.tomlなのか ②「作るのではなく、頼んで走らせる」使い方 ③メインは上位・サブは1つ下げるモデル指定——の3点です。
Codexのサブエージェントとは: Codexのサブエージェントは、メインのAIエージェントが大きな仕事の一部を切り出して任せる、専門担当のAIです。任された担当は作業を終えると結果だけをメインに返し、メインは全体の進行に集中できます。定義ファイルは1体につき1つのTOMLファイルで、役割だけでなく、使うモデルや推論レベルまで担当ごとに指定できます。
なぜサブエージェントの定義ファイルだけ.tomlなのか
Codexに読ませるファイルを並べてみると、不思議な分かれ方をしています。AGENTS.mdも、手順書であるSKILL.mdもMarkdown(.md)なのに、サブエージェントの定義ファイルだけTOML(.toml。設定を書くためのテキスト形式)という別形式です。この分かれ方について、みやっち🧑💻は次のように言語化しています。
AGENTS.mdやSKILL.mdは、AIに読ませる自然言語の指示書。サブエージェントの.tomlは、AIそのものの設定ファイルです。
指示書は「何をしてほしいか」を文章で伝えれば足ります。一方サブエージェントの定義では、何をするかに加えて、どのモデルを使い、どの推論レベルで考え、どこまでの権限で動き、どのツールを使わせるかという、AI1体の仕様そのものを決められます。文章ではなく設定の形式になっているのは、書く対象が「仕事の内容」ではなく「担当者そのもの」だからです。指示書側のファイル(.md群)の整理はAGENTS.mdとCLAUDE.mdの違いにまとめています。
使い方の基本は「作るのではなく、頼んで走らせる」
サブエージェントは、1体ずつ作り込んでから使うものではありません。定義ファイルが1つもなくても、ふだんの依頼に一言添えるだけで動きます。
この調査はサブエージェントを使って手分けして進めてください。
観点ごとに担当を分けて並行で調べ、それぞれの結果を要点だけに
まとめてから、最後に1つに統合して報告してください。
頼み方のコツは2つです。
- 分け方の軸だけ伝える: 「観点ごとに」「資料ごとに」と軸だけ渡します。何体立てるかまで決める必要はなく、メインが必要な数だけ担当を立ち上げます
- 守らせたいことと、返してほしい形式は毎回伝える: 「数字と固有名詞は原文のまま写す」「要点の末尾に出典を付ける」のように書き添えます。サブの結果はメインに渡って次の作業に使われるため、形式がそろっていないとまとめ直しの手間が増えます
出番は、大量の資料の確認、複数の観点での調べもの、別の目で見てほしいレビューなど、手分けできる作業にぶつかったときです。そして同じ依頼を何度も繰り返すようになったら、その内容をファイルに固定するタイミング。ここで初めて.tomlの出番が来ます。
繰り返す依頼はTOMLファイルで「決まった担当」に固定する
定義ファイルの実体は、1体につき1つのTOMLファイルです。作る手順は3ステップです。
- 置き場所を決める: agentsフォルダは2か所あります。その案件専用なら
プロジェクト/.codex/agents/、どのプロジェクトでも使う汎用の担当なら~/.codex/agents/。迷ったらまずプロジェクト側に置き、他の案件でも使いたくなったら自分専用側へ移します - 必須3項目を書く: name(担当の名前。英数字が安全)、description(どんな仕事を任せる担当かの説明。日本語の呼び名はここに書く)、developer_instructions(指示書の本体。役割・手順・守ること・返してほしい形式まで書き切る)の3つがそろって、初めて担当として読み込まれます
- 変えたい項目だけ上書きする: model(使うモデル)とmodel_reasoning_effort(推論レベル)は任意です。ファイルに書いた値が最優先で、書かなければCodexが仕事の内容に合った構成を選ぶか、メインの設定を引き継ぎます。「この担当は必ずこの設定で動かしたい」ものにだけ書きます
たとえばリサーチ担当なら、こんな1枚になります。
name = "researcher"
description = "リサーチ担当。複数の資料やサイトを読んで、要点だけを整理して返す調査役"
developer_instructions = """
渡された資料とURLをすべて読み、要点5つ以内で返す。
数字と固有名詞は原文のまま写し、各要点の末尾に出典を付ける。
"""
model_reasoning_effort = "medium"
固定した担当は「researcherにこの資料を読ませて」と名前で指名できます。descriptionに日本語の呼び名を書いておけば、「リサーチ担当に読ませて」という日本語の頼み方でもメインがその担当を選びやすくなります。
モデル指定の定石は「メインは上位、サブは1つ下げる」
サブエージェントは、担当ごとにモデルと推論レベルを個別に指定できます。おすすめの配分は、メインはハイエンドのモデル、サブはそこから1つ下げたモデル。サブを何体も並べる大規模なリサーチほど、この差が効いてきます。理由は3つあります。
- サブの仕事は、深く考えることより広く読むこと: 資料やページを大量に読んで要点を返すのがサブの役回りで、集めた材料をどう使うかという重い判断はメイン側が引き受けます
- 費用と時間は台数分増える: 5体走らせれば単純に5回分かかります。読むだけの工程まで上位モデルにすると、リサーチ1回あたりの負担がそのまま跳ね上がります
- いちばん遅いサブが全体の待ち時間を決める: メインは全員の結果がそろうまで先に進めません。軽いモデルのほうが返りが早く、結果として全体が早く終わります
ただし、下げてよいのは「読む・集める」工程までです。レビューやチェックのように、見落としが致命傷になる担当は下げません。サブでもメインと同格のモデルにして、推論レベルはむしろ高めにします。推論レベルは上げるほど品質と引き換えに待ち時間とトークン消費が増えるので、基本は「中」を既定にして、判断が入る担当だけ上げ、答えの形が決まっている担当は下げます。
みやっち🧑💻の運用: レビュー担当3体が公開前に並列で走る
実際の運用の形も紹介します。みやっち🧑💻の業務リポジトリではClaude CodeとCodexを併用しており、サブエージェントの定義はClaude Code側(.claude/agents/)を正本にして、Codex側(.codex/agents/)へ同期スクリプトで自動生成しています。同じ「担当者名簿」を2つのAIで共有している形です。この併用の全体設計はClaude CodeとCodexの併用術に書きました。
担当たちの働きどころの代表が、このブログの公開前チェックです(この3体は現在Claude Code側で動かしており、Codex側には同じ定義をTOMLに変換して置いています)。記事のドラフトができると、安全(出してはいけない情報の検査)・事実(モデル名や仕様の照合)・一次情報(体験談の根拠の確認)という3体のレビュー担当が並列で走り、全員の指摘が出そろってから公開に進みます。基準を覚えた担当チームが同時に検査してくれるので、みやっち🧑💻の手元に来るのは、AIが自動では直せなかった確認事項だけです。
この体制の核は、担当1体の役割・守ること・返す形式を定義ファイル1枚に書き切って持ち歩けることにあります。Claude Code側では.md、Codex側では同じ内容を.tomlに変換した1枚がその実体で、必要なら使うモデルまで.tomlに固定できます。自分の判断基準を設定ファイルに写した担当を、Codexでも同じ形で持ち歩ける——TOMLという「担当者の仕様書」の持ち運びやすさが、Codexでチームを組むときの実利です。
よくある質問
Claude Codeのサブエージェントと何が違いますか
考え方は同じで、メインのAIが専門担当に仕事を切り出す仕組みです。大きな違いは定義ファイルの形式で、Claude CodeはMarkdownファイル、CodexはTOMLファイルに書きます。Claude Code側の使い方と実例はClaude Codeのサブエージェント解説を参照してください。
定義ファイルを作らないとサブエージェントは使えませんか
いいえ。定義ファイルが1つもなくても、「この調査はサブエージェントで手分けして」と頼めば、メインがその場で必要な数だけ立ち上げます。定義ファイルを作るのは、同じ依頼を繰り返すようになってからで十分です。
担当の名前は日本語でも動きますか
エージェント名はファイル名ではなく、name項目で決まります。公式の例はファイル名・nameとも英数字で、日本語での動作は保証されていないため、nameは英数字にして、「リサーチ担当」のような日本語の呼び名はdescriptionに書くのが安全です。descriptionに書いておけば、日本語で指名しても伝わりやすくなります。
まず、手分けできる仕事を1つ頼んでみる
サブエージェントの入口は、TOMLの文法を覚えることではありません。手分けできる仕事にぶつかったら「サブエージェントで手分けして」と頼んでみる——それだけです。1回頼んで、繰り返すようになったらファイルに固定する。この順番なら、経営者・個人事業主・士業・会社員の誰でも今日から始められます。Codex自体をこれから触る方は、Codexの始め方が入口です。
自分の業務なら、どんな担当チームを組めるか。それを具体化したくなったら、まず無料セミナーでお会いしましょう。