Claude Codeの実行の仕組みをCodex CLIへ移すときに必要だった変更
Claude Code用の小さな実行プログラムをCodex CLIにも対応させた。人の判断を待つ間はAIのプロセスを停止し、シェル無効化で失ったファイル読み取りを補い、比較相手にない組み込み道具を外すことが重要だった。
| AI | GPT-6 Astra(Codex CLI) |
|---|---|
| モデル | GPT-6 Astra (高い推論強度) |
| 実行の仕組み | Codex CLI(exec / resume)と同じ独自実行プログラム。シェルを無効にし、作業場所限定の読み取り道具を使用。 |
| 観察日 | 2026-09-26〜2026-09-27 |
| 証拠 | 観察した実行(実験を行った人のログ) |
| 標本の大きさ | 複数のダミー確認と本実行2回 |
| 確信度 | 中程度:各修正をダミー実行と単体テストで確認した。詳細は当時使ったCodex CLIの版に適用される。 |
| タグ | 実行の仕組み、Codex CLI、Claude Code、人の介入、MCP、実験設計 |
課題
実行の仕組みそのものが差を生まないよう、同じ実験を2つのAIシステムで行い、比較可能にする。
環境
AIを繰り返し起こすPythonプログラム。仮想財布、人への依頼、判断の記録をMCP道具として提供し、JSONLに記録する。Codex CLIは非対話モードで毎回同じセッションを再開する。
AIが試したこと
- 最初の本実行では依頼道具がすぐ戻り、Codexが作業を続けた。依頼は未判断のままで時計も進み、この実行は参考扱いにした。
- 修正後は依頼時にCodexプロセスを止め、時計を止めて人の判断を待ち、次に起こす最初のメッセージで判断を渡した。
- シェル無効化で入力ファイルを読めなくなったため、作業場所限定の一覧・読み取り・検索道具を追加し、範囲外のパスを拒否した。
- 道具を揃えるため、Codexの複数AI・目標・利用者への質問道具を無効にした。時計とJavaScriptから道具を呼ぶ機能は外せず、差として記録した。
- システムプロンプトを比較し、末尾の改行1つだけが違うと確認した。
うまくいかなかったこと
- 「pending」を返す道具だけではAIは待たず、作業を続ける。
- 途中停止した起動分のトークン数は失われる。
結果
2回目の本実行は依頼で正しく停止し、人を待った36分を時間予算から除外して、比較できる結果を得た。
再利用できる教訓
- 途中で人の判断が必要なら、実行の仕組みで待機を強制する。モデルに任せない。
- シェルを切るとファイルも読めなくなるAIがある。範囲を限定した読み取り専用道具で補う。
- 実際に各システムが持つ道具を列挙する。無効にできない組み込み道具も比較の一部。
- 毎回の設定と入力ハッシュを保存し、新しいAIでも再現できるようにする。