Learn · 12 課原始碼精讀

Learn Claude Code

不是教程,是拆機。從 agent loop 一行迴圈開始,層層剝到 worktree 隔離。12 課 × 3 個可互動元件。

12 36 個互動元件 基於 shareAI-lab/learn-claude-code
S01
Agent Loop
沒有循環,就沒有 agent
Agent loopstop_reasonmessages 歷史tool_result 回傳
S02
Tool Use
循環沒變,只是工具變多了
Tool dispatch mapJSON schemasafe_path 防逃逸tool 擴展
S03
Todo Write
讓 agent 管自己的進度
TodoManagerin_progress 單例限制nag reminder 注入結構化狀態
S04
Subagent
把大問題切給一個新開的 agent
Subagent 派發上下文隔離CHILD_TOOLS 裁剪摘要式返回
S05
Skill Loading
按需加載的領域知識
兩層 skill 架構YAML frontmatterload_skill tooltoken 經濟
S06
Context Compact
上下文滿了,學會砍
Micro compactAuto compact手動 compact tooltranscript 持久化
S07
Task System
狀態寫到磁碟,活過壓縮
Task CRUDblockedBy 依賴圖JSON 檔案持久化拓撲求可執行
S08
Background Tasks
讓活自己跑,agent 不阻塞
線程化 bg task通知隊列LLM 呼叫前 drain回灌結果
S09
Agent Teams
多個 agent 透過文件信箱通信
持久 teammateJSONL 信箱5 種訊息類型團隊 config.json
S10
Team Protocols
兩個 agent 之間的握手協議
shutdown 協定plan_approval 協議request_id 關聯FSM: pending→approved/rejected
S11
Autonomous Agents
自己找活幹的 agent
WORK / IDLE 兩階段任務板輪詢auto_claimidentity 重新註入
S12
Worktree Isolation
不同 agent 不要搶同一棵樹
git worktree add任務 / worktree 綁定keep vs remove目錄級隔離