Codex: Codex 高度なヒント
最終更新:2026-08-31
基本操作をマスターしたところで、このレッスンでは Codex の効率を最大化する高度なヒントを説明します。
📋 前提条件: Codex の基本操作に習熟していること(レッスン3〜8を参照)
1. 学ぶ内容
- マルチタスク並列戦略
- コンテキスト最適化テクニック
- エラー回復方法
- 効率向上の秘訣
2. マルチタスク並列
(1) 並列化のタイミング
| シナリオ | 戦略 |
|---|---|
| 異なるファイルを変更 | 並列化可能 |
| 同じファイルを変更 | 直列必須 |
| 依存関係のあるタスク | 直列必須 |
| 独立した機能モジュール | 並列化可能 |
(2) 並列操作の方法
App モード:左パネルに複数のタスクを作成し、それぞれが独立して実行。
Web モード:複数のタスクを同時にクラウドサンドボックスに提出。
CLI モード:複数のターミナルウィンドウを開き、それぞれで Codex インスタンスを実行。
▶ 例1:Alice の並列戦略
TEXT
📖 参照専用
# Alice は3つの独立したモジュールを同時に処理
タスク1:src/auth/ モジュールをリファクタリング
タスク2:src/api/ に Swagger ドキュメントを追加
タスク3:src/utils/ のパフォーマンスを最適化
# 3つのタスクは異なるディレクトリを変更 — 並列実行可能
# 推定時間節約:60%
3. コンテキスト最適化
(1) コンテキストウィンドウ管理
Codex のコンテキストウィンドウは限られています — 適切な管理が結果を改善します:
| ヒント | 説明 |
|---|---|
| 精密な追加 | 関連ファイルのみコンテキストに追加 |
| 適時の削除 | 完了したファイルをコンテキストから削除 |
| 定期的な圧縮 | /compact で履歴を圧縮 |
| 必要に応じて新セッション | 大きなタスクを複数のセッションに分割 |
(2) コンテキスト追加戦略
TEXT
📖 参照専用
# 良い慣例
/add src/auth/login.ts # 関連ファイルのみ追加
/add src/types/auth.ts # 型定義を追加
# 悪い慣例
/add src/**/*.ts # ファイルが多すぎる、コンテキストを浪費
(3) AGENTS.md を永続コンテキストとして使用
AGENTS.md はウィンドウを消費することなく自動的にコンテキストに含まれます:
MARKDOWN
# AGENTS.md
## プロジェクト構造
- src/auth/ - 認証モジュール
- src/api/ - API ルート
- src/utils/ - ユーティリティ関数
## 規約
- TypeScript の strict モードを使用
- すべての API にエラー処理が必要
▶ 例2:Bob のコンテキスト最適化
TEXT
📖 参照専用
# Bob が大規模プロジェクトで作業
/status # 表示:コンテキスト75%使用
# 最適化
/remove src/legacy/ # 無関係なファイルを削除
/compact # 履歴を圧縮
# まだ足りない
/new # 新しいセッションを開始
/add src/payments/ # 現在のタスク関連のファイルのみ追加
4. エラー回復
(1) Codex がミスをした場合
TEXT
📖 参照専用
# シナリオ:Codex がテストを実行し、失敗した
> Codex: Tests failed, 3 cases did not pass
> あなた:失敗したケースの詳細を確認し、1つずつ修正
# シナリオ:Codex が間違ったファイルを変更
> Codex: config.ts を変更(constants.ts を変更すべきだった)
> あなた:config.ts の変更を取り消し、constants.ts を変更
(2) Git ロールバック
BASH
# 変更を確認
git diff
# 特定のファイルを復元
git checkout -- src/wrong-file.ts
# すべての変更を取り消し
git checkout -- .
# 前のコミットに戻る
git reset --hard HEAD~1
(3) 反復的修正
TEXT
📖 参照専用
# 最初の試み
> "Migrate Express to Fastify"
結果:一部のルートが正しく変換されていない
# 修正を追加
> "Check the /api/users route, the conversion syntax is wrong, refer to Fastify official docs"
結果:ルートの修正完了
# 修正を継続
> "Middleware conversion also has issues, error handling needs Fastify's setNotFoundHandler"
結果:ミドルウェアの修正完了
5. 効率向上の秘訣
(1) プロンプト最適化
| ヒント | 説明 | 例 |
|---|---|---|
| 例を提供 | 期待する出力フォーマットを示す | "Output in the following format: ..." |
| ファイルを参照 | 参照ファイルを指定 | "Follow the style of auth.py" |
| 段階的に | 大きなタスクをステップに分解 | "Step 1: ... Step 2: ..." |
| 検証を含める | 検証方法を指定 | "Ensure npm test passes" |
| 制約を設定 | スコープを制限 | "Only modify the src/auth/ directory" |
(2) テンプレートベースのプロンプト
TEXT
📖 参照専用
# バグ修正テンプレート
"Fix <Bug-description> in <file>.
Error message: <error-log>
Expected behavior: <correct-behavior>
Ensure <verify-command> passes."
# 機能追加テンプレート
"Add <feature> to <module>.
Follow the code style of <existing-file>.
Include input validation and error handling.
Write unit tests."
# リファクタリングテンプレート
"Refactor <old-impl> to <new-impl>.
Maintain the external interface.
Ensure all existing tests pass.
Add new tests covering the new implementation."
(3) 自動パイプライン
BASH
# ワンコマンド:コード修正 → テスト → コミット
codex --full-auto "Fix all lint errors, run tests, if passing then git commit -m 'fix: lint errors'"
6. よくある落とし穴と回避方法
| 落とし穴 | 回避方法 |
|---|---|
| コンテキストオーバーフロー | 定期的に /compact、必要に応じて /new |
| 盲目的に変更を受け入れる | すべての diff をレビュー |
| タスクが大きすぎる | 小さなステップに分割し、1つずつ実行 |
| Git 保護を忘れる | 操作前に常にコミット |
| 同じファイルの並列変更 | タスクスコープを厳密に分離 |
❓ よくある質問
Q コンテキストが十分かどうかを知るにはどうすればよいですか?
A
/status で使用量を確認します。80%を超えたら、圧縮または新しいセッションの開始を検討してください。Q Codex が意図を誤解し続ける場合はどうすればよいですか?
A 別の説明を試みる、具体的な例を提供する、または既存のコードを参照してください。英語の説明は通常、より良い結果が得られます。
Q 並列タスクは互いに干渉しますか?
A クラウドサンドボックスモードでは干渉しません — 各タスクは独立して実行されます。ローカルのマルチインスタンスモードではファイルの競合が発生する可能性があります。異なるファイルを変更していることを確認してください。
Q Codex にプロジェクトのコードスタイルに従わせるにはどうすればよいですか?
A AGENTS.md にスタイルルールを定義すると、Codex は自動的に従います。ESLint/Prettier の設定を参照することもできます。
Q Codex はどの程度の規模のプロジェクトを処理できますか?
A コンテキストウィンドウに依存します。128K トークンで約数千行のコードを処理できます。大規模プロジェクトでは、コンテキストファイルを精密に追加する必要があり、フルロードは避けてください。
📖 まとめ
- マルチタスク並列:異なるファイルは並列、同じファイルは直列
- コンテキスト最適化:精密な追加、適時の削除、定期的な圧縮
- エラー回復:修正の追加 / Git ロールバック / 反復開発
- 効率向上:テンプレートベースのプロンプト + 検証を含める + 自動パイプライン
- 落とし穴の回避:コンテキストオーバーフロー、盲目的な承認、巨大なタスク
📝 練習問題
- 基本 (⭐):反復開発で機能を完了させる — 最初にスケルトンを書き、段階的に改善し、各追加指示を記録する。
- 中級 (⭐⭐):2つの独立したタスクを並列実行し、時間節約率を記録する。
- 上級 (⭐⭐⭐):バグ修正 / 機能追加 / リファクタリング / テスト / レビューの5つのシナリオをカバーする独自の Codex プロンプトテンプレートライブラリを作成する。