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目錄級隔離
→