第 5 章研究笔记
关键源码
restored-src/src/services/compact/compact.tsrestored-src/src/services/compact/autoCompact.tsrestored-src/src/services/compact/microCompact.tsrestored-src/src/services/compact/sessionMemoryCompact.tsrestored-src/src/utils/sessionStorage.tsrestored-src/src/utils/messages.tsrestored-src/src/utils/attachments.tsrestored-src/src/memdir/
架构提炼
Claude Code 通过多层机制解决长会话问题:
- append-only JSONL transcript。
- message uuid 和 parent uuid。
- tool_use/tool_result 配对修复。
- compact boundary。
- auto compact。
- microcompact。
- session memory compact。
- attachments 与 memory 重新注入。
值得学习:
- 会话日志应该是可恢复执行轨迹,不只是聊天文本。
- progress 这类 UI 临时状态不应该污染 transcript。
- compact 后要保留当前任务所需的文件、skills 和最近上下文。
- 记忆写入应经过用户确认或至少先提案。
谨慎照搬:
- 多套 compact 策略和 feature flag 非常重。
- 大文件 tail scan、tombstone、branch byte filter 等优化适合大型产品,不适合第一版。