エージェントと作る
この講座では、コードはコーディングエージェント (Claude Code) が書き、何を作るかは読者が決めます。題材は勉強会の予約アプリで、ユーザーが勉強会を主催し、ほかのユーザーが定員に達するまで参加登録できるようにします。計画は 2 本立てます。どちらもコードを書く前にレビューして承認し、そのあとエージェントが 1 ステップずつ作っていくのを見届けます。
エージェントと作る
この講座では、コードはコーディングエージェント (Claude Code) が書き、何を作るかは読者が決めます。題材は勉強会の予約アプリで、ユーザーが勉強会を主催し、ほかのユーザーが定員に達するまで参加登録できるようにします。計画は 2 本立てます。どちらもコードを書く前にレビューして承認し、そのあとエージェントが 1 ステップずつ作っていくのを見届けます。
この講座で練習するのは、次の 5 つの判断です。コードを打ち込む作業は扱いません。
- エージェントが自分では決められなかった質問に答える
- 計画を読み、望んでいるものがそのとおりに書かれているか判断する
- 計画を承認する (設計はこの時点で固まります)
- エージェントがコミットした各ステップを受け入れる
- 計画を実装している間にアプリ側が変わったとき、どうするか決める
先にフレームワーク自体を学びたい場合は、Guren チュートリアル から始めてください。この講座はチュートリアルを終えていなくても進められます。
役割分担
flowchart LR You["読者<br/>決めて承認する"] Agent["エージェント<br/>計画とコードを書く"] Guren["Guren<br/>計画を検査し、進捗をコードから読み取る"] You -- "依頼、回答、承認" --> Agent Agent -- "plan.json、ステップごとのコミット" --> Guren Guren -- "レビューページ、検証済みかどうか" --> You
エージェントは自分の進捗を報告しません。進捗は guren plan:verify が、スキーマ、ルート、コントローラー、テスト結果から読み取ります。エージェントが「ステップが終わった」と言う時点で、フレームワークによる確認はもう済んでいるので、作業中は席を外していても構いません。
計画が進む流れ
どの計画も、同じ 5 つの段階を順にたどります。1 本目の計画は第 2 章から第 5 章で、2 本目の計画は第 6 章と第 7 章で、この流れを通します。
flowchart LR Ask["1. 依頼<br/>依頼して質問に答える"] Review["2. レビュー<br/>計画のレビューページ"] Approve["3. 承認<br/>読者だけが行う"] Build["4. 実装<br/>検証済みのステップを 1 コミットずつ"] Close["5. クローズ<br/>計画からドキュメントを書く"] Ask --> Review --> Approve --> Build --> Close Review -. "修正" .-> Ask
各段階の章には短いチェック表があります。このチェック表は、どのモデルが書いた計画にもそのまま使えるので、講座のあとも手元に残しておいてください。
章立て
| # | 章 | 段階 | 所要時間 |
|---|---|---|---|
| 1 | エージェントが働けるアプリ | 準備 | 20 分 |
| 2 | 最初の計画 | 依頼 | 30 分 |
| 3 | レビューと承認 | レビュー、承認 | 30 分 |
| 4 | 1 ステップずつ | 実装 | 60 分 |
| 5 | 計画をクローズする | クローズ | 20 分 |
| 6 | 既存のコードを変える計画 | 依頼から承認まで | 40 分 |
| 7 | 実装中にアプリが変わったとき | 実装、クローズ | 60 分 |
| 8 | CI の中の計画 | その後 | 20 分 |
始める前に
- Bun 1.4.2 と git。アプリは SQLite を使うため、データベースサーバーを別に用意する必要はありません。
- Claude Code。講座のプロンプトは Claude Code 向けに書いていますが、ハーネス自体は Codex、Cursor、Copilot、OpenCode にも対応しています。
- TypeScript。エージェントが書いたコードを読むために使います。自分で書く場面はあまりありません。
エージェントに任せる作業には、手で実行できる手順も エージェントなしの場合 として添えてあります。これらのブロックは参照用の計画に沿っていて、前のブロックの結果を前提に積み上がっていきます。章の中で引用する名前 (AC-meetups-7、route.meetups.edit) もこの参照用の計画のもので、エージェントが書いた計画では別の名前になります。
第 2 章と第 6 章では、計画の下書きができたところで進め方を選びます。自分の計画を使い続けて引用中の名前を例として読むか、参照用の計画に切り替えて講座のとおりに進むかのどちらかです。エージェントをまったく使わない場合は、エージェントなしの場合 をすべて実行すれば、最初から最後まで参照用の計画で進められます。参照用の計画とコードは英語版と共通なので、中身は英語で書かれています。
このコースが正しさを保つ仕組み
フレームワークの CI では、各ステップの エージェントなしの場合 の手順を使い、フレームワークの現在のソースに対して全章を順に実行しています。各章の終わりには bunx guren gate とビルドも実行します。講座の手順を壊す変更がフレームワークに入ると、読者の手元より先に、フレームワーク自身のビルドが失敗します。エージェントの出力はこの実行に含まれないので、そちらはチェック表とゲートで判定します。