コース一覧
Claude Code入門
差分を読む

Claude Code入門

AIコーディングエージェント「Claude Code」への指示の出し方、生成コードの読み方とレビュー、テストと安全確認、バグ修正から機能追加までの実践ワークフローを、毎レッスン実際にエージェントと開発しながら学びます。入門で自分が書いたおこづかい帳を、AIと一緒に機能拡張していきます。

1
Claude Codeとは
01. AIエージェントとは5分
02. 起動と最初の対話5分
03. はじめての指示5分
04. 動きのしくみ5分
05. つくる:最初の一巡6分
06. 第1章クイズ5分
2
基本操作
01. コードについて質問する5分
02. 修正を依頼する5分
03. 差分を読む6分
04. 動かして確かめる5分
05. 元に戻す5分
06. つくる:操作の一巡6分
07. 第2章クイズ5分
3
良い指示の出し方
01. 要件の伝え方5分
02. 受け入れ条件6分
03. タスクを分割する6分
04. 計画させてから実行6分
05. CLAUDE.mdを書く6分
06. つくる:指示の型6分
07. 第3章クイズ5分
4
レビューと安全
01. 生成コードを読む6分
02. 自分で試験する6分
03. テストを書かせる6分
04. 危険な操作の見極め6分
05. 修正の往復6分
06. つくる:レビュー一巡7分
07. 第4章クイズ5分
5
実践ワークフロー
01. バグ修正を任せる6分
02. 機能追加を任せる6分
03. リファクタを任せる6分
04. ドキュメントを書かせる6分
05. 知らないコードを解説させる6分
06. つくる:ワークフロー実践7分
07. 第5章クイズ5分
6
総合制作
01. 大型機能を共同実装8分
02. 総レビュー7分
03. 任せる/書くの境界6分
04. 自由拡張8分
05. 完成と次のステップ5分

差分を読む

差分は変化そのもの

AI が編集を終えると、変更前と変更後の違いが表示されます。これを差分と呼びます。行の先頭の記号で意味が分かれます。

プレーンテキスト

- 消えた行 + 足された行 そのままの行

コード全体を読み直す必要はありません。変わったところだけを見れば、AI が何をしたかは分かります。差分を読む習慣がつくと、レビューの時間が一気に減ります。

3つの問いで読む

差分を前にしたら、上から順に眺めるのではなく、次の3つを順に確かめます。

プレーンテキスト

1. 頼んだことをやっているか 2. 頼んでいないことをやっていないか 3. 消えた行は、消えてよかったか

1つ目は当たり前に見えて、意外と外れます。似て非なる実装が返ってくるからです。

2つ目が実務で効きます。関数名の変更、import の並べ替え、コメントの削除。足された行より、頼んでいない変更の方が事故になります。

3つ目が最重要です。マイナスの行こそ危険です。足された行はテストで検証できますが、消えた行が守っていた条件は、消えた瞬間にテストからも見えなくなります。

マイナス行を先に読む

差分を読む順番のコツは、プラスより先にマイナスを読むことです。

プレーンテキスト

- if amount <= 0: - continue + total += amount

この差分は、足し算を1行追加したように見えます。実際に起きたのは、マイナス金額を弾いていた条件が消えたことです。プラス行だけ見ていると気づけません。

消えた行を見つけたら、それが何を守っていたかを一言で言えるか自問してください。言えないなら、まだ差分を理解していません。

判断は3択

差分を読んだ結果は、次の3つのどれかになります。

プレーンテキスト

採用 頼んだとおり。取り込む 差し戻し やりたいことは合っているが実装が違う。具体的に指摘して直させる 破棄 方向がずれている。元に戻して依頼から書き直す

迷ったら破棄が正解です。分からないコードを取り込まない。 差分が理解できないということは、そのコードが後で壊れたときにも直せないということです。

今回の演習では、条件を1つ失った関数を直します。何が消えているのかを自分で見つけて、それを指示に書いてください。

完成条件

  • 触ってよいのは kakeibo.py だけです
  • カテゴリは完全一致で比べます
  • totalOfCategory 関数の戻り値で採点します

依頼

kakeibo.py の totalOfCategory は、指定したカテゴリの合計を返すはずなのに、カテゴリを見ずに全部足しています。指定カテゴリだけを足すように直してください。

  • ・触ってよいのは kakeibo.py だけです
  • ・カテゴリは完全一致で比べます
  • ・totalOfCategory 関数の戻り値で採点します

いまのコード

kakeibo.py

def totalOfCategory(records, category):
    """指定したカテゴリの金額を合計する"""
    total = 0
    for r in records:
        total += r["amount"]
    return total

AI への指示

残り 3 回
AI に依頼するにはが必要です

ヒント