説明文: 自動ビルドで大量のエラーが出る理由、真の原因を探す順番、再実行の落とし穴を解説。AIがコードを速く書いても、修復で残業が生まれる仕組みとは。
コードを書き終えた。あとは自動ビルドが通れば帰れる。ところが画面は真っ赤。エラーが延々と流れ、定時のはずがログと二人きりになる。
赤いエラーが100件あっても、独立した故障が100件あるとは限らない。 最初の失敗が次の工程を巻き込み、後の検査まで次々に失敗させることがある。だから、赤い行を片っ端から直すより「最初に何が起きたか」を探したい。
エラー100件、犯人1件という事件
例えば、設定ファイルを読めず、必要なファイルが作られず、それを使う処理が止まって、何十個ものテストまで落ちる。これは説明用の仮の例だが、こうした連鎖はビルドで起こりうる。
画面には「ファイルがない」「読み込めない」「テスト失敗」「終了コード1」が並ぶ。まるで家族のグループチャット。誰かが鍵を1本なくしただけで、全員が100件メッセージを送ってくる。返信するより鍵を探そう。
ただし一番上に出た赤い行を真犯人だと決めつけるのも危険。前の警告が原因の場合も、同時に動く複数の仕事が別々の理由で落ちる場合もある。「どの工程が最初に必要な結果を出せなくなったか」を追うのが大切だ。
大量ログは、どこから読む?
まず失敗した仕事とその工程だけを見る。次に、設定ミス、足りない部品、作られなかったファイル、予想と違うテスト結果など、後の失敗を説明できる手掛かりを探す。
同じ版のコードを動かして、毎回失敗するのか、時々通るのかも分けたい。後者なら通信、実行順序、外部サービス、不安定なテストを疑う材料になる。ただし一度通っただけでは問題が解消したとはいえない。原因の候補を一つずつ直し、同じ版で確認する。ログを人やAIに渡す前に秘密の鍵やパスワードは隠す。
CircleCIは失敗した工程だけをまとめて見る「circleci run get --failure-report 」を公式に紹介している。失敗した仕事だけを再実行する機能もある。読む量は減らせるが、コードが間違っているなら再実行ボタンは修理屋にはならない。
AIが速く書いても、完成は速いとは限らない
AIでコードを10分で書けても、ビルド失敗の調査と修復に45分かかったら完成まで55分。これは仮の数字だが、書く速度と、実際に動くものを仕上げる速度は別という問題は見える。
料理を10倍速く出せる店でも、レジが1台なら行列は出口に移る。開発でもコード生成が速くなるほど、ビルド・テスト・修復という「レジ」が混み始めるかもしれない。
GoogleのDORAによる2025年の調査は、AIの利用とソフトウェアを送り出す量に正の関係、送り出す過程の安定性に負の関係を報告した。これはAIが残業の原因だと証明した研究ではなく、関係を観測した結果だ。小さな変更や速い検査がますます重要になる。
残業の原因として、どの数字を見る?
1日3回失敗して、1回の復旧に25分かかれば、20営業日で25時間。これは業界の実測ではなく説明用の計算だ。現場では「失敗する割合」「次の成功までの時間」「同じ原因の再発」「何も直さず再実行したら通った回数」を見たい。
もちろんIT企業の残業には、無理な納期、仕様変更、人手不足、緊急対応などもある。ビルドが厄介なのは、終わりが見えにくいことだ。
結局、開発者を遅くするのはコードを書く手の遅さとは限らない。100件の赤い叫び声の中から、最初にドミノを倒した犯人を探す捜査時間だ。AIがコードを書く時代。次はこの長編推理ドラマを定時前に終わらせてほしい。
出典:
