コース一覧
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分

動かして確かめる

読めても、動くとは限らない

差分を読んで納得できたとしても、それは書いてあることが正しく見えるというだけです。実際に動くかどうかは別の話です。

プレーンテキスト

読んで分かること 何をしようとしているか 動かして分かること 本当にそうなるか

読みで見抜けない不具合は、たとえば次のようなものです。関数名の綴り違い、辞書の鍵の名前違い、リストが空のときだけ起きるエラー。どれも文章としては自然に読めます。走らせるまで気づけません。

変更のあとは必ず動かす。 例外はありません。

3つの入力で叩く

適当に1回動かして終わりにすると、意味のある検証になりません。最低でも次の3つを試します。

プレーンテキスト

普通の入力 何件かある、ありふれた記録 端の入力 空、1件だけ、ゼロ円 変な入力 マイナス、想定外のカテゴリ

AI が壊しがちなのは2つ目と3つ目です。普通の入力は AI も頭の中で試しているので、たいてい通ります。端と例外を自分で試すのが、人間側の仕事になります。

期待値を先に決める

動かす前に、答えを自分で出しておいてください。

プレーンテキスト

悪い 動かしてみる。1300 と出た。合ってそう 良い 食費が500と800だから1300のはず。動かす。1300。合っている

先に期待値を決めないと、出てきた数字を見てから「たぶんこれで合っている」と自分を納得させてしまいます。これは検証ではなく追認です。

先に答えを持ってから走らせる。 順番を逆にしないでください。

壊れていたら、壊れ方ごと伝える

動かして違う結果が出たら、そのまま AI に戻します。このとき、入力と期待値と実際の値を3つ揃えて渡します。

プレーンテキスト

悪い 動きません 良い 空のリストを渡すと KeyError が出ます。0を返してほしいです

「動きません」では、AI は当てずっぽうで直します。再現できる情報を渡せば、1回で直ります。修正の往復は第4章でくわしく扱います。

今回の演習では、平均を出す関数を直します。記録が空のときにどうなるかを、自分の頭で先に考えてから指示を書いてください。

完成条件

  • 触ってよいのは kakeibo.py だけです
  • 平均の小数部分は切り捨て、戻り値は整数にします
  • averageAmount 関数の戻り値で採点します

依頼

kakeibo.py の averageAmount は、記録が空のときにエラーになります。空のときは0を返すように直してください。小数は切り捨てです。

  • ・触ってよいのは kakeibo.py だけです
  • ・平均の小数部分は切り捨て、戻り値は整数にします
  • ・averageAmount 関数の戻り値で採点します

いまのコード

kakeibo.py

def averageAmount(records):
    """おこづかい帳の金額の平均を出す"""
    total = 0
    for r in records:
        total += r["amount"]
    return total // len(records)

AI への指示

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

ヒント