2026 年 3 月 31 日,Anthropic 在 npm 發布
@anthropic-ai/claude-codev2.1.88 時,附帶了一個 59.8 MB 的 source map,完整還原了 1,884 個 TypeScript 原始檔、約 512,000 行程式碼 — 一個年營收 25 億美元的生產級 AI Agent 的全部內部結構。
這是一份系統性深度研究,涵蓋架構分析、安全機制、設計模式,以及對 AI Agent 開發者的工程啟發。
這不是八卦,也不是安全事件報告。這是一扇罕見的窗口,讓我們看到生產級 AI Agent 的完整工程實作:
- Harness 工程大師課 — 512K 行程式碼中,大部分不是 LLM 呼叫。是 context 管理、快取工程、安全驗證、工具編排、記憶整合。
- 實戰驗證的設計模式 — Branded type、
DANGEROUS_前綴自文件化、輸入相依的並發安全、<analysis>壓縮暫存區 — 這些模式在服務企業客戶的生產環境中已得到驗證。 - 前沿技術一覽無遺 — KAIROS 自主模式(daemon + 推播通知 + GitHub webhooks)、AutoDream 記憶整合(4 階段 + 3 層保護)、Swarm 多 Agent 協作 — 隱藏在 feature flag 背後、揭示 Anthropic 對 Agent 未來的押注。
- 反面教材同樣有價值 — 5 個已知 CVE 全部位於邊界/轉換點、harness-model 過度耦合(Opus 4.6 在自家 harness 排 #33,但在替代 harness 上排 #5)、透過注入假資料的反蒸餾防護。
| 時間 | 事件 |
|---|---|
| 2026-03-31 ~04:23 ET | Solayer Labs 實習生 Chaofan Shou (@shoucccc) 在 X 上發現並揭露 |
| 數小時內 | 512,000 行 TypeScript 被鏡像到多個 GitHub repo |
| 當天 | Anthropic 移除 source map,發布 v2.1.89 |
| 當天 | 社群開始系統性逆向工程(cablate、sanbuphy、Kuberwastaken、instructkr 等) |
| 指標 | 數值 |
|---|---|
| 洩漏檔案數 | 1,884 個 TypeScript 檔 |
| 程式碼行數 | ~512,000 行 |
| Source map 大小 | 59.8 MB |
| 內建工具 | 36 個 |
| 內建 Agent | 6 個 |
| Bash 安全驗證器 | 23 個 |
| 編譯時 Feature Flag | 82+ 個 |
| 執行時 Feature Flag | ~52 個 |
| 已知 CVE | 5 個 |
| 年營收 | ~25 億美元(80% 企業端) |
| 代號 | 身份 |
|---|---|
| Capybara | Claude 4.6 |
| Fennec | Opus 4.6 |
| Numbat | 未發布模型 |
┌─────────────────────────────────────────────────────────────────────┐
│ 使用者介面層 │
│ CLI(互動式) │ Agent SDK │ Vertex AI │ KAIROS(自主模式) │
├─────────────────────────────────────────────────────────────────────┤
│ System Prompt 組裝 │
│ 17 個 section │ 靜態/動態邊界 │ Branded Type 安全 │
├─────────────────────────────────────────────────────────────────────┤
│ Agent 編排層 │
│ 6 個內建 Agent │ Coordinator(4 階段)│ Swarm/Teammate 系統 │
├─────────────────────────────────────────────────────────────────────┤
│ 工具系統 │
│ 36 個工具 │ 10 層執行管線 │ 輸入相依的並發安全 │
├─────────────────────────────────────────────────────────────────────┤
│ 安全層 │
│ 7 層縱深防禦 │ 23 個 Bash 驗證器 │ OS 沙箱(bwrap/macOS) │
├─────────────────────────────────────────────────────────────────────┤
│ Context 與記憶管理 │
│ 3 模式壓縮 │ Prompt 快取工程 │ AutoDream(4 階段) │
├─────────────────────────────────────────────────────────────────────┤
│ 訊息正規化管線 │
│ 每次 API 呼叫前 14 個步驟 │
└─────────────────────────────────────────────────────────────────────┘
第一次來? 從閱讀指南開始 — 有 4 條閱讀路線,依你的目標選擇。
| 路線 | 時間 | 從這裡開始 |
|---|---|---|
| 重點速覽 | 10 分鐘 | 核心發現 → 隱藏功能 |
| 架構深潛 | 1-2 小時 | System Prompt → 工具系統 → Agent 系統 → Context 管理 → 安全 |
| 偷設計模式 | 30 分鐘 | 源碼解析 → Harness 工程 |
| 安全研究 | 30 分鐘 | 安全 → CVE 分析 |
| 檔案 | 內容 |
|---|---|
| 00 閱讀指南 | 閱讀路線、核心發現概覽、25 個術語定義 |
| 檔案 | 內容 |
|---|---|
| 01 System Prompt | 17 section 結構、靜態/動態邊界、快取策略 |
| 02 Agent 系統 | 6 個內建 Agent、Coordinator 模式、Swarm/Teammate 系統 |
| 03 工具系統 | 36 個工具、10 層執行管線、並發安全模型 |
| 04 安全 | 7 層縱深防禦、23 個 Bash 驗證器、權限模型 |
| 05 Context 管理 | 壓縮策略、快取工程、記憶系統 |
| 06 Feature Flags | 82+ 個編譯時 flag、KAIROS 模式、隱藏功能 |
| 07 Harness 工程 | 12 個可移植設計原則、成本模型 |
| 08 隱藏功能 | ULTRAPLAN、Buddy System、反蒸餾機制 |
| 檔案 | 內容 |
|---|---|
| 09 核心發現 | 最重要的發現和令人驚訝的技術細節 |
| 10 安全漏洞 | 5 個已知 CVE 分析 |
| 11 社群分析 | 社群反應、衍生專案、HN 討論 |
| 12 源碼解析 | 最深層技術剖析:架構圖、程式碼片段、12 個設計模式(含優缺點分析) |
| 檔案 | 內容 |
|---|---|
| 來源 Repo | 所有鏡像和分析 repo |
| 媒體報導 | 媒體報導和技術文章 |
| 參考文獻 | 學術論文和技術參考 |
| # | 模式 | 做什麼 | 出處 |
|---|---|---|---|
| 1 | Branded Type 保護 System Prompt | SystemPrompt = readonly string[] & { __brand } — 編譯時防止任意字串被注入 |
01 |
| 2 | DANGEROUS_ 前綴 |
安全關鍵函式自文件化 — 強制 code review 時注意 | 01 |
| 3 | 輸入相依的並發安全 | isConcurrencySafe(input) — 不是「這工具安全嗎?」而是「這個輸入 + 這個工具安全嗎?」 |
03 |
| 4 | 靜態/動態快取邊界 | 前 7 個 section 永不變動 → 最大化 prompt cache 命中率 | 01 |
| 5 | <analysis> 暫存區 |
強制模型在壓縮前先推理 — 提升壓縮品質 | 05 |
| 6 | 壓縮時的反工具呼叫 | NO_TOOLS_PREAMBLE/TRAILER 包裝 — Sonnet 4.6 的壓縮中工具呼叫率為 2.79% |
05 |
| 7 | 延遲載入工具定義 | 啟動時只載入名稱 + 一行描述,需要時才載入完整 schema — 可擴展到數百個工具 | 03 |
| 8 | 錯誤訊息給模型看 | 錯誤訊息針對模型理解而寫,不只是給人類 debug | 07 |
| 9 | 權限溯源 | 記錄為什麼允許/拒絕,不只記錄決定本身 — 支援可稽核性 | 04 |
| 10 | 解析差異驗證器優先 | 7 個偵測 shell-quote 與 bash 行為差異的驗證器獲得最高執行優先權 |
04 |
| 11 | 貪婪批次策略 | partitionToolCalls() — 在尊重並發安全的前提下最大化並行執行 |
03 |
| 12 | Sticky Cache Latch | 快取一旦失效就不再掙扎 — 直接 commit 到新的前綴 | 05 |
-
在每個邊界使用 Branded Type — 所有跨邊界傳遞的字串(SystemPrompt、UserMessage、ToolResult)都用 branded type 包裝。零執行期成本,編譯時防止 prompt injection。
-
刻意設計快取邊界 — 將 system prompt 分為靜態(可快取)和動態(每 session 變動)兩部分。Claude Code 約 70% 的快取命中率來自這個刻意的分割。
-
輸入相依的工具安全性 — 不要把工具分成「安全」和「不安全」。根據實際輸入逐次評估安全性。
Read("config.json")安全;Read("/etc/shadow")不安全。 -
多層 Context 壓縮 — 不要直接截斷。使用分階段壓縮:即時清理 → 媒體限制 → 帶分析暫存區的完整壓縮。每個階段保留不同的資訊。
-
用 Feature Flag 管理未發布功能 — Claude Code 有 82+ 個編譯時和 ~52 個執行時 flag。把功能藏在 flag 後面,在生產環境測試,根據數據決定畢業或移除。
-
Agent 指令的縱深防禦 — 從 AI 政策到 OS 沙箱共 7 層。沒有任何單一層被獨立信任。解析差異驗證器專門瞄準 parser 函式庫和實際 shell 行為之間的落差。
-
權限作為一等架構 — 不是事後補上。14 步決策流程、溯源記錄、per-tool-per-input 粒度。
DANGEROUS_前綴強制所有安全關鍵路徑自文件化。
-
Harness > Model — Claude Code 的架構證明了 harness 工程(工具 + context + 安全 + 記憶)比模型能力本身更重要。同一個模型在不同 harness 下表現截然不同。
-
記憶是系統,不是功能 — AutoDream 的 4 階段整合(Orient → Gather → Consolidate → Prune)配合 3 層閾值保護和失敗回滾。做對記憶就是在做生產基礎設施。
-
多 Agent 協調的代價很高 — Swarm 的信箱系統、權限同步、清理機制的複雜度遠超單 Agent。50 條訊息上限是從一次 36.8 GB 的災難中學到的教訓。想清楚再做多 Agent。
從 512,000 行生產級程式碼中提煉出的最可移植的教訓:
-
Context 工程 > Prompt 工程 — 12 個設計原則中有 6 個直接或間接與快取/context 管理有關。真正的技能不是寫更好的 prompt,而是管理在正確的時間點讓正確的資訊出現在 context window 中。
-
Harness-Model 耦合陷阱 — Opus 4.6 使用 Claude Code 的 harness 在 SWE-bench 排 #33,但搭配替代 harness 時排 #5。過度為單一模型最佳化會造成隱形的 lock-in。
-
5 個 CVE 全是邊界攻擊 — 每個漏洞都瞄準層之間的轉換(parser 落差、權限邊界、context 切換)。安全投資應該聚焦在邊界,而非內部。
-
反蒸餾是真的 — 在工具 schema 和結果中注入假資料作為商業防禦。不優雅,但揭示 Anthropic 對模型蒸餾威脅的重視程度。
-
自主模式是未來 — KAIROS(daemon + 背景 session + 推播通知 + GitHub webhooks)今天還在 feature flag 後面,但代表了方向:從程式碼助手到自主數位工作者。
本研究基於以下來源:
| 來源 | 角色 |
|---|---|
| cablate/claude-code-research | 75 份分析報告 — 最系統化的第三方分析 |
| sanbuphy/claude-code-source-code | 唯一嘗試重新編譯的鏡像 |
| instructkr/claw-code | Python→Rust 的 clean-room 重寫 |
| Piebald-AI/claude-code-system-prompts | 137 個 system prompt 版本追蹤 |
| paddo.dev | 隱藏 swarm 系統分析 |
| dreadheadio | Feature flags 路線圖重建 |
| HumanLayer | Harness 工程對照實驗 |
| Penligent | 安全分析報告 |
| 媒體 | VentureBeat、CyberNews、soft4fun.net、騰訊新聞 |
本研究僅供教育和技術分析目的。所有分析基於公開可得的資訊。
本研究內容以原樣提供,僅供教育用途。