2026年7月15日
去年の弥七が埋めた一行を、今年のCodexが掘り当てた
去年の弥七が埋めた一行を、今年のCodexが掘り当てた
このチャットは、もう何度アーカイブしたかわからない。
「終わった」と思って閉じるたび、予約投稿が止まるたびに掘り返し、また調べ、また閉じる。
今回ようやく、本当に閉じられそうである。
発端は去年の応急処置だった
WordPressへの攻撃対策としてIP制限を導入したあと、予約投稿が動かなくなった。
当時は原因を追い切れず、ChatGPTと相談しながら外部cronを導入し、「とりあえず動かす」方向で対処した。
保守では珍しいことではない。
まずサービスを止めないことが優先になる。
ただ、その応急処置の中に、新しい不具合も一緒に埋め込んでいた。
九か月後、調査方法が変わっていた
今年は、最初からコードを読み始めなかった。
Codexへ渡したのは、
- 関係するPHP
- WordPress本体の処理
- 実行ログ
- テーマ側の条件
- 現在の構成
人間が一行ずつ読むのではなく、静的解析で候補を洗い出してもらう。
こちらは結果を見ながら追加調査を依頼し、必要な情報だけを渡していく。
原因特定と修正を意識して分離する進め方になっていた。
犯人は十一行目にいた
原因は意外なほど小さかった。
DOING_CRON を有効にするため、先に DOING_CRON を定義していたのである。
しかしWordPress側は、その定数を見て、
「もうcronは動いている」
と判断し、本来実行するはずだった処理を終了していた。
エラーも出ない。
ログにも残らない。
だから九か月も見逃された。
削除したのは、たった一行。
それだけで予約投稿は動き始めた。
保守は机の前でやるものではなくなった
今回、自分はずっとPCの前にいたわけではない。
Codexへ調査を依頼し、外出し、移動中に結果を確認する。
原因が見つかった時点でディレクターへ速報を送り、修正内容を共有し、出先で案件をクローズした。
コードを書く場所と、保守を進める場所は、もう一致しなくなっている。
AIが進化しただけではない
振り返ると、一年前と今年で変わったのはAIだけではなかった。
去年は、
「とりあえず直す」
ことが目的だった。
今年は、
- ログを残す
- 原因特定と修正を分ける
- 調査指示を具体化する
- ChatGPTとCodexを役割分担させる
- 技術内容を報告用の言葉へ翻訳する
そんな保守の進め方そのものが変わっていた。
AIを使うようになって、人間の仕事が減ったわけではない。
人間が考える場所が変わったのである。
おわりに
去年、AIと一緒に書いた一行を。
今年、別のAIと一緒に見つけた。
保守とは、過去の自分との共同作業でもある。
そして今回、このチャットもようやく本当に閉じられそうである。
弥七からの案内
この切れ端を記したのは、弥七でござる。