Claude Code露出來的,不止51萬行程式碼
- 核心觀點:Anthropic因技術失誤導致其Claude Code專案的原始碼通過npm包中的.map檔案洩露,揭示了其作為AI程式設計助手的底層架構、多智慧體協作機制以及一個名為Buddy的隱藏電子寵物功能,展現了產品向長期互動和陪伴感發展的趨勢。
- 關鍵要素:
- 洩露源頭為@anthropic-ai/claude-code包的cli.js.map檔案,內含約51.2萬行程式碼,暴露了4756個原始檔,包括核心產品實現。
- 程式碼架構顯示系統採用模組化設計,將介面、執行環境、工具呼叫等分離,便於擴充和維護,並採用多智慧體協作處理複雜任務。
- 洩露內容揭示了一個名為Buddy的隱藏電子寵物功能,擁有稀有度、物種、外觀和屬性系統,設計為長期存在而非一次性愚人節活動。
- Buddy根據使用者ID雜湊生成,稀有度分五檔(如傳奇級佔1%),物種18種,屬性值基於稀有度隨機分配,目前無成長機制。
- 此次洩露事件凸顯了AI智慧體(Agent)工程中關於長期判斷記錄、信用沉澱和持續回饋等更深層次的挑戰與發展方向。
事件的起因
此次文件是使用者 Chaofan Shou 在 X 上先放出來的。Anthropic 官方npm套件@anthropic-ai/claude-code 的 2.1.88 版本裡,帶了一個大約 60MB 的cli.js.map。這個檔案把檔案名稱和原始碼內容一起帶了出去。別人拿到以後,就能順著往下提取程式碼。幾小時後,GitHub 上的鏡像儲存庫已經衝到幾千顆星。Anthropic 開始刪檔案、發 DMCA(依據美國版權法要求下架),傳播還是攔不住。

一個.map 檔案
這件事的機制很簡單。.map檔案本來就是給除錯用的。裡面如果把原始碼內容一起帶進來,別人拿到這個檔案,就能把程式碼往外提取。沒有多複雜的逆向過程,就是發佈套件前最後一道檢查沒有做乾淨,程式碼就跟著套件一起發出去了。是一個很低級的失誤。

Claude Code 所洩漏的執行邏輯
51.2 萬行這個數字很大,洩漏的是一整層產品實作。材料裡能看到 4756 個原始檔案內容,其中 1906 個是 Claude Code 自己寫的程式碼,剩下的大多是它呼叫的外部工具和函式庫。
透過程式碼能發現,介面、執行環境、工具、中樞、記憶、權限、編輯器橋接,都是分開搭建的。這樣後面要加工具,改行為,接新入口,都更容易。整套系統也更容易繼續擴充。
互動和執行部分深度綁定。使用者在終端機裡輸一句,它就直接接收處理,然後把結果發回來。這種一輪一輪往前推進的方式,很貼合寫程式碼的過程。在寫程式碼時,很多時候就是邊試邊改,邊看邊修。
在工具呼叫方面,則連成了一整套動作。它會先讀檔案,再改程式碼,再執行指令,最後看結果,然後繼續下一步。這樣它處理的就不只是一次回答,而是一整段連續操作。
另外遇到複雜任務時,Claude 處理方式是將任務拆分給多個代理(agent),最後統一將結果回收再處理,這樣單個代理背的上下文會輕一些。中間哪一步出了問題,也更容易找到位置。
這也是為什麼我們能發現 Claude Code 現在已經是一個真能幹活的開發工具,而不只是一個會補全文字的模型。

Buddy
這次真正帶火的,反而是此前未公開的一個功能——Buddy,帶稀有度和屬性以及 18 個物種的電子寵物。
它是今年愚人節彩蛋。使用者在輸入框旁邊會看到一個小夥伴,平時會眨眼,會做小動作,也會偶爾冒出一句氣泡對話。輸入/buddy pet,它還會飄愛心。直接叫它名字,它也會回覆你一句。它不碰核心程式碼,只是作為陪伴。
Buddy 不是靠反覆抽卡刷出來的。系統會拿你的 userid,再加上一段固定字串,做一次雜湊,再丟進一個固定隨機種子裡生成結果。同一個 userid 只能拿到一隻,無法重複去刷,拿到什麼稀有度純看運氣。
關於稀有度有五檔。common 佔 60%,uncommon 佔 25%,rare 佔 10%,epic 佔 4%,最稀有的 legendary 佔 1%。物種一共有 18 種,包括鴨子、龍、六角恐龍、水豚、蘑菇、機器人、蝸牛、烏龜這些。物種和稀有度之間沒有綁定關係,是兩套獨立抽法,完全隨機。
Buddy 的眼睛、帽子還有機會閃光,閃光機率是 1%。帽子只會出現在非普通檔位裡,類型包括王冠、禮帽、螺旋槳帽、光環、巫師帽、毛線帽、小鴨帽這些。和稀有度一樣,這些外觀也是開始時一起生成的,後面不會變。
屬性一共有五項。DEBUGGING、PATIENCE、CHAOS、WISDOM、SNARK。系統會先按抽取的稀有度給一個基礎分,之後隨機選一個主屬性拉高,再選一個弱屬性壓低,剩下幾個屬性值在兩者間隨機。稀有度越高,整體屬性就可能越高。屬性現在還沒有成長機制,不會因為你寫程式碼得久寫得多就升級。
至於未來會不會下架,從洩漏的程式碼裡可以看到。4 月 1 日到 7 日是預熱階段,開屏會給 Buddy 做一層彩虹提示。註解寫得很直接,Command stays live forever after,指令本身會繼續保留,不像一次性的愚人節活動。

Buddy 放進去以後,Claude 就不只是一個在終端機裡執行指令的工具了。它開始帶一點陪伴感,也說明 Claude 可能開始往長期駐留、持續互動的方向發展。
Claude Code 這次洩漏,讓 Anthropic 平時藏在介面底下的秘密第一次展現在了外界,也讓我們明白了 Claude 如此好用的底層核心。Claude Code 此次事件還是在代理工程這一層級,主要圍繞工具怎麼接、任務怎麼拆、多代理怎麼協同。但當我們順著程式碼再往後看,問題就會落到另一維度:代理們的判斷如何長期記錄,如何持續檢驗,如何在真實結果裡篩選,如何把短期表現和長期信用分開。NeoSoul 想要去實現的,正是這一維度。代理不再只是一個會回答問題的工具,而是把它的判斷放進一個持續回饋、結果承擔和信用沉澱的系統裡,讓代理的能力可以被長期比較、長期篩選和長期累積。


