Codex スキルガイド
タスクの実行
- 新しいセッションの場合(再開セッションは前回のモデル/努力を継承 — 手順5参照)、ユーザーに(
AskUserQuestion経由で)どのモデルとどの推論努力を使うかを、2つの質問を1つのプロンプトにまとめて尋ねます。ユーザーが特に希望しない場合は、gpt-6-astraをhighでデフォルトとします。- モデル — デフォルト
gpt-6-astra:- GPT-6:
gpt-6-astra(最先端 / 最も高性能 — デフォルト) - GPT-5.6:
gpt-5.6-sol(信頼性の高いエージェントワークホース)、gpt-5.6-terra(バランス型、日常使い)、gpt-5.6-luna(高速&低コスト) - レガシー(互換性維持):
gpt-5.5,gpt-5.4,gpt-5.4-mini,gpt-5.3-codex-spark,gpt-5.3-codex
- GPT-6:
- 推論努力 — デフォルト
high:low,medium,high,xhigh,max,ultra。max/ultraは GPT-6 または GPT-5.6 モデルが必要;ultraはastra/sol/terraのみ(lunaはmaxまで);レガシーモデルはxhighまで。ultra= 最大推論かつ自動タスク委任あり(最も低速で高コスト — 最も難しい仕事に限定)。- 選択された努力がモデルの最大値を超える場合、そのモデルがサポートする最大の努力にフォールバックし、その旨をユーザーに伝えます。
- モデル — デフォルト
- タスクに必要なサンドボックスモードを選択します。編集やネットワークアクセスが必要でない限り、デフォルトは
--sandbox read-onlyとします。 - 適切なオプションを指定してコマンドを組み立てます:
-m, --model <MODEL>--config model_reasoning_effort="<low|medium|high|xhigh|max|ultra>"(max/ultra は GPT-6 / GPT-5.6 モデルのみ;ultra は astra/sol/terra のみ — 手順1参照)--sandbox <read-only|workspace-write|danger-full-access>--full-auto-C, --cd <DIR>--skip-git-repo-check"プロンプト"(最後の位置引数として)
- 常に
--skip-git-repo-checkを使用します。 - 以前のセッションを継続する場合は、
codex exec --skip-git-repo-check resume --lastを標準入力経由で使用します。再開時は、ユーザーから明示的に要求されない限り(例:モデルや推論努力を指定した場合)、設定フラグは使用しません。再開の構文:echo "プロンプト" | codex exec --skip-git-repo-check resume --last 2>/dev/null。すべてのフラグはexecとresumeの間に挿入する必要があります。 - 重要: デフォルトでは、すべての
codex execコマンドに2>/dev/nullを追加して思考トークン(stderr)を抑制します。ユーザーが明示的に思考トークンの表示を要求した場合や、デバッグが必要な場合にのみ stderr を表示します。 - 重要(標準入力):
codex execは常に標準入力を読み取り、位置引数のプロンプトと連結します — プロンプトが位置引数として完全に指定されている場合でも同様です。標準入力が閉じられていないと、codex は永久にブロックします。ハーネス(バックグラウンドタスク、フック、標準入力が TTY ではないが閉じられていないスクリプト)から呼び出す場合は、明示的に標準入力をリダイレクトします:コマンドに</dev/nullを追加します(例:codex exec ... "プロンプト" </dev/null 2>/dev/null)。これを間違えると、stdout が0バイト、CPU使用量が0、プロセスが永久にハングしたように見えます。 - コマンドを実行し、stdout/stderr を適切にフィルタリングしてキャプチャし、結果をユーザーに要約します。
- Codex の完了後、ユーザーに次のように通知します:「この Codex セッションは、いつでも「codex resume」と言うか、追加の分析や変更を依頼することで再開できます。」
クイックリファレンス
| ユースケース | サンドボックスモード | 主要フラグ |
|---|---|---|
| 読み取り専用のレビューまたは分析 | read-only | --sandbox read-only 2>/dev/null |
| ローカル編集の適用 | workspace-write | --sandbox workspace-write --full-auto 2>/dev/null |
| ネットワークまたは幅広いアクセスを許可 | danger-full-access | --sandbox danger-full-access --full-auto 2>/dev/null |
| 最近のセッションを再開 | 元のセッションから継承 | echo "プロンプト" | codex exec --skip-git-repo-check resume --last 2>/dev/null(フラグ不可) |
| 別のディレクトリから実行 | タスクのニーズに合わせる | -C <DIR> および他のフラグ 2>/dev/null |
実行タイムアウト
Codex は中間出力を生成しません — 完了時にのみ結果を書き込みます。処理が完了前に強制終了された場合、出力ファイルは黙って空になります(エラーなし)。
推奨アプローチ: 同期的に実行する — タイムアウトのリスクを完全に排除し、会話は結果を待つことになります。
バックグラウンドで実行する場合、推論努力に基づいて実行タイムアウトを設定します:
| 推論努力 | タイムアウト |
|---|---|
low | 150秒 |
medium | 300秒 |
high | 600秒 |
xhigh | 1200秒 |
max | 1800秒 |
ultra | 1800秒 |
フォローアップ
- すべての
codexコマンド実行後、すぐにAskUserQuestionを使用して次のステップを確認したり、明確化を求めたり、codex exec resume --lastで再開するかどうかを判断します。 - 再開する場合は、新しいプロンプトを標準入力経由でパイプします:
echo "新しいプロンプト" | codex exec resume --last 2>/dev/null。再開されたセッションは、元のセッションと同じモデル、推論努力、サンドボックスモードを自動的に使用します。 - フォローアップアクションを提案する際は、選択したモデル、推論努力、サンドボックスモードを再表明します。
Codex 出力の批判的評価
Codex は OpenAI モデルを搭載しており、それぞれに知識の期限や制限があります。Codex を権威ではなく同僚として扱ってください。
ガイドライン
- 自信がある場合は自身の知識を信頼してください。Codex が誤っていると認識した主張をした場合は、直接反論してください。
- Web検索やドキュメントを使用して意見の相違を調査し、Codex の主張を受け入れる前に確認してください。必要に応じて再開機能を介して調査結果を Codex と共有してください。
- 知識の期限を覚えておいてください — Codex は、トレーニングデータ後に発生した最近のリリース、API、変更について知らない可能性があります。
- 盲目的に従わないでください — Codex は間違っている可能性があります。特に以下の点について、その提案を批判的に評価してください:
- モデル名と機能
- 最近のライブラリバージョンやAPI変更
- 進化した可能性のあるベストプラクティス
Codex が間違っている場合
- ユーザーに対して明確に自身の反論を伝えます
- 証拠(自身の知識、Web検索、ドキュメント)を提示します
- 必要に応じて Codex セッションを再開し、意見の相違について議論します。自身を Claude として特定し、Codex が対等な AI 同士の議論であると認識できるようにします。ハードコードされた名前ではなく、実際のモデル名(例:現在実行中のモデル)を使用してください:
echo "これは Claude(<現在のモデル名>)からのフォローアップです。[X]について[証拠]の理由で同意しません。これについてどう思いますか?" | codex exec --skip-git-repo-check resume --last 2>/dev/null - 意見の相違を修正ではなく議論として位置付けます — どちらの AI も間違っている可能性があります
- 真に曖昧な場合は、ユーザーに今後の対応を任せます
エラーハンドリング
codex --versionまたはcodex execコマンドがゼロ以外の終了コードで終了した場合は、停止して失敗を報告し、再試行する前に指示を仰ぎます。- 影響の大きいフラグ(
--full-auto、--sandbox danger-full-access、--skip-git-repo-check)を使用する前に、AskUserQuestionを使用してユーザーの許可を求めます(既に許可が得られている場合を除く)。 - 出力に警告や部分的な結果が含まれている場合は、それらを要約し、
AskUserQuestionを使用して調整方法を尋ねます。