メインコンテンツへスキップ

報告と差分を突き合わせる

  • レッスン 4
  • 10分

このレッスンで

終わる頃には、次ができるようになります

  • 報告が嘘でなくても、変わったものをすべて説明していない場合があると理解できる
  • 頼んでいない変更・確認が甘くなった箇所・新しく増えたものという3つの見落としパターンを説明できる
  • 自分のClaude Codeセッションで、報告を読む前に差分を確かめる習慣を持てる

Claudeに作業を頼むと、最後に「できました」という報告が返ってきます。何を変えたかの箇条書きと、テストが通ったという一言。読むとほっとして、そのまま次の作業に進みたくなります。

この報告は、たいてい嘘ではありません。それでも、変わったものをすべて説明しているとは限らないという点が、このレッスンの主題です。


報告は本当でも、全部ではないことがある

/diffコマンドは、作業ツリーの変更を、Claudeがここまでに加えた編集も含めてまとめて見せてくれます。報告だけで終わらせず、この差分を自分の目で開く一手間が、見落としを防ぐ最後の砦になります。

見落としがちなパターンは、だいたい3つに絞れます。

頼んでいない変更

本来の依頼とは関係のない箇所が、ついでに書き換わっている

確認が甘くなった箇所

既存のテストがスキップされたり、中身を確かめない形に緩められたりしている

新しく増えたもの

依頼の実現に本当は要らない外部ライブラリや設定値が、静かに追加されている

報告に出てこない3つのパターン

具体例で確かめる

会議室の予約アプリを想像してください。Claude Codeに「同じ会議室・同じ時間帯の二重予約を防ぐチェックを追加して」と頼みました。返ってきた報告はこうです。

Claudeの報告
$同じ会議室・同じ時間帯の二重予約を防ぐチェックを追加して
二重予約のチェックを追加しました
予約が重なっている場合は、注意メッセージを表示するようにしました
テストはすべて通っています

嘘は書かれていません。実際に差分を開くと、こうなっていました。

+import { format } from "moment";
+
 function createBooking(room, start, end) {
+  if (hasOverlap(room, start, end)) {
+    throw new Error("この時間帯はすでに予約されています");
+  }
   return saveBooking(room, start, end);
 }

-test("過去の日付は予約できない", () => {
-  expect(() => createBooking(room, pastDate, pastDate)).toThrow();
-});
+test.skip("過去の日付は予約できない", () => {
+  expect(() => createBooking(room, pastDate, pastDate)).toThrow();
+});

-const NOTIFY_EMAIL = "office@example.com";
+const NOTIFY_EMAIL = "kanri-test@example.com";

3つのパターンに当てはめると、こう見えます。新しく増えたものとして、二重予約のチェックには使っていない外部ライブラリが1行増えています。確認が甘くなった箇所として、過去の日付を予約できないことを確かめる既存のテストが、test.skipで無効化されています。頼んでいない変更として、予約通知の送信先が本番のアドレスからテスト用のアドレスに書き換わっています。

どれも報告の3行には出てきません。「テストはすべて通っています」という一文は、スキップされたテストを合格として数えてしまう場合があるという事実まで含めて読むと、印象が変わってきます。


やってみよう

演習1:次の一回を、自分で試す

次にClaudeが変更を報告してきたら、結論を読む前に3つを自問してください。頼んでいない変更はないか。確認が甘くなった箇所はないか。新しく増えたもの(ライブラリ・設定値・環境変数)はないか。実際に/diffを開き、3つそれぞれに「ある/ない」を書き出してみましょう。

演習2:見つけたものを1行に言い換える

見つけた違和感があれば、「〜が変わった」という現象の言い方ではなく、「なぜ気になるか」まで1行で言い換えてみてください。次のレッスンでは、この違和感を直す・尋ねる・置くの3つに仕分ける方法を扱います。


今日のまとめ

3行で振り返ります。

  • Claudeの報告は嘘ではないことが多いが、変わったものをすべて説明しているとは限らない
  • 見落としがちなパターンは、頼んでいない変更・確認が甘くなった箇所・新しく増えたものの3つに絞れる
  • 報告を読んで終わらせず、/diffで差分そのものを自分の目で確かめる一手間が見落としを防ぐ

次のレッスンでは、差分から見つけた指摘を、直す・尋ねる・置くの3つに仕分けるレビューの習慣を扱います。

セルフチェック

1. 本文の会議室予約アプリの例で、「新しく増えたもの」に当たる変更はどれですか。

2. 報告に出てこない見落としのパターンとして、本文で挙げられた3つの組み合わせはどれですか。

3. 「テストはすべて通っています」という報告について、本文が注意を促している点はどれですか。

SourceDOCUMENTATION
Claude Code 公式: Commands

/diffコマンドの説明を含む、組み込みスラッシュコマンドの一覧

Webcode.claude.com/docs
code.claude.com/docs/en/commands
SourceAMPL LEARN
次のレッスンへ レビューし、指摘を仕分ける

見つけた指摘を直す・尋ねる・置くの3つに仕分ける方法を扱います

次のレッスン
amplinc.com/learn/claude-code-habits/05-review-and-triage

このレッスンは役に立ちましたか?