Codex 利用記録の集計 / コマンド

Codexのコマンド43,540回:失敗は約9回に1回

2026年6月8日から8月11日までにこのPCで動いた Codex の履歴を、スクリプトで数え直しました。どんな種類のコマンドが何回あり、そのうち何回が失敗(終了コードが0以外)で終わったか、1回の依頼がどのくらいの長さだったかを載せます。

運営者1人のPCの記録で、ほかの人の使い方を表すものではありません。コマンドの種類は、コマンド文に特定の語が含まれるかで分けた大まかな分類です。用途までは分けていません。

先に答え:失敗は約9回に1回。『止まらずに続けられる設定』を先に用意しておく価値があります

自分もこの設定で試すべきか:Codex に任せると、終了コード付きの結果が分かるコマンド 43,509 回のうち 4,813 回(11.1%)が失敗で終わっていました。約9回に1回です。失敗が普通に出る前提で、1回の失敗で依頼全体を止めない運用(再試行の指示、AGENTS.md への手順)を先に決める価値があります。

1回の依頼の長さは、真ん中の値で 4.5 分、10分を超えた依頼が 648 回(15.3%)ありました。

記録の条件

項目内容
数えた日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回

課題とコマンド

課題:コマンドの種類ごとの回数と失敗率、1回の依頼の長さを数える。

node aggregate.js
node aggregate3.js
# 画面には件数と分類名だけを出し、本文は出さない

数え方

数え方:対象は、Codex が PC に残している履歴ファイル 215 本のうち、読めた 214 本(2026年6月8日〜8月11日に始まった作業)。1本は大きすぎて読み込みに失敗したため含めていません。数えたのは Node で書いた集計スクリプト(aggregate.js)で、画面にも記録にも本文やコマンドの中身は出していません。出したのは件数と分類名だけです。失敗は、コマンドの出力に Exit code: N が付いていて N が0以外のものです。出力にこの印が無いコマンド(17回)は数えていません。

出力(集計の結果・抜粋)

集計スクリプトが書いた aggregate.json と aggregate3.json の数字から、この面に使った部分です。ほかの項目は載せていません。

{
 "セッション数": 214,
 "読めなかったファイル": 1,
 "コマンド総数_shell_command": 43540,
 "終了コード0": 38696,
 "終了コード0以外": 4813,
 "終了コードの印なし": 17,
 "終了コード別": {
  "0": 38696,
  "1": 4684,
  "2": 7,
  "124": 112,
  "128": 1,
  "9009": 1,
  "-1": 5,
  "-65536": 3
 }
}
{
 "ターン開始": 4493,
 "ターン完了": 4320,
 "中断_interrupted": 47,
 "完了したターンの所要_秒": {
  "件数": 4247,
  "中央値": 270,
  "p90": 791
 },
 "10分超のターン": 648,
 "60分超のターン": 33
}

計測した時間

集計スクリプトかかった時間(実測)
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回の実行です。

使われた道具の内訳(呼び出し回数)

道具名(ログの記録名)回数
shell_command(コマンドの実行)43,540
exec24,285
apply_patch(ファイルの編集)7,942
js4,374
wait2,355
update_plan603
view_image452
spawn_agent(サブエージェントを立てる)117

exec と js が何をする道具かは、中身を読んでいないので分類していません。

結果:種類別の回数と失敗率

コマンドの種類回数うち失敗失敗率
python22,6342,50611.1%
読み取り(Get-Content・cat・ls など)15,6027494.8%
検索(rg・grep・Select-String)7,4731,16515.6%
通信(curl・Invoke-WebRequest・ftp・ssh など)3,2693089.4%
git3,10949616.0%
node2,64459022.3%
書き込み・移動・削除(Set-Content・Remove-Item など)1,8211468.0%
npm・npx・pnpm1,58624215.3%
上のどれにも当てはまらない86512814.8%

1つのコマンド文に複数の語が含まれると、それぞれの種類に数えています(合計は総数と一致しません)。python を含むコマンドが 52% を占めていました。node が最も失敗しやすく 22.3%、読み取り系が最も低く 4.8% でした。

終了コード別では、1が 4,684 回で大半、124(時間切れの終了コード)が 112 回ありました。

ほかに数えたこと

項目数
exec の出力のうち、終了コードの印があったもの12,535 / 24,284(その中で失敗 1,606 回 = 12.8%)
apply_patch の結果に『verification failed』を含むもの337 / 7,942(4.2%)
出力の中に、文字化けでよく見かける文字(縺・繧・蟷エ など)を含むもの3,383 / 53,614(6.3%)。文字で拾っただけの目安
1セッションあたりのターン数真ん中の値 4・最大 481
1セッションあたりのコマンド数真ん中の値 18・最大 8,434
サブエージェントを立てた回数117
履歴の圧縮(compacted)の回数824

数えられなかったもの:exec の出力の約半分(11,749 回)は終了コードの印が無く、成功か失敗かを判定できていません。コマンドの用途(何を作るためのコマンドか)も分類していません。

分かったこと

  • 失敗は特別な事故ではなく、約9回に1回の通常の出来事だった。
  • 文字化けに見える文字を含む出力が、約16回に1回あった(目安の数え方)。同じ日の別の実行でも日本語を含む .ps1 が動かなかった(推論の記録)。
  • 1回の依頼は5分前後が普通で、10分を超えるものも6〜7回に1回あった。待つ前提でほかの作業を並べると進む。

向かない場面

  • 『Codex は9回に1回失敗する』という一般論として使うこと。このPCのこの2か月の作業の記録です。
  • 失敗率の低い種類(読み取り系)を、安全なコマンドの目安にすること。失敗率は安全さを表さない。
  • 文字化けの割合を正確な値として使うこと。文字で拾った目安の数え方。

公式ドキュメント

編集:ちんあなご編集部/最終確認:2026年11月1日。実行日:2026年11月1日。使った CLI:codex-cli 0.162.0-alpha.17.2(Windows)。

EDITED & REVIEWED

編集・検証情報

編集責任
運営者 ちんあなご編集部
最終確認
(実際に実行した日)
更新履歴
(新規掲載)

公式情報、実際の操作で確かめたこと、運営者の判断を区別して記載しています。画面や上限は変わる場合があるため、重要な操作の前に公式資料と現在の画面を確認してください。