Codex で「消してよい根拠」を集めさせ、不要コード・古いフラグ・遅いCIを片づける
OpenAI の社内チームが公開した保守のやり方。Codex にコードだけでなく設定画面・Git 履歴・本番の計測まで調べさせ、「1件1つの小さな下書きPR」で出させる。人のレビュー結果を次のプロンプトに戻しながら範囲を広げ、2週間で1,400件超のPR・80万行超の削除になった。
どんな場面で使う?
- 使われていないコード、終わった実験の Feature Flag、不安定なテスト、遅い CI が溜まっているリポジトリ
- 静的解析だけだと「動的に呼ばれている」「障害時の緊急停止用」のコードを誤って消しそうで手を付けられないとき
手順
- 小さく始める: まず1件だけ見つけさせ、根拠と小さな下書きPRを出させる
- 調べる範囲を広げ、変更は小さく: プロンプト例(要旨)
text
プロジェクト A と B で、値が固定されたままの Feature Flag や放棄された実験に紐づく
まとまった不要コードを見つけて削除して。フラグの現在の設定値、git の履歴、
重なっている PR を確認すること。本番の挙動・運用上の安全装置・緊急停止用のフラグは残す。
1件ごとに小さな下書き PR を作り、設定画面へのリンクを説明に入れて。- 自分のレビューコメントを読ませて、次のプロンプトを作らせる。全体を調べる段階では、列挙型・定数・ラッパー・動的に組み立てた名前など間接的な参照まで追わせ、CPU コストなど実行コストも添えた「担当ごとに並列で進められる」報告書にまとめさせる(設定や本番には触らせない)
- 優先順位は行数より実行コスト。例では、目立たない1行が全フラグに波及して CPU を食っていた。ただし設定で「Permanent」とされていたので、モデルは消さずに人の判断に回した(削除後、そのサービスで推定0.42%の CPU 削減)
- モデルと effort を同じ課題で比べる。100万行規模の検証では、GPT-6 Astra Ultra が142件・$109、GPT-6.1 Sol Ultra が131件・$15、Sol Medium が86件・$5。安い構成の見落としパターン(今回は「他のフラグの依存先になっている定数フラグ」)をプロンプトで補う。新モデルが出たらその補正がまだ要るか見直す
- 範囲を広げる: 1件 → サブディレクトリ → リポジトリ全体
そのまま試せる短いプロンプト(公式記事より、要旨)
- 不安定なテスト: 「最近の CI 実行から flaky なテストを探し、簡単に直せるものだけ直して PR を出して。全部直そうとしなくてよい」
- CI の負荷: 「この repo の CI 負荷を下げる案を表にして、CI 実行履歴から見積もった1日あたりの削減分数で順位をつけて」→ 約30件の PR で CI の中央値が約10分から4.5分に
- AGENTS.md の見直し: 「最近の Codex セッションから、エージェントを誤誘導した AGENTS.md の指示を1つ探し、元のプロンプトを同じスナップショット・同じモデルで、指示ありと指示を直したものの2回再実行して、品質・ツール呼び出し・トークン・時間・コストを比べて」
注意点
- 1,400件の PR は5人が他の仕事と並行して出したもので、レビューは対象コードを知っているチームに振り分けている。人のレビューを前提にした数字
- 提案の中には、得られる効果より複雑さが増えるものもあった。計測と優先順位付けは人が続ける
/goalは Codex の機能。モデル名・金額は記事時点のもの- 関連: Codex にリポ保守を任せ、5分ごとに起きてスレッドへ仕事を振る、新モデルに乗り換えたら「公式プロンプトガイド」を読み、指示を削る
出典
- @suna_gaku 2026-10-20(日本語の要約): @suna_gaku · 2026-10-20 / @suna_gaku · 2026-10-20
- OpenAI 公式ブログ: developers.openai.com