Codex 嘅加密摘要同 Session 交接:脈絡管理先係 AI 編程嘅真正樽頸
深入剖析 Claude Code 嘅 compaction 機制、Codex 加密摘要嘅逆向工程結果,以及跨 session 脈絡交接嘅實戰方案。
快速摘要
深入剖析 Claude Code 嘅 compaction 機制、Codex 加密摘要嘅逆向工程結果,以及跨 session 脈絡交接嘅實戰方案。
用 Claude Code 用得夠耐,一定會見到「Compacting conversation…」呢個提示。之後答案開始飄移,等待時間又急升。200K token 嘅 context window,其實比你想像中填滿得更快。
坊間一直流傳 OpenAI 嘅 Codex 處理呢個問題嘅方式更聰明,所以我翻查咗所有能搵到嘅公開分析。
摘要終究都係遺忘
對話愈來愈長,AI 忘記早期內容係結構性限制。Context window 上限係 200K token,一次大型編程 session 輕易就超過。就算做咗摘要,原本嘅對話已經消失——準確度不可避免地下滑。
我自己親身試過幾十次:compaction 之後再問「之前討論嘅嗰個 function」,得到嘅係完全錯誤嘅答案。
- Claude Code 默認 200K token window,一次大型重構 session 就用完
- 摘要取代原文 → 詳細脈絡流失 → 答案質素下降
- Tool call 結果喺摘要裡被壓平,殺傷力尤其大
Codex 嘅 Compaction 原來係「加密摘要」
Krafton CAIO Kangwook Lee 用兩次 prompt injection 對 Codex 內部流程做咗逆向工程,結果相當有趣。
當 Codex model 嘅 compact() API 被呼叫,server 端一個獨立 LLM 會摘要對話,然後將結果以 AES 加密傳回。下一輪對話時,呢個加密 blob 會被解密,加上「以下係上次對話摘要」嘅交接 prompt 前綴,再餵給 model。
- 內容與開源 Codex CLI 針對非 codex model 嘅 compaction prompt 幾乎一樣
- 加密原因至今不明——有可能包含 tool call 恢復數據
- 可用 35 行 Python 重現(Kangwook Lee 已公開腳本)
- OpenAI 官方 API 透過
compact_threshold設定支援 server 端自動 compaction
真正嘅分別在於 Session 點樣交接
比 compaction 本身更有趣嘅,係跨 session 嘅脈絡傳遞。有位開發者嘅自動化方案令我印象深刻——我稱之為「session 交接」模式。
喺 compaction 之前,write 工具會被封鎖,只從 JSONL session log 提取用戶訊息同 thinking block,比原始數據縮減 98%。然後三個 sub-agent 透過搜索原始 log 找出摘要嘅漏洞,將所有內容整合成 resume-prompt.md 文件。
VS Code 嘅 file watcher 偵測到呢個文件後,自動開啟新 session 並無縫繼承之前嘅脈絡。
- Pre-compact hook 喺 compaction 前封鎖 write → 防止不完整狀態下修改代碼
- JSONL → MD 轉換只保留用戶訊息、系統訊息同 thinking block
- Sub-agent 進行 gap analysis,從原始 log 補回遺漏資訊
- 有報告顯示 build 效率提升 10 倍
真正嘅關鍵係 Session Log 搜索同 KV Cache
Session 數據以 JSONL 形式累積,決定性因素係你能否從中精準取回所需脈絡。答案唔係更好嘅摘要——而係跨過去 session 嘅 retrieval-based 搜索。
再加上 KV cache hit rate,重用相同 prompt 前綴可以同時削減成本同回應延遲。喺我設計自己嘅 session 資料夾結構時,以 session ID 為基礎嘅存檔對搜索速度影響最大。結合我昨日介紹嘅 QMD 做預先索引,睇嚟係個值得探索嘅方向。
- 保留原始 JSONL 讓你需要時可以精準搜索
resume-prompt.md包含上一個 session 摘要、gap analysis 結果同修改過嘅文件清單- 固定 system prompt 同交接 prompt 前綴,最大化 KV cache 命中率
- Session 存檔自動化,讓脈絡跨越幾十個連續 session 都唔斷
AI 編程嘅真正樽頸係脈絡管理
AI 編程工具嘅真正樽頸唔係 model 性能——係脈絡管理。設計一套能夠取回被遺忘內容嘅系統,比完善摘要更重要。
Compaction 必然會有資訊流失。真正重要嘅係同時建立兩樣嘢:一條能夠取回流失資訊嘅搜索流水線,以及一套能夠在 session 之間無縫傳遞脈絡嘅交接架構。
本文基於 Kangwook Lee, CAIO 嘅分析整理而成。
訂閱通訊
獲取關於我最新項目、文章同埋 AI 和 Web 開發實驗嘅更新。