◀ ガイドTOP マルチエージェント
対象 並列開発を実践したい上級者
達成目標 Worktree並列実行とCloud Tasksを活用できる
前提知識 章1-5の理解
所要時間 20分

マルチエージェント

Codexの並列実行機能を活用して、複数のタスクを同時に進める方法。Worktree統合、Cloud Tasks、Agents SDK連携を解説します。

Worktree並列実行

Codex AppにはビルトインのWorktree対応が組み込まれています。各エージェント(スレッド)がリポジトリの隔離されたコピー上で作業するため、ブランチの競合やチェックアウトの衝突が発生しません。

Worktreeの仕組み

Gitの git worktree 機能を内部で利用し、各スレッドに専用の作業ディレクトリを自動的に割り当てます。

✅ Tip

Worktree対応により、「フロントエンドのバグ修正」と「バックエンドの新機能追加」を同時に進行させても、互いの作業が干渉しません。これはCodexのマルチエージェント運用の基盤となる重要な機能です。

Appでのマルチスレッド

Codex Appでは、複数のスレッドを同時に実行できます。各スレッドは独立したCodexエージェントとして動作し、それぞれが専用のWorktreeで作業します。

マルチスレッドの操作

典型的なマルチスレッド構成
スレッド1: "認証モジュールのリファクタリング" → worktree: .codex/worktrees/thread-1/ → branch: codex/refactor-auth スレッド2: "APIエンドポイントのテスト追加" → worktree: .codex/worktrees/thread-2/ → branch: codex/add-api-tests スレッド3: "READMEの更新" → worktree: .codex/worktrees/thread-3/ → branch: codex/update-readme

1スレッド=1タスク

マルチスレッド運用で最も重要な原則は、1スレッドに1プロジェクトではなく、1スレッドに1タスクを割り当てることです。

なぜ1タスクなのか

⚠️ Warning

「このプロジェクト全体を改善して」のような曖昧で大きなタスクは避けましょう。「ログイン画面のバリデーションエラーを修正」「ユーザー一覧APIにページネーションを追加」のように、具体的で範囲が限定されたタスクに分割してください。

タスク分割の例

悪い例: 1スレッドに複数タスク

"認証を修正して、テストを追加して、ドキュメントも更新して"

良い例: タスクごとにスレッド分割

スレッド1: "認証のトークン検証バグを修正" / スレッド2: "認証APIのテストを追加" / スレッド3: "認証ドキュメントを更新"

Cloud Tasks

codex cloud コマンドにより、タスクをクラウド環境で実行できます。ローカルマシンのリソースを消費せずに、バックグラウンドでCodexエージェントを動作させる仕組みです。

基本的な使い方

Terminal
# クラウドでタスクを起動 codex cloud "テストスイート全体を実行してカバレッジレポートを生成" # クラウドタスクの状態確認 codex cloud --status # 結果のトリアージ codex cloud --review

Cloud Tasksの利点

📝 Note

Cloud Tasksはクラウドサンドボックスで実行されるため、ローカルのサンドボックス設定とは独立しています。ネットワークアクセスやファイルシステムの制約はクラウド側の設定に従います。

Agents SDK連携

OpenAI Agents SDKを使うと、複数のCodexインスタンスをプログラマティックにオーケストレーションできます。MCP経由でCodex CLIをツールとして組み込み、決定論的なパイプラインを構築します。

オーケストレーションパターン

Python (Agents SDK)
from agents import Agent, Runner from agents.mcp import MCPServerStdio # Codexをツールとして接続 codex = MCPServerStdio(command="codex", args=["--mcp-server"]) # 分析エージェント analyzer = Agent( name="analyzer", instructions="コードベースを分析し、改善すべき箇所を特定する", mcp_servers=[codex] ) # 実装エージェント implementer = Agent( name="implementer", instructions="分析結果に基づいてコードを修正する", mcp_servers=[codex] ) # レビューエージェント reviewer = Agent( name="reviewer", instructions="変更をレビューし、品質を検証する", mcp_servers=[codex] ) # パイプライン実行 async def pipeline(): analysis = await Runner.run(analyzer, "src/ の品質問題を特定") fix = await Runner.run(implementer, f"以下の問題を修正: {analysis}") review = await Runner.run(reviewer, f"以下の変更をレビュー: {fix}")
✅ Tip

Agents SDKによるオーケストレーションは、CI/CDパイプラインの一部としてCodexを組み込む場合に特に有効です。分析 → 実装 → レビューの一連のフローを完全に自動化できます。

Claude Code並列運用との比較

CodexとClaude Codeは、マルチエージェント運用のアプローチが異なります。それぞれの特徴を理解して、プロジェクトに適した選択をしましょう。

項目 Codex Claude Code
Worktree管理 ビルトイン(自動管理) 手動(git worktree add
並列実行 App内マルチスレッド 複数ターミナル / Agent Teams
クラウド実行 codex cloud コマンド なし(ローカル実行のみ)
オーケストレーション Agents SDK + MCP MCP / サブエージェント
セットアップ App起動のみ 各Worktreeで手動セットアップ
タスク管理UI App内ダッシュボード ターミナルベース
適したユースケース 大量の並列タスク、クラウド処理 深い推論、複雑な単一タスク
📝 Note

Codexの強みはビルトインWorktreeとクラウド実行による「スケーラブルな並列処理」です。一方、Claude CodeはAgent TeamsやSubagentによる「深い推論と柔軟なワークフロー」に優れています。両者を組み合わせるハイブリッド運用も効果的です。