AI Agent究竟在做什麼?Claude Code 50萬行程式碼洩漏全解析
- 核心觀點:Anthropic旗下AI程式設計工具Claude Code的原始碼洩漏事件揭示,其強大性能的核心並非AI模型本身,而在於圍繞模型建構的龐大、複雜的工程架構,這或將成為未來AI產品的關鍵競爭壁壘。
- 關鍵要素:
- 原始碼洩漏規模達51.2萬行,但直接調用AI模型的介面程式碼僅佔1.6%,其餘98.4%為工程架構程式碼。
- 核心工程模組包括查詢引擎、工具系統、安全權限控制及多代理編排系統,構成了一個以LLM為核心的完整執行環境。
- 設計了複雜的快取機制以控制成本,快取命中與擊穿時的API呼叫成本相差10倍,快取管理是控制成本的關鍵。
- 洩漏程式碼中包含44個功能開關,指向名為KAIROS的自主代理系統,可根據使用者注意力動態調節AI的主動性。
- 程式碼中隱藏了一套完整的虛擬寵物系統(BUDDY),包含多種物種、稀有度等級和裝飾品,原計劃於2026年春季上線。
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 萬行程式碼到底在做什麼?
模型只是冰山一角
答案藏在程式碼結構裡。據 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% 在做硬核工程,但最後有人花時間做了一隻會戴螺旋槳帽的電子蠑螈。這或許才是洩漏裡最人性化的那一行程式碼。


