コース一覧
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 は何がどう違うのか分からないので、当てずっぽうで別の実装を出してきます。運が悪いと、直っていた部分まで作り変わります。

差し戻しにも書き方があります。

3つを揃えて返す

差し戻しに必要な要素は3つです。

プレーンテキスト

入力 何を渡したか 期待 何が返るはずだったか 実際 何が返ったか

この3つが揃うと、AI は自分で再現できます。再現できれば直せます。

プレーンテキスト

悪い 平均の計算がおかしいです 良い average_amount([100, 101]) を呼ぶと 101 が返りました。 小数は切り捨てなので 100 が返るはずです。

下の書き方なら、切り捨てになっていないことが1行で伝わります。上の書き方だと、AI はまず「どこがおかしいのか」を推測するところから始めます。推測させないのが差し戻しのコツです。

エラーは全文を貼る

例外が出たときは、要約せずにそのまま貼ります。

プレーンテキスト

悪い エラーが出ました 良い average_amount([]) で ZeroDivisionError: division by zero が出ました

エラーの種類と、どの呼び出しで出たかが分かれば、原因の候補は一気に絞れます。要約すると、その絞り込みができなくなります。

直った範囲を守る

往復で一番よくある事故が、直したいところ以外まで変わることです。3回やり取りすると、最初に納得したコードが跡形もなくなっていた、ということが起きます。

防ぐには、直す範囲を毎回言い切ります。

プレーンテキスト

average_amount だけを直してください。 total_amount と count_over は変更しないでください。

触ってほしくない場所を名指しする。これを1行足すだけで、差分がずいぶん小さくなります。

3往復で止める

同じ箇所を3回差し戻しても直らないなら、やり取りを続けても直りません。原因はたいてい次のどちらかです。

プレーンテキスト

仕様が曖昧 自分がまだ決めていないことがある 分割不足 1回で頼んでいる量が多すぎる

そのときは往復をやめて、いったん最初の指示に戻ります。決まっていない条件を決めてから、頼み直したほうが速いです。往復は改善のための手段であって、粘る根性を見せる場ではありません。

演習

kakeibo.py の monthly_summary は、月ごとの合計を返す関数です。いまは辞書を返しますが、キーの並びが登録順のままで、月順になっていません。月の昇順に並んだ結果を返すよう差し戻してください。返す形も指示で決めてください。

完成条件

  • 触ってよいのは kakeibo.py だけです
  • 月の昇順に並んだ [月, 合計] のリストのリストを返します
  • monthly_summary 関数の戻り値で採点します

依頼

kakeibo.py の monthly_summary を、月の昇順に並んだ結果を返すよう直してください。返す形を指示で決めてください。

  • ・触ってよいのは kakeibo.py だけです
  • ・月の昇順に並んだ [月, 合計] のリストのリストを返します
  • ・monthly_summary 関数の戻り値で採点します

いまのコード

kakeibo.py

def monthly_summary(records):
    """月ごとの合計を出す"""
    result = {}
    for r in records:
        month = r["month"]
        result[month] = result.get(month, 0) + r["amount"]
    return result

AI への指示

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

ヒント