はじめに
Claude Code と Codex CLI、両方を実務で使い倒している現役CTO(ベンチャー10年)です。
最近、社内・チームの開発フローで 「Planner と Executor を別エージェントに分ける」 運用が定着し、体感の生産性が2倍近くまで伸びました。
この記事では、その分業設計と、実装パターンを紹介します。
なぜ「1つのエージェントに全部やらせる」のは限界があるか
Claude Code 単体に大きなタスクをまるごと投げると、
- 計画フェーズと実装フェーズで思考の粒度が混ざる
- 「ここまで計画」「ここから実装」の境界が曖昧になり、途中で方針が揺れる
- レビュー・差し戻しの時に、計画の意図が分からなくなる
という問題が出てきます。
これは AI モデルの問題というより、ロール(役割)が分離されていない ことに起因します。
人間のチームでも、PM・実装者・レビュアーは別の人がやった方が品質が安定するのと同じです。
3層分業: Planner / Executor / Reviewer
実務で安定してきた構成は、次の3層です。
Planner = Claude Code(タスク理解 → 設計 → タスク分解)
Executor = Codex CLI(分解されたタスクの実装)
Reviewer = Claude Code(別セッション、コードレビューと差し戻し)
ポイント: Reviewer は Planner と別セッションで走らせる。文脈が共有されないことで、客観的なレビューが効きます。
実装パターン1: Planner の出力を「実行可能な仕様」にする
Planner(Claude Code)には、最終的に Executor に渡せる粒度まで分解させます。
あなたは Planner です。以下の要件を読んで、Executor に渡せる粒度のタスクリストに分解してください。
【要件】
ユーザー認証付きの ToDo アプリを Next.js 14 + Supabase で実装する。
【出力フォーマット】
各タスクは次の YAML 形式で書く:
- id: T1
title: Supabase プロジェクト初期化
inputs: なし
outputs: supabase/config.toml, .env.local
acceptance: supabase status が起動済みになる
dependencies: なし
「inputs / outputs / acceptance / dependencies」を必ず書かせると、Executor が迷わずに実装できます。
実装パターン2: Executor は「1タスクだけ」を渡す
Executor(Codex CLI)には、Planner が出した1タスクだけを渡します。
codex exec "
タスク: T3
title: Supabase 認証の実装
inputs: T1, T2 完了
outputs: app/auth/login/page.tsx, lib/supabase/client.ts
acceptance: メール+パスワードでサインインしてダッシュボードに遷移できる
"
Codex CLI は単一タスクの実装が速く、Planner が分解したタスクを順番に処理させると、Claude Code 単体より早く回ります。
実装パターン3: Reviewer は「別セッション・別観点」で走らせる
Reviewer は Claude Code の別セッション(または別タブ)で起動し、観点を明示してレビューさせます。
あなたは Reviewer です。以下のPRをレビューしてください。
(Plannerが立てた acceptance を満たしているか、別観点で検証する)
【観点】
- セキュリティ(認証ロジック、SQL Injection、XSS)
- 例外系(外部API失敗、null安全)
- アクセプタンスクライテリア(acceptance: メール+パスワードでサインインしてダッシュボードに遷移できる)
各観点ごとに「OK / 要修正 / 検討事項」で出してください。
ポイントは Plannerと同じ文脈を渡さないこと。文脈が共有されているとレビューが甘くなります。
ワークフロー全体図
[要件] → Planner(Claude Code) → タスクリスト(YAML)
↓
Executor(Codex CLI)
↓
実装コード
↓
Reviewer(Claude Code 別セッション)
↓
レビュー結果
↓
[必要なら Executor に戻す]
↓
完了
このループを回すと、
- 1つのエージェントに丸投げしていた時より 実装速度1.5〜2倍
- レビューの質が上がり、後戻りが減る
- 各エージェントのコンテキストが軽くなり、トークン効率も良くなる
という効果が出ました。
注意点: 過剰分業はかえって遅い
3層に分けると、当然ながら オーバーヘッド も発生します。
小さいタスク(10行程度の修正、CSS 微調整等)には逆効果です。
目安:
- タスクが1ファイル / 1関数完結 → 1エージェントで OK
- タスクが3ファイル以上 / 認証や決済を含む → 3層分業の効果が出る
- タスクが10ファイル以上 / 設計判断が複数回必要 → 3層分業ほぼ必須
まとめ
| ロール | エージェント | 役割 |
|---|---|---|
| Planner | Claude Code | 要件理解・タスク分解 |
| Executor | Codex CLI | 1タスクずつ実装 |
| Reviewer | Claude Code(別セッション) | 観点明示でレビュー |
「1つのエージェントに全部やらせる」から脱却するだけで、AI 駆動開発のレベルがもう一段上がります。
この設計を実装した個人開発・実務サポートを MENTA でも提供しています → https://menta.work/plan/20251
Claude Code活用の発信は YouTube でも → https://www.youtube.com/channel/UC1rXVD9WYsQPQEWZyd-A1KA/