Codex: Codex ワークフローモード
最終更新:2026-08-31
Codex は複数のワークフローモードをサポートしています。タスクの複雑さと自律性のレベルに応じて適切なものを選んでください。
📋 前提条件: Codex の基本操作を理解していること
1. 学ぶ内容
- 3つのワークフローモード
- 各モードに適したシナリオ
- モードの切り替え方法
- ワークフロー設計の原則
2. 3つのワークフローモード
| モード | 自律性レベル | 人間の関与 | 最適な用途 |
|---|---|---|---|
| 質問モード | 低 | 高 | 相談、分析、学習 |
| タスクモード | 中 | 中 | 具体的な開発タスク |
| エージェントモード | 高 | 低 | 複雑なマルチステップタスク |
3. 質問モード
(1) 特徴
- Codex は質問に答えるだけで、コードは変更しない
- インテリジェントな検索エンジン + 技術アドバイザーとして機能
- 最高のセキュリティ
(2) 使用方法
TEXT
📖 参照専用
> Explain React useEffect's cleanup mechanism
> What does this regex match? /\d{3}-\d{4}/
> What's the difference between type and interface in TypeScript?
> How to implement graceful shutdown in Node.js?
▶ 例1:Alice が質問モードで学習
TEXT
📖 参照専用
# Alice が Rust プロジェクトを引き継ぎ、質問モードで素早く理解
> Explain the AST structure in src/parser/mod.rs
> What error handling pattern does this project use?
> Why is Arc<Mutex<T>> used here instead of RefCell<T>?
> Draw me a module dependency diagram
4. タスクモード
(1) 特徴
- Codex がステップバイステップの確認で具体的なタスクを実行
- 最も一般的に使用されるモード
- 自律性と安全性のバランス
(2) 使用方法
TEXT
📖 参照専用
> Add JWT support to the auth module
> Fix the failing test_user_login test
> Convert this.state to React Hooks
> Add rate limiting to the API
(3) タスク分解の原則
| 原則 | 説明 |
|---|---|
| 単一責任 | 一度に1つのタスク |
| 明確な境界 | 変更スコープを指定 |
| 検証を含める | 完了の確認方法を指定 |
| 既存の参照 | スタイルの参照を指定 |
▶ 例2:Bob のタスク分解
TEXT
📖 参照専用
# Bob はユーザー登録を追加する必要がある、以下に分解:
Step 1: "Create User model with email, password_hash, created_at fields"
Step 2: "Implement registration API endpoint POST /api/register with email format validation"
Step 3: "Add password hashing using bcrypt"
Step 4: "Write integration tests for the registration flow"
Step 5: "Add email verification flow"
5. エージェントモード
(1) 特徴
- Codex が自律的にマルチステップタスクを計画・実行
- 人間は最終結果のみレビュー
- 最も効率的だが最もリスクも高い
(2) 使用方法
BASH
# Full Auto モード
codex --full-auto "Migrate the entire project from JavaScript to TypeScript"
# または会話中に切り替え
/mode full-auto
(3) エージェントの動作ループ
graph TB
A[タスクを受信] --> B[分析と理解]
B --> C[ステップを計画]
C --> D[ステップ1を実行]
D --> E[結果を検証]
E --> F{成功?}
F -->|いいえ| G[修正して再試行]
G --> D
F -->|はい| H[ステップ2を実行]
H --> I[継続...]
I --> J[結果を集約]
J --> K[完了を報告]
▶ 例3:Alice のエージェントモード
TEXT
📖 参照専用
# Alice がエージェントモードで大規模なリファクタリングを実行
> Migrate the Express project to Fastify:
> 1. Replace all route definitions
> 2. Update middleware syntax
> 3. Modify startup scripts
> 4. Ensure all tests pass
> 5. Update package.json
# Codex が自律的に実行:
→ Scanning 45 files...
→ Converting routes (32 routes)...
→ Updating middleware (8 files)...
→ Test run: 89/89 passed ✓
→ Updating dependencies...
→ Final test: 89/89 passed ✓
→ Migration complete!
6. モード選択戦略
(1) 決定木
TEXT
📖 参照専用
タスクタイプ?
├── 情報が必要なだけ → 質問モード
├── コードを変更する必要がある
│ ├── 単一の明確なタスク → タスクモード
│ └── 複雑なマルチステップタスク
│ ├── リスクが制御可能 → エージェントモード
│ └── 高リスク → タスクモード(ステップバイステップ)
(2) 選択マトリックス
| タスク | モード | 理由 |
|---|---|---|
| コードロジックの説明 | 質問 | 変更不要 |
| 単一バグの修正 | タスク | 単一で明確 |
| 機能の追加 | タスク | ステップバイステップの確認が必要 |
| プロジェクト全体のリファクタリング | エージェント | 多ステップだがパターンベース |
| データベース移行 | タスク | 高リスク、ステップバイステップの確認が必要 |
| バッチでのテスト生成 | エージェント | 反復作業 |
7. ハイブリッドワークフロー
実際には、3つのモードを組み合わせて使用することが多いです:
TEXT
📖 参照専用
# Alice のハイブリッドワークフロー
1. [質問] "このプロジェクトの認証アーキテクチャは?"
2. [質問] "JWT リフレッシュトークンのベストプラクティスは?"
3. [タスク] "JWT リフレッシュトークンエンドポイントを追加"
4. [タスク] "リフレッシュトークンのユニットテストを書く"
5. [エージェント] "認証モジュール全体をレビューし、すべてのセキュリティ問題を修正"
❓ よくある質問
Q 1つのセッション内でモードを切り替えられますか?
A はい。
/mode コマンドを使用するか、インタラクションスタイルを調整します — 質問スタイルなら質問モード、タスクスタイルならタスクモードです。Q エージェントモードは安全ですか?
A タスクのリスクと承認ポリシーによります。Git セーフティネットと組み合わせて — 操作前にコミット、エラー時はロールバック。高リスクのタスクはタスクモードを使用すべきです。
Q タスクがエージェントモードに適しているかどうかの判断方法は?
A 3つの質問を自問してください:1)ステップは予測可能か? 2)エラーは可逆的か? 3)人間の判断が必要か? すべて「はい」ならエージェント、そうでなければタスクモード。
Q 質問モードはコンテキストを消費しますか?
A はい。各質問と回答はコンテキストウィンドウのスペースを使用します。大量の質問後は
/compact または /new を使用してください。Q どのモードが最もトークンを節約しますか?
A 質問モードが最も経済的 — テキストのみ出力、操作なし。エージェントモードが最も高コスト — 複数回の実行と検証が必要。
📖 まとめ
- 3つのモード:質問(安全)/ タスク(バランス)/ エージェント(効率的)
- 質問モード:相談と分析、コード変更なし
- タスクモード:ステップバイステップの確認、単一責任
- エージェントモード:自律実行、Git セーフティネットと組み合わせ
- ハイブリッド使用で最良の結果
📝 練習問題
- 基本 (⭐):同じトピックで3つのモードを使って異なるタスクを完了し、体験の違いを記録する。
- 中級 (⭐⭐):タスクモードで中程度の複雑さの機能を完了し、タスク分解を実践する。
- 上級 (⭐⭐⭐):ハイブリッドワークフローを設計する — 質問モードで分析、タスクモードで実装、エージェントモードでレビュー。