PaPoo
cover

再現できる失敗と、たまたま起きた失敗を分けて見る

同じ失敗に見えても、直すべき場所はぜんぜん違う。そこを混ぜると、Claude Code に何を頼むべきかが毎回ぼやけて、手戻りだけが増える。

ここで分けたいのは、再現できる失敗と、たまたま起きた失敗だ。言い換えると、再現性の確認と偶発エラーの切り分けである。

たとえば、ある文書を並べ替えたら毎回同じファイル名で衝突するなら、それは再現できる失敗だ。入力と手順が同じなら、同じところでつまずく。逆に、たまたま一度だけ同期が遅れてファイルが見えなかった、ネットワークの瞬断でコマンドが落ちた、ディスクが一杯の瞬間だけ保存に失敗した、という類は偶発エラーだ。ここを同じノリで扱うと、Claude Code に「とりあえずもう一回試す」を延々やらせる羽目になる。

筆者は最初、この区別を雑にしていた。ログを見ずに「なんか失敗した」で片づけ、Claude Code に同じ修正を何度も投げたことがある。結果、差分だけが太り、原因は残ったまま。あれはかなりだるい。以後は、まず「再現するのか、しないのか」を先に決めるようにしている。

Claude Code を使うなら、最初の依頼でこの切り分けを明示したほうがいい。単に「直して」では弱い。次のように頼むと、動きがかなり変わる。

# 例: まず再現性の確認を優先させる
この不具合を、再現できる失敗と偶発エラーに分けて整理してください。
まず再現手順を箇条書きで確定し、同じ入力で毎回起きるかを見てください。
再現するなら原因候補を絞り、再現しないなら環境依存や一時的な失敗として扱ってください。

ファイル整理やディスク削減の用途でも同じだ。たとえば「重複ファイルを消したい」と言っても、毎回同じ条件で重複が生まれているのか、たまたま一時フォルダに残っただけなのかで対処が変わる。前者なら生成元を直す。後者なら掃除のルールを決めるだけで済む。

重複ファイルを見つけてください。
ただし、再現できる重複と、今回だけ残った偶発的な重複を分けて見てください。
再現するなら、どの操作や保存手順が同じ名前のファイルを生んでいるのかも追ってください。

ここで大事なのは、Claude Code に「原因を断定させる」ことではない。先に再現性を確認させることだ。再現しない失敗に対して、勢いでコードや文書の構造をいじると、別の場所を壊す。筆者はこれで、ただの一時的なファイルロックを、不要なリネーム処理でごまかそうとして余計にややこしくした。ああいうのは、直した気になって一番まずい。

手順としては、まず失敗の条件を固定する。入力ファイル、実行したコマンド、開いていたアプリ、保存先、権限、空き容量。Claude Code に調べさせるなら、この順で絞るといい。

次の観点で切り分けてください。
1. 毎回同じ入力で再現するか
2. 特定のファイル名やフォルダだけで起きるか
3. 権限や空き容量、同期状態に依存するか
4. 1回だけ起きた偶発エラーの可能性があるか

再現する場合は、最小の再現手順まで落としてください。
再現しない場合は、何が一時的な要因だったかを候補として挙げてください。

このときのコツは、「失敗した結果」より「失敗までの手順」を渡すことだ。Claude Code は手順があると強い。逆に、結果だけ投げると、見当違いの広い修正に走りやすい。特に文書整理やフォルダ整理では、どの順で名前を変えたか、どこから移したか、どの拡張子が絡んだかが重要になる。

偶発エラーは、再試行で消えることがある。だからといって、何でも「たまたま」で済ませるのは危ない。再試行で消えたとしても、その失敗が「よくある一時障害」なのか「環境が不安定なサイン」なのかは別だ。ここを見ないと、あとで同じところでまた止まる。Claude Code にも、単なるリトライで終わらせず、何を確認したかを書かせるのがいい。

この失敗が再試行で消えた場合でも、偶発エラーとして片づけず、
原因候補と確認結果を短く残してください。
特に、ネットワーク、権限、ディスク空き容量、ファイルロック、同期遅延を確認してください。

一歩進めるなら、失敗の記録を「再現する」「再現しない」「条件次第」の3つに分ける習慣をつけると強い。Claude Code に修正を頼む前に、この3分類でメモを作らせると、以後の指示が雑にならない。差分の肥大化も防げるし、同じ失敗を別件として何度も追う無駄も減る。

この問題を次の3つに分類して整理してください。
- 再現する失敗
- 再現しない偶発エラー
- 条件次第で出たり消えたりする失敗

それぞれについて、確認した条件と次に試すことを1行ずつ書いてください。

要するに、失敗を見たらまず「同じ条件でまた起きるか」を切る。そこを飛ばして対処すると、場当たり修正になる。Claude Code はその場しのぎより、条件の切り分けに使ったほうがずっと役に立つ。再現できる失敗は狙って潰す。たまたま起きた失敗は、原因を控えて、再発条件だけ押さえる。そこを分けるだけで、作業の精度が一段上がる。

関連 TIPS

同じ著者の記事