先に答え:履歴の回数は数えられますが、『どのファイルが消えたか』は履歴からは言えませんでした
自分もこの設定で試すべきか:事故の経緯を後から確かめたい時、Codex の履歴だけに頼るのは足りません。8月3日の履歴には、呼び出しの回数(exec 652 回・shell_command 10 回・apply_patch 1 回)は残っていましたが、再生成がどのファイルを書き換えたかは、回数の集計だけでは分かりません(履歴の中身は読んでいません)。
変更前の本番の退避と、変更後の差分の記録を、人の手で別に残しておく必要があります。
記録の条件
| 項目 | 内容 |
|---|---|
| 数えた日 | 2026年11月1日 |
| CLI の版 | 履歴の中の版は 0.137 から 0.147 まで。今回数えるのに使った CLI は codex-cli 0.162.0-alpha.17.2(Windows) |
| 環境 | Windows 11 の自分のPCに残る Codex の履歴(ChatGPT デスクトップアプリで使った分) |
| 期間 | 最初のセッション 2026年6月8日 〜 最後のセッション開始 2026年8月11日(履歴の中の最後の記録は10月13日) |
| 数え方の単位 | セッション=履歴ファイル1本。ターン=1回の依頼(task_started の記録1件)。コマンド=shell_command という名前の呼び出し1回 |
課題とコマンド
課題:2026年8月2日と3日に、Codex が何の道具を何回呼んだかを数える。
node aggregate2.js
node aggregate3.js
# 画面には件数と分類名だけを出し、本文は出さない
数え方
数え方:対象は、Codex が PC に残している履歴ファイル 215 本のうち、読めた 214 本(2026年6月8日〜8月11日に始まった作業)。1本は大きすぎて読み込みに失敗したため含めていません。数えたのは Node で書いた集計スクリプト(aggregate.js)で、画面にも記録にも本文やコマンドの中身は出していません。出したのは件数と分類名だけです。日付は日本時間です。記録に付いた時刻の日で数えているため、前の日に始まったセッションの続きも、その日の分として数えています。exec は、この道具の中身を読んでいないので、何をする呼び出しかは分類していません。
出力(集計の結果・抜粋)
{
"8月2日": {
"開始したターン": 154,
"exec": 1894,
"shell_command": 6,
"apply_patch": 0,
"それ以外の道具": 259,
"zip を含むコマンド": 2,
"削除系の語を含むコマンド": 71
},
"8月3日": {
"開始したターン": 63,
"exec": 652,
"shell_command": 10,
"apply_patch": 1,
"apply_patchで触ったファイル": {
"追加": 0,
"更新": 2,
"削除": 0,
"HTML": 1
},
"それ以外の道具": 74,
"zip を含むコマンド": 46,
"削除系の語を含むコマンド": 12
}
}
計測した時間
| 集計スクリプト | かかった時間(実測) |
|---|---|
aggregate.js(種類・ターン・パッチ・承認・モデルなどを一度に数える) | 15.9 秒 |
aggregate2.js(承認要求の行方・上限100の日・8月2日と3日の呼び出し) | 15.1 秒 |
aggregate3.js(種類別の失敗・月別の権限・8月2日と3日の詳細) | 17.1 秒 |
最初に aggregate.js を回した時は18.6秒でした。上の表は、集計を作り直して回した時の値です。履歴は圧縮された状態で215ファイル・約2.5GBあります。各1回の実行です。
結果:8月2日と3日の比較
| 項目 | 8月2日 | 8月3日 |
|---|---|---|
| その日に動いたターン数 | 154 | 63 |
exec の呼び出し | 1,894 | 652 |
shell_command の呼び出し | 6 | 10 |
apply_patch の呼び出し | 0 | 1 |
zip や圧縮・展開の語を含むコマンド(apply_patch 以外) | 2 | 46 |
| 削除系の語(Remove-Item・rm・del など)を含むコマンド | 71 | 12 |
8月3日は、zip を含むコマンドが 46 回で、前日の 2 回より多くなっています。当日のメモには『日付つきの作業用の圧縮ファイルから作り直させた』とあり、方向は合っていますが、この回数が再生成そのものを表すかは、中身を読んでいないので言えません。
Codex を始めたセッションの数は、日別に見ると 7月13日が 45 本、7月29日が 36 本と多く、8月3日は 6 本、8月5日は 1 本、最後の8月11日は 13 本でした。8月3日の後は、ほとんど使われていません。
分かったこと
- 履歴は『何回、どの道具を呼んだか』を数えるには使える。『どのファイルを、どう書き換えたか』は、道具の中身を読まないと分からず、秘密が混ざる履歴を読むのは慎重にすべきだと分かった。
- 事故の復旧は、履歴ではなく、変更前の本番の退避(日付と時刻の名前のフォルダ)と、書き足した所に付けた目印のコメントで行えた(当日のメモ)。
- 8月3日に作業を Claude Code へ寄せたことと、Codex のセッション数が8月3日以降ほぼ無くなっていることは、同じ時期に並んでいる。
向かない場面
- この集計で、事故の原因を特定すること。回数しか数えていない。
- zip の回数を、再生成の回数とみなすこと。
- 履歴をそのまま公開したり、第三者に渡したりすること。履歴には作業の本文や接続情報が入るおそれがある。
公式ドキュメント
- Agent approvals & security(OpenAI 公式)(2026年11月1日に開いて確認)
- Sandbox(OpenAI 公式)(2026年11月1日に開いて確認)
