このリポジトリは、Claude Codeのようなコーディングエージェントの内部機構を、最小実装から段階的に学ぶ教材です。s01からs17以降のレッスンで、エージェントループ・ツール実行・権限管理など1機能ずつcode.pyに積み上げていきます。加えてweb/配下には、各レッスンの差分や実行フローを閲覧できるNext.js製学習サイトのソースも含まれています。
各レッスンフォルダ(s01_agent_loop〜s17_goal_loop)は、独立したcode.pyと3言語のREADME、SVG図解を持ちます。依存ライブラリはrequirements.txtに書かれたanthropic・python-dotenv・pyyamlのみで、重量フレームワークは使いません。コードはまずAnthropic APIを呼びます。ツール使用が返ってきたら、Bashなどのツールを実行します。その結果をメッセージ履歴に追加し、再びAPIを呼び出します。これを繰り返す単純なループが土台です。レッスンを進めるごとに、権限チェック・フック・todo管理などの機能が1つずつ段階的に重ねられていきます。testsディレクトリのpytestは、anthropicとdotenvを偽モジュールに差し替えます。そのうえで各code.pyをimportし、結果として権限やバックグラウンド処理の境界動作が確認できます。web/はdocsとレッスンのソースを、scripts/extract-content.tsでJSON化します。その結果はLearn・Simulate・Codeなど4つのタブを持つNext.jsページとして表示されます。
- STEP 01
requirements.txtをpip installしたうえで、.env.exampleを参考にANTHROPIC_API_KEYとMODEL_IDを設定します。
- STEP 02
python s01_agent_loop/code.pyを実行すると、最小限のエージェントループがモデルを1回だけ呼び出す挙動を確認できます。
- STEP 03
s02からs14まで順にcode.pyとREADMEを読み進めると、ツール実行・権限・フックなどの機能が1段ずつ追加されていきます。
- STEP 04
testsディレクトリでpytestを実行すると、Anthropic APIをモックした状態で権限チェックやバックグラウンドタスクの挙動が検証されます。
- STEP 05
webディレクトリでnpm installのあとnpm run devを実行すると、差分やソースコード、実行フローの図をブラウザで確認できます。
- STEP 06
.github/workflows配下のci.ymlとtest.ymlにより、pushごとにwebのビルドとPythonテストが自動実行される仕組みを確認できます。
手に入るのは、Claude Code風のエージェントハーネスを最小実装からs17_goal_loopまで積み上げたPythonコード一式と、各段階のREADME・SVG図解・テストです。加えて、web/のNext.jsアプリを動かすこともできます。動かせば、レッスン間の差分やソースコード、実行フローをブラウザで見比べられます。
AnthropicなどのAPIキーを用意しないと動かせず、呼び出し回数に応じて利用料金が発生します。
webアプリはnpm run extractでdocsからJSONを生成する前提です。next devだけを素で動かすと、最新の内容が反映されない場合があります。
agentsディレクトリにもs01からs12に似た名前のファイルがあり、個別レッスンフォルダとの関係は今回の資料だけでは判断できません。
Claude Codeのようなエージェント基盤を自作したい人に向いています。モデルとハーネスの役割分担を体系的に学びたい人にも向いています。tests配下のpytestは、Anthropic APIをモックします。そのうえで各レッスンのcode.pyを実際にロードします。権限チェックやバックグラウンド処理の境界動作もあわせて検証しています。CIではwebのビルドと型チェックも実行されます。これらから、教材としての構成と動作は資料の上で裏付けられていると判断できます。