Token 壓縮優化¶
Token 壓縮優化(Token Compression Optimization)是指通過將原始文本或代碼轉換為更緊湊的結構化表示(如知識圖譜或抽象語法樹),從而大幅降低大語言模型(LLM)上下文窗口消耗的技術^[001-TODO__Graphify_-_AI編程助手知識圖譜技能.md]。
這種優化通常用於處理大型代碼庫或長篇文檔,旨在解決 AI 編程助手每次對話都必須重新讀取所有文件導致的 Token 開銷過高問題^[001-TODO__Graphify_-_AI編程助手知識圖譜技能.md]。
核心原理¶
Token 壓縮的核心在於「提取結構,捨棄冗餘」。傳統的 RAG(檢索增強生成)雖然可以過濾文件,但往往丟失了代碼庫的整體結構信息;而壓縮優化則嘗試保留語義和拓撲結構,去除不必要的字符和標注^[001-TODO__Graphify_-_AI編程助手知識圖譜技能.md]。
常見的壓縮路徑包括: 1. 解析與提取:利用工具(如 tree-sitter)解析代碼,提取類、函數、導入關係、調用圖及文檔字符串,而非直接發送原始代碼文本^[001-TODO__Graphify_-AI編程助手知識圖譜技能.md]。 2. 結構化存儲:將提取的實體與關係存儲為圖譜(JSON 格式)或 HTML 可視化文件^[001-TODO__Graphify-AI編程助手知識圖譜技能.md]。 3. 查詢時讀取:AI 助手在查詢時讀取的是壓縮後的圖譜數據,而非原始文件,從而顯著減少 Token 使用量^[001-TODO__Graphify-_AI編程助手知識圖譜技能.md]。
性能與效果¶
根據實測數據,Token 壓縮技術能夠帶來顯著的效率提升。例如,針對包含 Karpathy 倉庫、多篇論文及圖片的混合語料(52 個文件),通過知識圖譜技術處理後,Token 壓縮比達到了 71.5 倍^[001-TODO__Graphify_-_AI編程助手知識圖譜技能.md]。
此外,該方法還支持 SHA256 緩存機制,系統會對處理過的文件進行哈希校驗,在後續構建中僅對變更的文件進行增量處理,進一步節省了計算資源和 API 調用成本^[001-TODO__Graphify_-_AI編程助手知識圖譜技能.md]。
技術實現¶
在技術實現上,Token 壓縮通常結合本地解析與 LLM 語義提取^[001-TODO__Graphify_-_AI編程助手知識圖譜技能.md]:
- 代碼處理:採用
tree-sitter在本地進行解析,提取抽象語法樹(AST)。這一步不消耗 LLM Token,且能準確獲取代碼結構^[001-TODO__Graphify_-_AI編程助手知識圖譜技能.md]。 - 多模態處理:對於 PDF、Markdown、截圖、視頻和音頻等非代碼素材,利用 LLM 子代理(Claude/GPT)並行處理,提取其中的概念、關係和設計決策,並合併到圖譜中^[001-TODO__Graphify_-_AI編程助手知識圖譜技能.md]。
- 可視化與輸出:生成的圖譜可輸出為 HTML(交互式)、JSON(用於 API 查詢)或 Obsidian vault 格式,方便不同場景下的使用^[001-TODO__Graphify_-_AI編程助手知識圖譜技能.md]。
應用場景¶
- 大型代碼庫理解:幫助 AI 助手快速理解整個項目的結構和設計決策,而不是局限於單個文件片段^[001-TODO__Graphify_-_AI編程助手知識圖譜技能.md]。
- 異構素材關聯:將代碼、文檔、論文和會議記錄(視頻/音頻)關聯起來,追溯設計的來源^[001-TODO__Graphify_-_AI編程助手知識圖譜技能.md]。
- MPA(多步代理)系統:作為 MCP Server 工具暴露,支持
query_graph、get_node和shortest_path等操作,使代理能夠高效訪問知識庫^[001-TODO__Graphify_-_AI編程助手知識圖譜技能.md]。
相關概念¶
- [[抽象語法樹]]
- [[知識圖譜]]
- [[RAG(檢索增強生成)]]
- Graphify
Sources¶
001-TODO__Graphify_-_AI編程助手知識圖譜技能.md