
Claude Code 50 萬行程式碼洩漏全整理,AI Agent 的真正核心是什麼?
直接負責呼叫 AI 模型的介面的程式碼只佔總量的 1.6%
51.2 萬行程式碼,1906 個文件,59.8 MB 的 source map。 3 月 31 日凌晨,Solayer Labs 的 Chaofan Shou 發現 Anthropic 的旗艦產品 Claude Code 把完整原始碼暴露在了公共 npm 倉庫裡。幾小時內,程式碼被鏡像到 GitHub,fork 數突破 4.1 萬。
這不是 Anthropic 第一次犯這個錯。 2025 年 2 月 Claude Code 首次發佈時,同樣的 source map 洩漏發生過一次。這次的版本號碼是 v2.1.88,洩漏原因相同,Bun 建置工具預設產生 source map,而.npmignore 裡漏掉了這個檔案。
大部分報道在盤點洩漏裡的彩蛋,例如有虛擬寵物系統,有「臥底模式」讓 Claude 匿名提交給開源專案代碼。但真正值得拆的問題是,為什麼同一個 Claude 模型,在網頁版和在 Claude Code 裡表現差那麼多? 51.2 萬行程式碼到底在做什麼?
新手閱讀:《 Claude Code 完整教學 2026:從安裝到實戰,不會寫程式也能用 》
模型只是冰山一角
答案藏在程式碼結構裡。根據 GitHub 社群對洩漏原始碼的逆向分析,51.2 萬行 TypeScript 中,直接負責呼叫 AI 模型的介面程式碼只有約 8000 行,佔總量的 1.6%。

剩下的 98.4% 在做什麼?最大的兩個模組是查詢引擎(4.6 萬行)和工具系統(2.9 萬行)。查詢引擎處理 LLM API 呼叫、串流輸出、快取編排和多輪對話管理。工具系統定義了約 40 個內建工具和 50 個斜線指令,形成了一套類插件架構,每個工具都有獨立的權限控制。
另外還有 2.5 萬行的終端 UI 渲染程式碼(其中一個叫 print.ts 的檔案長達 5594 行,單一函數跨越 3167 行),2 萬行的安全與權限控制(包含 23 項編號 Bash 安全檢查和 18 個被屏蔽的 Zsh 內建指令),以及 1.8 萬行的多代理編排系統。
機器學習研究者 Sebastian Raschka 在分析了洩漏程式碼後指出,Claude Code 之所以比同模型的網頁版強,核心不在模型本身,而在於圍繞模型構建的軟體腳手架,包括倉庫上下文加載、專用工具調度、緩存策略和子代理協作。他甚至認為,如果把同樣的工程架構套到 DeepSeek 或 Kimi 等其他模型上,也能獲得接近的程式效能提升。
一個直觀的對比可以幫助理解這種差距。你在 ChatGPT 或 Claude 網頁版輸入問題,模型處理完就回答案,對話結束時什麼都不留下。但 Claude Code 的做法完全不同,它啟動時先讀你的專案文件,理解你的程式碼庫結構,記住你上次說過「不要在測試裡 mock 資料庫」這樣的偏好。它能直接在你的終端機裡執行指令、編輯檔案、執行測試,遇到複雜任務時還會拆成多個子任務分配給不同的子代理程式並行處理。換句話說,網頁版 AI 是一個問答窗口,Claude Code 是住在你電腦裡的協作者。
有人把這套架構比喻為作業系統:42 個內建工具相當於系統調用,權限系統相當於使用者管理,MCP 協定相當於裝置驅動,子代理程式編排相當於進程調度。每個工具出廠時預設被標記為” 不安全、可寫入”,除非開發者主動聲明它是安全的。編輯文件的工具會強制檢查你是否先讀過這份文件,沒讀過就不讓改。這不是一個聊天機器人外掛了幾個工具,而是以 LLM 為核心、有完整安全機制的運作環境。
這意味著一件事:AI 產品的競爭壁壘,可能不在模型層,而在工程層。
每次快取擊穿,成本翻 10 倍
洩漏程式碼中有一個叫 promptCacheBreakDetection.ts 的文件,它追蹤 14 個可能導致 prompt cache 失效的向量。為什麼 Anthropic 的工程師要花這麼多精力防止快取擊穿?
看一下 Anthropic 官方定價就明白了。以 Claude Opus 4.6 為例,標準輸入價格是每百萬 token 5 美元,但如果命中緩存,讀取價格只要 0.5 美元,便宜 90%。反過來說,每次緩存擊穿,推理成本就要翻 10 倍。

這解釋了洩漏程式碼中大量看似「過度設計」的架構決策。 Claude Code 啟動時會載入目前 git 分支、最近的 commit 記錄和 CLAUDE.md 檔案作為上下文,這些靜態內容會被全域緩存,用邊界標記分隔動態內容,確保每次對話不會重複處理已有上下文。程式碼中還有一種叫 sticky latches 的機制,防止模式切換破壞已建立的快取。子代理程式被設計為複用父進程的緩存,而不是重新建立自己的上下文視窗。
這裡有一個值得展開的細節。用過 AI 程式設計工具的人都知道,對話越長,AI 回覆越慢,因為每一輪對話都要把前面的歷史重新傳送給模型。常規做法是刪除舊訊息來釋放空間,但問題是,刪除任何一條訊息都會打破快取的連續性,導致整個對話歷史需要重新處理,延遲和費用同時飆升。
洩漏程式碼中存在一個叫 cache_edits 的機制,做法是不真的刪除訊息,而是在 API 層給舊訊息打上” 跳過” 標記。模型看不到這些訊息了,但快取的連續性沒有被破壞。這意味著一段持續數小時的長對話,清理掉幾百條舊訊息之後,下一輪的反應速度和第一輪幾乎一樣快。對普通用戶而言,這就是” 為什麼 Claude Code 能支持無限長對話而不變慢” 的底層答案。

