Codex の核心概念
Codex を使用する前に、いくつかの核心概念を理解することが非常に重要です。これらの概念は Codex の動作の基盤を構成します。
Prompt(プロンプト)
Prompt を送信して Codex と対話し、実行してほしいタスクを説明します。
Prompt の動作ループ
Prompt を送信すると、Codex は次のループで動作します:
- 言語モデルを呼び出してタスクを理解する
- モデルの出力が指示する操作を実行する(ファイルの読み取り、コードの編集、コマンドの実行)
- 操作結果をモデルにフィードバックする
- タスクが完了するか、あなたがキャンセルするまでループを繰り返す
Codex はAgent ループモードで動作します——モデルが操作を指示し、操作結果がモデルにフィードバックされ、タスクが完了するまで繰り返します。
効果のなプロンプトの原則
| 原則 | 説明 | 例 |
|---|---|---|
| 検証ステップを含める | Codex が検証できる場合、出力品質が向上します | "空のリストを処理することをテストケースで検証する関数を書いてください" |
| 複雑なタスクを分解する | 小さなタスクはテストとレビューが容易です | ステップ1:モデルを作成してください。完了したら教えてください。それからステップ2に進みます |
| コンテキストを提供する | 関連ファイルと画像を参照する | "src/auth.py のスタイルを参考にして、同様の機能を実装してください" |
Codex は小さく焦点を絞ったタスクを処理するときに最も良い性能を発揮します。大きなタスクは小さなステップに分割して段階的に実行する必要があります。
Thread(スレッド/セッション)
Thread は単一のタスクセッションです:あなたの Prompt と、その後のモデル出力およびツール呼び出しを含みます。
スレッドの種類
| 種類 | 実行環境 | 特徴 |
|---|---|---|
| ローカルスレッド | あなたのマシン(サンドボックス内) | ファイルの読み書き、既存ツールの使用、コマンドの実行が可能 |
| クラウドスレッド | クラウド上の隔離環境 | リポジトリをクローンして実行、並列タスクに適合、デバイスをまたいだ委任が可能 |
スレッド使用規則
実行中のスレッドは並行実行できますが、次の点に注意が必要です:
- 2つのスレッドが同時に同じファイルを変更することを避ける
- スレッドは後で別の Prompt を続けて送信することで再開できます
- 長時間のタスクではコンテキストが自動的に圧縮される場合があります
Context(コンテキスト)
Prompt を送信するとき、Codex が使用できるコンテキスト——関連ファイルと画像への参照——を含めます。
コンテキストのソース
- IDE 拡張機能:開いているファイルのリストと選択中のテキスト範囲を自動的に含む
- 手動指定:Prompt 内でファイルパスを参照するか、画像を添付する
- 会話履歴:スレッド内の以前の会話内容
コンテキストウィンドウ
スレッド内のすべての情報は、モデルのコンテキストウィンドウに収まる必要があります。
Codex は残り容量を監視して報告します。制限に近づくと、通知を受け取ります。
自動 Compact
長いタスクの場合、Codex はコンテキストを自動的に圧縮することがあります。
圧縮メカニズムは関連情報を要約し、重要度の低い詳細を破棄して、スペースを解放して処理を続けます。
コンテキストの管理
/new
# 現在のコンテキスト使用状況を確認
/status
Codex がコンテキスト使用量が多いと報告した場合、新しいセッションを開始するか、履歴メッセージを減らすことを検討してください。
Sandbox(サンドボックス)
Sandbox は Codex の安全な隔離メカニズムであり、ワークスペース外のファイルが誤って変更されるのを防ぎます。
サンドボックスモード
| モード | ファイル変更 | ネットワークアクセス | 適用シナリオ |
|---|---|---|---|
| Read-only | 禁止 | 禁止 | 読み取り専用分析、コードレビュー |
| Workspace-write | ワークスペースのみ | 禁止 | 日常開発(デフォルト) |
| Full-access | 許可 | 許可 | 完全に信頼できる環境(注意して使用) |
Approval(承認)メカニズム
一部の操作は実行にあなたの確認が必要です:
- Shell コマンドの実行(特に rm、kill など)
- ファイルの変更または削除
- 機密ディレクトリへのアクセス(例:~/.ssh/、/etc/)
- ネットワークリクエスト
サンドボックスモードの設定
codex --sandbox workspace-write
# または Prompt 内で指定する
"このコードを分析してください。ファイルは変更しないでください"
サンドボックスは Codex のセキュリティ戦略の第一防衛線であり、AI の操作が想定範囲を超えないことを保証します。
Approval Policy(承認ポリシー)
承認ポリシーは、Codex が操作を実行する前に確認が必要かどうかを制御します。
ポリシーの種類
| ポリシー | 説明 | 動作 |
|---|---|---|
ask | 毎回確認 | 機密操作の前に確認を要求(デフォルト) |
approve | 自動承認 | 確認なしで自動実行(注意して使用) |
deny | 自動拒否 | 副作用を引き起こす可能性のあるすべての操作を拒否 |
承認ポリシーの設定
approval_policy = "ask"
まとめ
これらの核心概念を理解すると、Codex をより効果的に使用できます:
- Prompt:タスクを明確に記述し、検証ステップを含める
- Thread:タスクセッションを管理し、並行実行ルールに注意する
- Context:関連するコンテキストを提供し、ウィンドウ使用量を監視する
- Sandbox:セキュリティメカニズムを理解し、適切なモードを選択する
よくある質問
Q: Prompt は中国語と英語のどちらを使うべきですか?
Codex は多言語に対応していますが、通常は英語が最も効果的です。中国語を使用する場合は、説明が十分に詳細かつ明確であることを確認してください。
Q: 現在のスレッドの状態を確認するには?
使用する/statusコマンドでスレッド ID、コンテキスト使用量、構成情報を確認します。
Q: コンテキストウィンドウが満杯になったらどうすればいいですか?
新しいセッション(/new)を開始するか、Codex に履歴を自動圧縮させます。
Q: サンドボックスモードは動的に切り替えられますか?
CLI 起動時に指定するか、設定ファイルでデフォルト値を設定できます。
その他の拡張