第3天使用Claude Code:我如何停止因Compaction而丢失工作(Real Workflow)

发布: (2026年2月21日 GMT+8 13:12)
5 分钟阅读
原文: Dev.to

Source: Dev.to

没有人提醒你的问题

你已经和 Claude Code 进行了一场 90 分钟的复杂重构。所有的思路都已经理清,你已经建立了模式,处理了边缘情况,离完成已经不远了。
然后,压缩(compaction)来了。

Claude 总结了会话,丢失了一半的上下文,回来后对你一个小时前做出的决定感到困惑。最糟糕的情况是,它会重新做你已经完成的工作——甚至把它撤销。我曾在三次不同的情况下因为这种情况失去了三小时的工作,之后才建立起合适的工作流。

压缩期间的上下文丢失不是随机的。 它会持续性地清除:

  • 决策和拒绝 —— 你告诉 Claude 不要 做的事情会被忘记。
  • 已建立的模式 —— 你在会话中协商的编码约定。
  • 进行中的工作 —— 已完成 80% 但尚未提交的任务。
  • 文件关系 —— 哪些模块相互调用,这些是通过探索发现的。

Claude 生成的摘要是乐观的:它捕捉了任务,却没有捕捉背后的推理。它知道 你在做什么,但不知道 为什么该避免什么


解决方案:会话管理工作流

在项目根目录创建 SESSION.md

# Session Context

## Active Goal
One sentence: what are we trying to accomplish

## Key Decisions Made
- Decision 1 and the reason
- Decision 2 and the reason

## What NOT To Do
- Approach we rejected and why

## Current State
Files changed, state of in‑progress work

此文件充当 压缩保险——Claude 每次都会重新加载它。

定期更新 SESSION.md

  • 每 20–30 分钟刷新一次。
  • 大约需要 2 分钟,但可以节省数小时的返工时间。

使用自定义压缩提示

当上下文变长时,运行:

/compact "Please include in your summary: all rejected approaches, all active decisions with reasoning, all files currently being modified, and the exact current state of any in‑progress task."

自定义压缩提示可以显著提升摘要质量。

在继续之前验证 Claude 的理解

不要直接跳回任务,而是先询问:

What is the current state of what we are working on, and what decisions have we made so far?

如果答案错误或不完整,请先纠正再继续。

使用 Mantra 完整会话快照

对于关键的工作会话,使用 Mantra 捕获整个 Claude Code 对话的“保存状态”。在任何风险操作或自然断点之前,Mantra 会记录完整上下文,方便你精确恢复。

  • 将其视为视频游戏中的快速保存功能。
  • 该工具本地存储快照,兼容 Claude Code、Cursor 和 Windsurf,并提供可视化浏览快照的功能,让你随时查看任意时刻的上下文。
  • 免费下载:

为什么会话管理很重要

会话丢失表明你正在用 Claude Code 进行真实、复杂的工作。最有野心的开发者已经构建了稳健的会话管理工作流;仍然因为压缩而丢失工作的人尚未养成这种习惯。

入门步骤

  1. 在项目中添加 SESSION.md 文件(成本 = 0,立竿见影的收益)。
  2. 每半小时更新一次。
  3. 根据需要使用自定义 /compact 提示。
  4. 当风险较高时,加入 Mantra 快照。

你在使用哪些会话管理策略?

0 浏览
Back to Blog

相关文章

阅读更多 »

Subnetting 详解

什么是 Subnetting?可以把它想象成把一栋大型公寓楼拆分成不同的楼层。每层 subnet 拥有自己的编号主机(hosts),以及建筑……