Skip to content

wellwind/claude-code-from-source-zh-tw

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Claude Code from Source

Anthropic AI 程式撰寫代理的架構、模式與內部運作

Note

本專案為 claude-code-from-source 的正體中文翻譯版本。感謝原文作者 Alejandro Balderas 提供如此詳盡且具啟發性的研究與分析內容。

Claude Code from Source — 書籍封面

線上閱讀:fullstackladder.dev/claude-code-from-source-zh-tw/


本專案純粹用於教育目的。 不包含 Claude Code 的任何原始碼——一行都沒有。所有程式碼區塊皆為原創虛擬碼,使用不同的變數名稱,用以說明架構模式。目標是幫助工程師理解正式環境的 AI 代理是如何建構的,而非重製或散佈專有軟體。


當 Anthropic 將 Claude Code 發佈到 npm 時,.js.map 原始碼映射(Source Map)中包含了 sourcesContent 欄位,內含完整的原始 TypeScript 原始碼。本書即是研究該架構後的成果,將其中的模式、取捨與設計決策提煉為任何工程師都能學習的技術敘事。

橫跨 7 大篇章,共 18 個章節。 印刷版約 400 頁。

每個章節都具備分層深度:為技術領導者設計的敘事主線、為實作者準備的深入剖析段落,以及結尾的**「實踐應用」**區塊——從中萃取可遷移的模式,供你應用於自己的系統中。圖表使用 Mermaid 繪製,可在 GitHub 上原生渲染。


本書適合誰

  • 正在建構代理系統的資深工程師 —— 偷走這些模式、理解其取捨、在你自己的技術棧中實作
  • 評估架構的技術領導者 —— 跟著敘事走,不必逐行閱讀每個程式碼區塊
  • 任何好奇正式環境 AI 工具實際如何運作的人 —— 深入引擎蓋下探究

目錄

第一篇:基礎

在代理能思考之前,行程必須先存在。

# 章節 你將學到
1 AI 代理的架構 六大關鍵抽象、資料流、權限系統、建置系統
2 快速啟動——啟動引導管線 五階段初始化、模組層級 I/O 並行、信任邊界
3 狀態——雙層架構 啟動引導單例、AppState 儲存、黏性閂鎖、成本追蹤
4 與 Claude 對話——API 層 多供應商客戶端、提示快取、串流、錯誤復原

第二篇:核心迴圈

代理的心跳:串流、行動、觀察、重複。

# 章節 你將學到
5 代理迴圈 query.ts 深入剖析、四層壓縮、錯誤復原、token 預算
6 工具——從定義到執行 工具介面、14 步管線、權限系統
7 並行工具執行 分割演算法、串流執行器、推測性執行

第三篇:多代理協作

一個代理很強大。多個代理協同運作則能帶來變革。

# 章節 你將學到
8 產生子代理 AgentTool、15 步 runAgent 生命週期、內建代理類型
9 分叉代理與提示快取 位元組級相同前綴技巧、快取共享、成本最佳化
10 任務、協調與群集 任務狀態機、協調者模式、群集訊息傳遞

第四篇:持久化與智慧

沒有記憶的代理會永遠犯同樣的錯誤。

# 章節 你將學到
11 記憶——跨對話學習 基於檔案的記憶、四類分類法、LLM 召回、過期處理
12 可擴展性——技能與鉤子 兩階段技能載入、生命週期鉤子、快照安全性

第五篇:介面

使用者看到的一切都通過這一層。

# 章節 你將學到
13 終端機 UI 自訂 Ink 分支、渲染管線、雙緩衝、物件池
14 輸入與互動 按鍵解析、按鍵綁定、組合鍵支援、Vim 模式

第六篇:連接性

代理的觸及範圍超越了 localhost。

# 章節 你將學到
15 MCP——通用工具協定 八種傳輸方式、MCP OAuth、工具包裝
16 遠端控制與雲端執行 Bridge v1/v2、CCR、上游代理

第七篇:效能工程

讓一切快到人類察覺不到背後的機制。

# 章節 你將學到
17 效能——每一毫秒和每一個 Token 都重要 啟動、上下文視窗、提示快取、渲染、搜尋
18 結語——我們學到了什麼 五個架構賭注、可轉移的知識、代理的未來方向

讓它運作的 10 個模式

如果你只讀一個段落:

  1. AsyncGenerator 作為代理迴圈 —— 產出 Messages、具型別的 Terminal 回傳值、自然的背壓與取消機制
  2. 推測性工具執行 —— 在模型串流期間就啟動唯讀工具,無需等到回應完成
  3. 並行安全的批次處理 —— 依安全性分區工具,讀取並行執行,寫入序列化
  4. 分叉代理實現快取共享 —— 平行子代理共享位元組相同的提示前綴,節省約 95% 的輸入 token
  5. 四層上下文壓縮 —— 裁剪、微壓縮、摺疊、自動壓縮——每一層都比上一層更輕量
  6. 檔案式記憶搭配 LLM 召回 —— Sonnet 側查詢選擇相關記憶,而非關鍵字匹配
  7. 兩階段技能載入 —— 啟動時僅載入前置資料,呼叫時才載入完整內容
  8. 黏性閂鎖確保快取穩定性 —— 一旦發送 beta 標頭,就不再於會話中途取消
  9. 槽位保留 —— 預設 8K 輸出上限,命中時升級到 64K(在 99% 的請求中節省上下文)
  10. 鉤子設定快照 —— 啟動時凍結,防止執行期注入攻擊

本書的製作方式

原始碼從 npm 原始碼映射中提取。36 個 AI 代理分四個階段分析了近兩千個 TypeScript 檔案:

  1. 探索:6 個並行代理讀取了原始碼樹中的每一個檔案
  2. 分析:12 個代理撰寫了 494KB 的原始技術文件
  3. 寫作:15 個代理從零開始將所有內容重寫為敘事章節
  4. 審閱與修訂:3 位編輯審閱者產出 900 行回饋;3 個修訂代理套用了所有修正

整個過程——從原始碼提取到最終修訂完成——大約耗時 6 小時。


免責聲明

本儲存庫不包含 Claude Code 的任何原始碼。 所有程式碼區塊皆為原創虛擬碼,使用不同的變數名稱,用以說明架構模式。不包含任何專有提示文字、內部常數或精確的函式實作。本專案純粹出於教育目的——幫助工程師理解正式環境 AI 程式撰寫代理背後的設計模式。

「NO'REILLY」封面僅為戲仿/迷因,用於說明目的。本專案與 O'Reilly Media 無任何關聯。那隻螃蟹就只是一隻螃蟹。

這是一份獨立分析。Claude Code 是 Anthropic 的產品。本書與 Anthropic 無關聯、未獲其背書、亦未受其贊助。

Releases

No releases published

Packages

 
 
 

Contributors

Languages