首页 幣資訊 正文
9e6abe99-8c0f-4c91-ae86-61b32b004d8c.png

AI Agent實作解析:Claude程式碼洩露

幣資訊 2026-04-01 3

51.2 萬行程式碼、1906 個檔案、59.8 MB 的 source map——2026 年 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 卻遺漏排除該檔案。

多數媒體聚焦於程式碼中的趣味彩蛋——例如虛擬寵物系統、代號「臥底模式」(Mole Mode)的匿名開源貢獻功能。但真正值得深究的核心問題是:為何同一個 Claude 模型,在網頁版與 Claude Code 中表現差異如此巨大?這 51.2 萬行程式碼,究竟在執行什麼任務?


模型僅是冰山一角:98.4% 的程式碼不直接調用 AI

根據 GitHub 社群對洩漏原始碼的逆向分析,全專案 51.2 萬行 TypeScript 程式碼中,直接負責調用 LLM API 的核心邏輯僅約 8,000 行,占比僅 1.6%。

其餘 98.4% 的程式碼,構築了一套高度工程化的軟體腳手架:

  • 查詢引擎(4.6 萬行):統籌 LLM API 呼叫、流式輸出處理、多級緩存編排與多輪對話狀態管理;
  • 工具系統(2.9 萬行):定義 40 個內建工具與 50 個斜線指令(slash commands),採用類插件架構,每項工具皆具獨立權限控制機制;
  • 終端 UI 渲染(2.5 萬行):含單檔長達 5,594 行的 print.ts,其中一函式橫跨 3,167 行,展現極致細節控制;
  • 安全與權限管控(2 萬行):整合 23 項編號 Bash 安全檢查、18 個明確屏蔽的 Zsh 內建指令;
  • 多代理協作系統(1.8 萬行):支援子任務拆解、平行執行與結果彙整。

機器學習研究者 Sebastian Raschka 分析指出:Claude Code 的卓越表現,關鍵不在模型本身,而在圍繞模型所打造的「AI 執行環境」——包含專用倉庫上下文載入、動態工具調度、分層緩存策略,以及可擴充的子代理協作框架。他進一步推論:若將此套工程架構移植至 DeepSeek、Kimi 等其他開源或商用模型,亦能實現相近程度的程式碼理解與生成能力躍升。

一個直觀對比即可說明差異:在 ChatGPT 或 Claude 網頁版中,你提問、模型回應、對話結束,一切歸零;Claude Code 則截然不同——它啟動時即掃描你的 Git 分支、最近提交紀錄與專案設定檔(如 CLAUDE.md),記住你曾說過「測試中禁止 mock 資料庫」等偏好設定;它可直接於終端執行指令、修改檔案、運行測試;面對複雜需求,更會自動拆解為多項子任務,交由不同子代理同步處理。換言之,網頁版 AI 是一個「問答視窗」,Claude Code 則是一位「駐留在你電腦中的協作者」。

社群甚至將此架構類比為作業系統:
• 42 個內建工具 = 系統呼叫(syscalls)
• 權限管控體系 = 使用者與權限管理
• MCP 協議 = 裝置驅動介面
• 子代理編排 = 行程排程器
每項工具預設標記為「不安全、可寫入」,除非開發者明確宣告其安全性;編輯檔案工具更強制驗證使用者是否已讀取目標檔案——未讀則禁止修改。這不是聊天機器人「外掛幾個工具」,而是一個以 LLM 為核心、具備完整安全邊界與執行隔離的可信運行環境。

這也揭示了一個關鍵趨勢:AI 產品真正的競爭壁壘,正從「模型層」快速轉移至「工程層」。


每次緩存失效,推理成本暴增 10 倍

洩漏程式碼中有一份名為 promptCacheBreakDetection.ts 的檔案,專門追蹤 14 種可能導致 prompt cache 失效的向量變化。為何 Anthropic 團隊需投入大量工程資源防範緩存擊穿?

答案藏於官方定價結構之中。以 Claude Opus 4.6 為例:標準輸入費率為每百萬 token 5 美元;一旦命中緩存,讀取成本僅需 0.5 美元——節省高達 90%。反過來說,每一次緩存失效,實際推理成本便暴增 10 倍。

正因如此,程式碼中大量看似「過度設計」的架構決策,實則皆為成本控管所驅動:

  • 啟動時即載入當前 Git 分支、commit 歷史與 CLAUDE.md 等靜態內容,全域緩存並以邊界標記區隔動態段落,避免重複解析;
  • 導入 sticky latches 機制,防止對話模式切換破壞既有緩存連續性;
  • 子代理被設計為繼承父程序緩存,而非重建獨立上下文窗口。

