Codex: Codex サブエージェント
最終更新:2026-08-31
サブエージェントにより、Codex は複雑なタスクを分解し、専門のエージェントに委譲して並列実行でき、効率が劇的に向上します。
📋 前提条件: Codex のワークフローモードとエージェントスキルを理解していること
1. 学ぶ内容
- サブエージェントの概念と動作原理
- タスク委譲戦略
- 並列実行と調整
- サブエージェントと単一エージェントの比較
2. サブエージェントとは
サブエージェントはメインの Codex エージェントが作成する補助エージェントで、それぞれがサブタスクを担当します。
graph TB
A[メインエージェント] --> B[サブエージェント1:フロントエンド]
A --> C[サブエージェント2:バックエンド]
A --> D[サブエージェント3:テスト]
B --> B1[UI コンポーネントを変更]
C --> C1[API エンドポイントを追加]
D --> D1[テストケースを作成]
B1 --> E[メインエージェントが集約]
C1 --> E
D1 --> E
| 特徴 | 説明 |
|---|---|
| 独立実行 | 各サブエージェントは独自のサンドボックスを持つ |
| 並列実行 | 複数のサブエージェントが同時に実行 |
| 自動調整 | メインエージェントが結果を集約 |
| 専門的分担 | 各サブエージェントは異なるスキルを使用可能 |
3. ユースケース
(1) マルチモジュール並列開発
TEXT
📖 参照専用
> Add product review functionality to the e-commerce site:
> - Frontend: review component + review list + star ratings
> - Backend: review API + rating aggregation
> - Testing: frontend and backend tests
# Codex が自動的にサブエージェントに分解:
# サブエージェント1:フロントエンドコンポーネント開発
# サブエージェント2:バックエンド API 開発
# サブエージェント3:テスト作成
# 3つのサブエージェントが並列実行
(2) 多言語翻訳
TEXT
📖 参照専用
> Translate README.md into Japanese, Portuguese, and Arabic
# Codex が3つのサブエージェントを作成して並列翻訳
# サブエージェント1:en → ja
# サブエージェント2:en → pt-br
# サブエージェント3:en → ar
▶ 例1:Alice のマルチモジュール開発
TEXT
📖 参照専用
# Alice が完全な決済機能を追加
> Add Stripe payments:
> 1. Payment page UI
> 2. Payment API endpoint
> 3. Webhook handling
> 4. Order management
> 5. Tests for all modules
# Codex が4つのサブエージェントに分解:
🔄 サブエージェント1:決済ページ UI + 注文管理ページ
🔄 サブエージェント2:決済 API + Webhook エンドポイント
🔄 サブエージェント3:注文モデル + データベース移行
🔄 サブエージェント4:統合テスト
# 並列実行、合計約15分
# 直列実行なら約50分
4. タスク委譲戦略
(1) 並列化の条件
| 条件 | 説明 |
|---|---|
| 異なるファイルを変更 | サブエージェントが同じファイルを操作しない |
| データ依存がない | サブエージェントが状態を共有しない |
| 独立して検証可能 | 各サブタスクが独立して検証できる |
(2) 並列化すべきでない場合
| 状況 | 説明 |
|---|---|
| 同じファイルを変更 | 競合が発生する可能性 |
| 順次的依存関係 | 後のステップが前の結果を必要とする |
| 共有データベース | 競合状態が発生する可能性 |
(3) 分解原則
TEXT
📖 参照専用
1. 機能モジュール別に分解(フロントエンド / バックエンド / テスト)
2. ファイルディレクトリ別に分解(src/auth/ / src/api/ / src/utils/)
3. タスクタイプ別に分解(実装 / テスト / ドキュメント)
4. 各サブタスクの境界を明確にする
5. サブエージェントの調整
(1) 自動調整
メインエージェントがサブエージェントのライフサイクルを自動管理:
TEXT
📖 参照専用
1. タスクを分析し、サブタスクに分解
2. 各サブタスクにサブエージェントを作成
3. 独立したサンドボックス環境を割り当て
4. 実行進行状況を監視
5. 結果を集約し、競合を処理
6. 統合検証を実行
(2) 結果のマージ
TEXT
📖 参照専用
# サブエージェント完了後、メインエージェントが結果をマージ:
✅ サブエージェント1:フロントエンドコンポーネント完了(3ファイル)
✅ サブエージェント2:バックエンド API 完了(2ファイル)
✅ サブエージェント3:テスト完了(4ファイル)
# メインエージェントが統合テストを実行
→ Running integration tests...
→ All 15 tests passed ✓
# 競合の処理(もしあれば)
→ No conflicts detected
→ Ready for review
6. サブエージェントと単一エージェントの比較
| 次元 | サブエージェント | 単一エージェント |
|---|---|---|
| 実行速度 | 高速(並列) | 低速(直列) |
| リソース消費 | 高い(複数サンドボックス) | 低い(単一サンドボックス) |
| 調整の複雑さ | 高い | 低い |
| 競合リスク | あり | なし |
| 最適な用途 | 独立したサブタスク | 依存関係のあるタスク |
❓ よくある質問
Q サブエージェントは自動的に作成されますか?
A App/Web 版では、Codex がタスクの複雑さに基づいて自動的にサブエージェントを作成します。CLI では、明示的に指定するかスキルを通じてトリガーする必要があります。
Q サブエージェント数に制限はありますか?
A サブスクリプションプランによります。Free:最大1、Plus:最大3、Pro:最大10、Business:最大20。
Q サブエージェント同士はどう通信しますか?
A サブエージェントはメインエージェントを通じて調整し、直接は通信しません。メインエージェントが結果を収集し、次のステップを決定します。
Q 1つのサブエージェントの失敗は他に影響しますか?
A いいえ。各サブエージェントは独立して実行されます。単一の失敗は他に影響しません。メインエージェントが失敗したサブタスクを処理します。
Q 手動でサブエージェントを作成するには?
A プロンプトでタスクを明示的に分解すれば、Codex が認識してサブエージェントを作成します。スキルでサブエージェントのワークフローを定義することもできます。
📖 まとめ
- サブエージェントはメインエージェントが作成する補助エージェント、独立して実行
- ユースケース:マルチモジュール並列、多言語翻訳、バッチ処理
- 分解原則:モジュール/ディレクトリ/タイプ別、境界を明確に
- メインエージェントが自動調整、結果集約、競合処理
- 並列化は高速化するが、リソース消費と競合リスクが増加
📝 練習問題
- 基本 (⭐):Codex に中程度の複雑さのタスクを自動的にサブエージェントに分解させて実行する。
- 中級 (⭐⭐):各モジュールが並列開発できるマルチモジュール機能を設計し、サブエージェントの実行を観察する。
- 上級 (⭐⭐⭐):同じタスクを単一エージェントの直列とサブエージェントの並列で比較し、パフォーマンスレポートを作成する。