Agent Course/agent-course

エージェントと作る

この講座では、コードはコーディングエージェント (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 とビルドも実行します。講座の手順を壊す変更がフレームワークに入ると、読者の手元より先に、フレームワーク自身のビルドが失敗します。エージェントの出力はこの実行に含まれないので、そちらはチェック表とゲートで判定します。