3月31日,Anthropic在NPM包更新中意外泄露了Claude Code的完整TypeScript源碼——約1900個文件。雖然很快被撤回,但互聯網已經備份完畢。Haseeb Qureshi對源碼做了詳細拆解,我從構建者視角梳理了其中真正值得關注的設計決策:不是八卦,而是支撐數百萬次Agent會話的工程選擇。
核心認知:在生產環境中,模型本身只是基礎,外圍的"駕馭系統"(harness)才是體驗的關鍵。
![]()
四層上下文壓縮策略
上下文管理是生產級Agent最難解的問題。Claude Code設計了四層遞進機制:
第一層,主動監控:在API調用前檢查token數量,提前對舊消息做摘要。
第二層,被動響應:捕獲prompt_too_long錯誤,事后壓縮并重試,用戶無感知。
第三層,截斷模式:針對無頭/SDK自動化場景,直接截斷而非摘要,確保內存有界。
第四層,上下文坍縮:會話中壓縮冗長的工具輸出,每次坍縮記錄為ContextCollapseCommitEntry,支持選擇性回退。
多數Agent開發者只有一套策略:祈禱對話別太長。Claude Code準備了四層帶降級預案的方案。實際啟示:在上線長會話Agent前,先設計好壓縮階梯——5萬token時怎么辦?10萬token時怎么辦?工具返回1萬行日志時怎么辦?
系統提示的動態邊界
Claude Code用__SYSTEM_PROMPT_DYNAMIC_BOUNDARY__標記分割系統提示。標記上方是靜態部分(約3000 token的行為指令),下方是動態部分——每會話的CLAUDE.md文件、MCP服務器配置、活躍工具等。
靜態部分通過Blake2b哈希全局緩存,一份緩存攤薄到所有會話。動態部分每次重新加載。
這不是小優化。規模上去后,token成本指數級累積。正確的架構是:緩存所有不變的東西,只為必須新鮮的內容付全價。
對客戶端Agent的借鑒:有意分割系統提示。核心人設、規則、任務框架保持靜態;用戶上下文、活躍工作流狀態、檢索數據放在邊界之后加載。昂貴的部分免費獲得緩存收益。
權限拒絕反饋閉環
這點出乎意料。當Claude Code拒絕工具調用時——用戶阻止、鉤子拒絕、模式不允許——它不終止,而是將拒絕包裝為工具結果反饋給模型。
Claude看到的是:"你嘗試寫入此文件。權限被拒絕。"它會調整策略,嘗試其他方式,或以不同方式詢問用戶。
系統還會跨會話追蹤拒絕模式,并在IDE中呈現。多數Agent開發者把權限失敗視為終態:撞墻、報錯、停止。Claude Code將其視為模型應當讀取的信息。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.