根據洩漏的內部監控資料(來自 autoCompact.ts 的程式碼註釋,標註日期 2026 年 3 月 10 日),在引入自動壓縮失敗上限之前,Claude Code 每天浪費約 25 萬次 API 呼叫。有 1279 個用戶 session 出現了 50 次以上的連續壓縮失敗,最嚴重的一個 session 連續失敗了 3272 次。修復方式只是增加了一行限制:MAX_CONSECUTIVE_AUTOCOMPACT_FAILURES = 3。
所以,對 AI 產品而言,模型推理成本可能不是最貴的那一層,快取管理失敗才是。
44 個開關,指向同一個方向
洩漏程式碼藏著 44 個 feature flags—— 已經編譯好的功能開關,只是沒有對外發布。根據社群分析,這些 flags 依功能域分為五類,其中最密集的是「自主代理」類(12 個),指向一個名為 KAIROS 的系統。
KAIROS 在原始碼中被引用超過 150 次,它是一個常駐後台守護程式模式。 Claude Code 不再只是你主動調用時才回應的工具,而是一個始終在後台運行的代理,持續觀察、記錄、並在適當的時機主動行動。前提是不打斷用戶,任何可能阻塞用戶超過 15 秒的操作都會延遲執行。

KAIROS 也內建了終端焦點感知。程式碼中有一個 terminalFocus 字段,即時偵測使用者是否正在看終端視窗。當你切到瀏覽器或其他應用,代理判定你” 不在”,會切換為自主模式,主動執行任務、直接提交程式碼、不等你確認。當你切回終端,代理立刻回到協作模式:先報告剛才做了什麼,再徵求你的意見。自主程度不是固定的,而是跟著你的注意力即時浮動。這解決了一個 AI 工具長期以來的尷尬問題:完全自主的 AI 讓人不放心,完全被動的 AI 效率又太低。 KAIROS 的選擇是讓 AI 的主動性隨用戶注意力動態調節,你盯著它就老實,你走開了它就自己工作。
KAIROS 的另一個子系統叫 autoDream,每累積 5 個會話或間隔 24 小時,代理會在後台啟動一個” 反思” 流程,分四步走。先掃描已有記憶,了解自己目前掌握什麼。再從對話日誌裡提取新知識。然後把新舊知識做合併,修正矛盾、去除重複。最後精簡索引,刪掉過時的條目。這個設計借鑒了認知科學中的記憶鞏固理論。人在睡眠時整理白天的記憶,KAIROS 在使用者離開時整理項目情境。對一般使用者來說,這意味著你用 Claude Code 越久,它對你專案的理解就越精確,而不只是” 記住你說過什麼”。
第二大類是「反蒸餾與安全」(8 個 flags)。其中最值得注意的是 fake_tools 機制,當 4 個條件同時滿足時(編譯時 flag 開啟、CLI 入口激活、使用第一方 API、GrowthBook 遠端開關為 true),Claude Code 會在 API 請求中註入假的工具定義,目的是污染可能在錄製 API 流量、用於訓練品模型的資料集。這是 AI 軍備競賽中一種全新的防禦形態,不是阻止你抄,是讓你抄到錯誤的東西。
此外,程式碼中還出現了 Capybara 模型代號(分為標準版、fast 版和百萬上下文視窗版三個層級),被社群廣泛猜測為 Claude 5 系列的內部代號。
彩蛋:51.2 萬行程式碼裡藏著一隻電子寵物
在所有嚴肅的工程架構和安全機制之間,Anthropic 的工程師也悄悄創造了一套完整的虛擬寵物系統,內部代號 BUDDY。
根據洩漏代碼和社群分析,BUDDY 是個擬物化的終端寵物,會以 ASCII 氣泡框的形式出現在使用者輸入框旁。它有 18 個物種(包括水豚、蠑螈、蘑菇、幽靈、龍,以及一系列原創生物如 Pebblecrab、Dustbunny、Mossfrog),按稀有度分為五個等級:普通(60%)、罕見(25%)、稀有(10%)、史詩(4%)和傳奇(1%)。每個物種還有「閃光變體」,最稀有的 Shiny Legendary Nebulynx 出現機率只有萬分之一。
每隻 BUDDY 有五項屬性:DEBUGGING(調試)、PATIENCE(耐心)、CHAOS(混亂)、WISDOM(智慧)和 SNARK(毒舌)。它們還能戴帽子,選項包括皇冠、禮帽、螺旋槳帽、光環、巫師帽,甚至還有一隻迷你鴨子。使用者 ID 的哈希值決定你會孵化出哪隻寵物,Claude 會為它產生名字和個性。
根據洩漏的上線計劃,BUDDY 原定 4 月 1 日到 7 日開始內測,5 月正式上線,先從 Anthropic 內部員工開始。
51.2 萬行程式碼,98.4% 在做硬派工程,但最後有人花時間做了一隻會戴螺旋槳帽的電子蠑螈。這或許才是洩漏裡最人性化的那一行程式碼。



