Learn Claude Code
0 から 1 へ構築する nano Claude Code-like agent。12 段階セッションでループ・ツール・計画・チーム・worktree 分離まで。
Learn Claude Code は、Claude Code のような AI コーディングエージェントを 0→1 で組み立てる教材。1 つのループとツール実行が最小の土台で、各セッションで 1 つのメカニズムを足していく。本番のエージェントに必要なポリシー・権限・ライフサイクルは教材のため簡略化されている。
流れ: User → messages[] → LLM → response。stop_reason == "tool_use" ならツール実行して結果を messages に追加しループ、そうでなければテキストを返して終了。これがすべての AI コーディングエージェントの土台になる。
各セッションはこのループの上に 1 つのメカニズムを重ねる。ループ自体は変わらない。
def agent_loop(messages):
while True:
response = client.messages.create(
model=MODEL, system=SYSTEM,
messages=messages, tools=TOOLS,
)
messages.append({"role": "assistant", "content": response.content})
if response.stop_reason != "tool_use":
return
results = []
for block in response.content:
if block.type == "tool_use":
output = TOOL_HANDLERS[block.name](**block.input)
results.append({
"type": "tool_result",
"tool_use_id": block.id,
"content": output,
})
messages.append({"role": "user", "content": results})
フェーズ1(ループ): s01 エージェントループ、s02 Tool Use(dispatch map)。
フェーズ2(計画と知識): s03 TodoWrite、s04 サブエージェント、s05 Skills(SKILL.md を tool_result で注入)、s06 Context Compact(3層コンテキスト圧縮)。
フェーズ3(永続化): s07 タスクシステム(ファイルベース CRUD + 依存グラフ)、s08 バックグラウンドタスク(デーモンスレッド + 通知キュー)。
フェーズ4(チーム): s09 エージェントチーム(JSONL メールボックス)、s10 チームプロトコル、s11 自律エージェント(アイドルサイクル + 自動クレーム)、s12 Worktree 分離(タスクとディレクトリの紐付け)。
| セッション | トピック | モットー |
|---|---|---|
| s01 | エージェントループ | One loop & Bash is all you need |
| s02 | Tool Use | ツールを足すなら、ハンドラーを 1 つ足すだけ |
| s03 | TodoWrite | 計画のないエージェントは行き当たりばったり |
| s04 | サブエージェント | 各サブタスクにクリーンなコンテキストを |
| s05 | Skills | 必要な知識を、必要な時に読み込む |
| s06 | Context Compact | コンテキストはいつか溢れる、空ける手段が要る |
| s07 | タスクシステム | 目標を小タスクに分解し、ディスクに記録する |
| s08 | バックグラウンドタスク | 遅い操作はバックグラウンドへ |
| s09 | エージェントチーム | 一人で終わらないなら、チームメイトに任せる |
| s10 | チームプロトコル | 統一の通信ルールが必要 |
| s11 | 自律エージェント | チームメイトが自らボードを見て仕事を取る |
| s12 | Worktree 分離 | 各自のディレクトリで作業し、互いに干渉しない |
git clone https://github.com/shareAI-lab/learn-claude-code
cd learn-claude-code
pip install -r requirements.txt
cp .env.example .env # ANTHROPIC_API_KEY を設定
python agents/s01_agent_loop.py # 最初の一歩
python agents/s12_worktree_task_isolation.py # 全セッションの到達点
python agents/s_full.py # 総括: 全メカニズム統合
Web プラットフォーム
インタラクティブな可視化・ステップスルー・ソースビューア・各セッションのドキュメント。
cd web && npm install && npm run dev # http://localhost:3000
agents/— Python リファレンス実装(s01〜s12 + s_full)docs/{en,zh,ja}/— メンタルモデル優先のドキュメント(3 言語)web/— インタラクティブ学習プラットフォーム(Next.js)skills/— s05 用の Skill ファイル
リポジトリ: shareAI-lab/learn-claude-code
ドキュメント: リポジトリ内 docs/ja/ に各セッションの解説(s01-the-agent-loop.md など)。
次のステップ: Kode Agent CLI(npm i -g @shareai-lab/kode)、Kode Agent SDK(アプリへの埋め込み)は README を参照。
姉妹教材: claw0 — 常時稼働アシスタント(ハートビート・Cron・IM・メモリ・Soul)の分解教材。