Skip to content
所有標籤

#compaction

9 篇文章

CMU 11-768 導讀 A1:親手寫一個 agent harness——同一個 ReAct 迴圈,修 bug、壓上下文、下西洋棋

CMU 11-768 第一份作業要你從空白的 ReAct 迴圈做起:先讓 CodeAgent 用 bash 修好一個西洋棋 app 的 bug,再加上下文壓縮去修一題 SWE-bench,最後讓同一個迴圈變成下棋的 ChessAgent,並用 simulate_move、run_python 與 skill 做兩步搜尋;100 分全部靠離線重播 patch 與軌跡評分。

tech

Codex Turn 狀態機:TurnContext、StepActivation、Context Manager 與壓縮觸發

TurnContext 在 turn 初始化時捕獲所有設定(模型、審批、token budget),後續 step 透過 StepContext 讀取快照;StepActivation 驗證設定變更不違反 legacy 安全約束;ContextManager 用 Arc<Vec> + 版本號實現 Copy-on-Write 歷史共享;壓縮觸發條件為 token_remaining < threshold,支援 remote v1/v2、local、model fallback 四條路徑。

OMP 四種 compaction 策略:context-full / snapcompact / branch summary / shake —— 各解決什麼失敗模式、怎麼切換

omp 不只有一種 compaction:context-full 走 LLM 摘要、可疊代、失敗對半重切預算;snapcompact 不呼叫 LLM,把歷史壓成 PNG 讓 vision model 讀,解決無 API key / 低延遲 / 視覺模型便宜場景;branch summary 在 `/tree` 切分支時摘要被離開的段落;shake 純機械式把 tool-result 大段文字換成 placeholder,給 summary 太重、prune 不夠的緊急手動場景。四種策略分工明確,由 session maintenance 自動編排或使用者手動觸發。

pi-mono 深度導讀 12:Compaction 深度——策略、Token Estimation、Branch Summary、Structured Compaction

Compaction 完整機制:shouldCompact 觸發條件(token 佔比、訊息數)、estimateTokens 計算(字符/單字近似)、findCutPoint 尋找切點(保留最近 N 輪)、generateSummary 生成摘要(LLM 呼叫)、prepareCompaction 整理上下文、Branch Summary 生成、Structured Compaction(Extension 自訂 via fromHook)、CompactionEntry 細節、fromHook 機制、Compaction Settings。

pi-mono 深度導讀 5:Session Tree——Append-only JSONL、Branching 不改歷史、Compaction 邏輯完整解析

SessionManager 核心:JSONL append-only 儲存、id/parentId 形成樹、branch() 移動 leaf pointer 不改歷史、buildSessionContext() 處理 compaction entry、createBranchedSession() fork 新檔案。完整 Entry 類型:message、thinking_level_change、model_change、compaction、branch_summary、custom、custom_message、label、session_info。Migration v1→v2→v3 細節。

跟成熟 coding agent 學設計(26):Context 壓縮與 compaction——從缺口到可審計 baseline

五家成熟 agent 的 compaction 都要處理觸發、完整 turn 切點與失敗恢復。looplane 已補上 85% high-watermark、自動 compaction、原生 loop 的 deterministic fallback summary、checkpoint 落盤與 workspace context 重新注入;目前仍缺跨 runtime 等價 fallback、模型品質摘要,以及真實 provider 的長 session 驗證。

Looplane 的 context pressure、compaction 與 workspace reinjection

Looplane 在 85% context pressure 附近啟動兩種不同流程:native loop 可做一次 bounded deterministic summary fallback;支援原生 compaction 的 conversation runtime 則在完成 turn 後壓縮並回報 lifecycle。兩條路徑都會在下一次請求重新注入 workspace snapshot。

OpenClaw 的 Session 與記憶:一條滾動的主對話,加上四個會被寫進磁碟的檔案

預設下所有 DM 匯進同一條「主 session」,群組活動與背景工作都往那裡回報。記憶則完全是磁碟上的 Markdown——模型只記得被寫下來的東西,沒有隱藏狀態。但如果不只你一個人能私訊它,DM 隔離是必須主動打開的。

Claude Code 的 context window 怎麼管理:自動載入內容、各功能成本與 compaction 三件套

Claude Code 在你打第一個字之前就載入了 system prompt、MEMORY.md、CLAUDE.md、MCP tool 名稱和 skill 描述。本文拆解 session 開頭的自動載入內容、六類擴充功能各自的 context 成本,以及 /compact、/autocompact、autoCompactWindow 三層壓縮控制的用法。