序章 本書の読み方
本書には、はっきりした背骨があります。同じ ToDo アプリを 3 回作り、制御の仕方を一段ずつ変えていく、という構成です。この序章では、その背骨と、本書の読み方を先に共有します。ここを読んでおくと、各章が全体のどこに位置するのかが見えやすくなります。
まず本書が目指すものを確認し(0.1)、三段階の背骨を説明します(0.2)。そのあと、手を動かすためのサンプルリポジトリ(0.3)と、ツールのバージョンとの付き合い方(0.4)を見ます。
図0-1 制御を一段ずつ強めながら同じ ToDo アプリを 3 回作り、後半で実用的なタスク管理アプリを作り上げる
0.1 本書が目指すもの
Claude Code を紹介する本や記事は、すでにたくさんあります。その多くは、インストールして、こう話しかければ、こう動く、という最初の一歩を案内するものです。これはこれで大切な入り口です。
本書が目指すのは、そこから一歩進んだところです。 Claude Code を、ただ動かすのではなく、こちらの意図どおりに制御して、実際の開発に使えるようにすることです。「使ってみる」と「制御して開発に使う」のあいだには、はっきりした段差があります。本書は、その段差をのぼるための本です。
では、ここでいう制御とは何を指すのでしょうか。 Claude Code は、エージェント型のツールです。ファイルを読み書きし、コマンドを実行し、複数のステップを自分で進めます。この自律性は強力ですが、放っておくと、頼んでいない方向に進むこともあります。
制御とは、その自律性を縛りつけることではありません。作る前に前提を確かめ、進め方の規範を与え、工程ごとに確認できる形にすることです。本書では、この進め方を制御されたエージェント駆動開発と呼びます。エージェントの自律性を生かしながら、出てくるものが意図からずれないようにする、という考え方です。
本書を読み終えると、こうした制御の手立てを、自分の手で使えるようになります。行動規範をまとめた CLAUDE.md を用意し、開発プロセスを支える gstack を組み合わせ、一連のスプリントを回せるようになります。制御の段階ごとに何がどう変わるかを、観察表という形で見比べられるようにもなります。最後には、その手立てを使って、実用的なアプリを一つ作り上げます。
0.2 本書の背骨は同じ ToDo アプリを 3 回作ること
本書の背骨は、同じ ToDo アプリを 3 回作り直すことです。同じお題を繰り返すのは、遠回りに見えるかもしれません。それでも 3 回作るのは、制御の仕方による違いだけを取り出して見比べるためです。
作るものを毎回変えてしまうと、結果が変わった原因が題材の違いなのか制御の違いなのか、区別できなくなります。お題を ToDo アプリに固定しておけば、変わるのは制御の仕方だけになります。その効果が、そのまま結果の差として現れます。
3 回の作り直しは、制御を一段ずつ強める三段階に対応します。一段目は素の Claude Code で、設定をほとんど足さずに作ります。二段目は CLAUDE.md を置き、振る舞いの行動規範を与えて作ります。三段目は gstack を組み合わせ、開発プロセス全体に仕組みを持ち込んで作ります。
この三段階は、プロンプト、行動規範、開発プロセスという、効かせる層の違いに対応しています。一段ずつ層を足していくことで、それぞれの層が何を担うのかが見えてきます(図0-2)。
図0-2 効かせる層が一段ずつ積み上がる
三段階の違いを見比べるために、本書では観察表という小さな装置を使います。プロンプトの回数や、人が手で直した箇所、生成されたコードの量といった項目を、三段階それぞれについて記録します。「なんとなく良くなった」で終わらせず、何がどれだけ変わったかを目に見える形で残すための表です。
観察表のひな形は第5章で定義し、素の段階の結果をそこに記入します。そのあと、第7章で CLAUDE.md の段階を、第11章で gstack の段階を、同じ表に書き足していきます。最後に三段階を並べることで、制御を強めると何が変わるのかが、ひと目でわかるようになります。
0.3 サンプルリポジトリの全体像
本書で作るアプリのコードは、サンプルリポジトリで公開しています。
https://github.com/h3adeu/claude-dojo-src
リポジトリには、三段階それぞれの ToDo アプリと、本書の後半で作るタスク管理アプリが入っています。三段階の ToDo アプリは、素の状態、CLAUDE.md を足した状態、gstack を足した状態に対応します。読み進めながら、手元のコードと見比べられるようにしてあります。
第5部のタスク管理アプリには、実装の段階ごとにタグを付けてあります。タグを切り替えると、その段階のコードを手元で再現できます。また、Claude Code とのやり取りを残したセッションログも置いています。本文の画面とあわせてログを見ると、どのプロンプトでどう動いたのかを追えます。
入手は、リポジトリを手元に複製するところから始めます。動かし方は、ToDo アプリならブラウザでファイルを開くだけのものが中心で、特別なビルドは要りません。
参考
詳しいディレクトリ構成と動かし方は、付録D にまとめています。まずは全体像だけつかんでおき、必要になったら付録D を見れば十分です。
0.4 ツールのバージョンと情報の鮮度
本書で示す名称や挙動は、執筆時点のものです。 Claude Code も、本書で使う gstack のようなツールも、更新が速い領域にあります。
警告
本書の画面やコマンドは、手元の最新版と完全には一致しないことがあります。これは本書の誤りではなく、ツールの更新によるものです。表示が少しくらい違っても、戸惑わずに読み進めてください。
特にコマンド名は変わりやすい部分です。そこで本書では、コマンドそのものより、それがどんな役割を呼び出すのかを主語にして説明します。役割の考え方がわかっていれば、コマンド名が変わっても対応できます。実際の名称や最新の情報は、各ツールの公式リポジトリで確かめてください。
もう一つ心に留めておきたいのは、Claude Code の出力は実行のたびに少しずつ変わる、という点です。
警告
同じプロンプトを送っても、まったく同じ応答が返るとは限りません。そのため、本書のコードや画面と手元の結果が細部で違っても、それは異常ではありません。
慌てる必要はありません。大事なのは、一字一句を一致させることではなく、どういう流れで進んでいるかをつかむことです。細部が違っても、流れが追えていれば問題ありません。この心構えを持って、次の第1章から読み進めてください。