其中一項關鍵細節尤為重要:常見 AI 編程工具隨對話延長而明顯變慢,主因是每輪回應均須重送全部歷史訊息。傳統做法為刪除舊訊息釋放空間,但刪除任一則訊息即中斷緩存鏈,導致整段歷史重新計算——延遲與費用同步飆升。

而 Claude Code 採用名為 cache_edits 的創新機制:不實際刪除訊息,而是在 API 層為舊訊息打上「跳過」標記。模型無法看見這些訊息,但緩存的連續性完好無損。結果是:一段持續數小時的超長對話,在清理數百則歷史後,下一次回應速度幾乎與首輪無異。這正是「Claude Code 可支援無限長對話而不降速」的技術本質。

根據洩漏的內部監控註解(出自 autoCompact.ts,標註日期為 2026 年 3 月 10 日):在引入自動壓縮失敗上限前,Claude Code 每日浪費約 25 萬次 API 呼叫;有 1,279 個使用者 session 出現超過 50 次連續壓縮失敗,最嚴重案例達 3,272 次。最終解決方案僅一行程式碼:
MAX_CONSECUTIVE_AUTOCOMPACT_FAILURES = 3

由此可見:對 AI 產品而言,模型推理成本未必是最昂貴的一環;緩存管理失敗,才是隱藏最深、影響最大的成本黑洞。


44 個功能開關,指向自主協作新範式

洩漏程式碼中埋藏了 44 個已編譯完成、但尚未開放的功能開關(feature flags)。社群分析顯示,這些開關按功能領域分為五類,其中密度最高者為「自主代理」類(共 12 個),共同指向一個代號 KAIROS 的核心系統。

KAIROS 在原始碼中被引用逾 150 次,定位為常駐後台守護進程(daemon mode)。Claude Code 不再只是被動響應用戶指令的工具,而是始終在背景運作的智能代理,持續觀察、記錄,並於適當時機主動介入——前提是絕不阻斷使用者操作,任何可能耗時超過 15 秒的動作皆會延遲執行。

KAIROS 更具備終端焦點感知能力。原始碼中存在 terminalFocus 欄位,可即時偵測使用者是否正在觀看終端視窗。當你切換至瀏覽器或其他應用,代理判定你「不在場」,立即切換為自主模式:直接執行任務、提交程式碼,無需確認;當你切回終端,代理瞬間切回協作模式:先匯報已完成事項,再徵求下一步指示。其自主程度並非固定,而是依使用者注意力動態浮動——你盯著它,它就謹慎;你離開了,它就高效行動。這精準化解了長期困擾 AI 工具的根本矛盾:完全自主令人不安,完全被動效率低下;KAIROS 的答案是——讓 AI 的主動性,隨你的注意力流動。

KAIROS 的另一子系統名為 autoDream:每累積 5 個對話 session,或間隔 24 小時,代理便於背景啟動「反思流程」,分四步進行:
① 掃描既有記憶,釐清當前知識邊界;
② 從對話日誌提取新資訊;
③ 合併新舊知識,修正矛盾、剔除重複;
④ 精簡索引,刪除過時條目。
此設計靈感源自認知科學中的「記憶鞏固理論」——人類於睡眠中整理白日經驗,KAIROS 則於使用者離席時整理專案上下文。對使用者而言,這意味著:你使用 Claude Code 的時間越久,它對你專案的理解就越深刻,不只是「記得你說過什麼」,更是「理解你為什麼這麼做」。

第二大類開關為「反蒸餾與安全」(共 8 個),其中最具戰略意義的是 fake_tools 機制:當四項條件同時成立(編譯期 flag 啟用、CLI 入口啟動、使用第一方 API、遠端 GrowthBook 開關開啟),Claude Code 將於 API 請求中注入虛假工具定義,目的在污染潛在的 API 流量錄製行為——不阻止競品抄襲,而是確保它們抄到錯誤資訊。這是 AI 軍備競賽中一種嶄新的防禦形態。

此外,原始碼中亦多次出現代號 Capybara 的模型名稱,並細分為 Standard、Fast 與 Million-Context Window 三種版本,被廣泛推測為下一代 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 原訂於 2026 年 4 月 1 日至 7 日啟動內部測試,5 月正式上線,首批使用者為 Anthropic 內部員工。

51.2 萬行程式碼,98.4% 投入硬核工程建設;但在最後,仍有人花費心力,創造一隻會戴螺旋槳帽的電子蠑螈。或許,這才是整份原始碼中最富人性、最耐人尋味的那一行。

点赞0
《紅色沙漠》佛羅林聖物位置指南
« 上一篇 2026-04-01
BitMart VIP:三月加密市場回顧與熱點解析
下一篇 » 2026-04-01