Claude Code 长任务怎么接着做?压缩、换会话与交接验收
先把任务状态写进可核对的文件,再决定压缩或换会话。同一任务只是对话变长,可以带重点执行 /compact;退出后继续旧任务,可以恢复原会话;准备整理混乱的讨论再继续,则先完成交接记录,再让新会话核对文件与下一步。无论哪条路径,都要检查关键约束和实际代码状态,不能只听一句“我记住了”。
本文聚焦 Claude Code CLI 的任务续接,官方资料核对于 2026 年 10 月 24 日。模板是云岚API整理的工作记录,不是官方内置功能;本次没有执行真实项目的压缩测试,也不承诺完整保留所有细节。
先判断:继续、压缩,还是换会话?
| 当前情况 | 可选动作 | 动作前后要核对什么 |
|---|---|---|
| 只是退出了工具,任务与代码没变 | 恢复原会话 | 是否选对项目目录和任务 |
| 任务仍清楚,但文件阅读和工具输出很多 | 保存交接记录,再压缩当前会话 | 目标、约束、未完成项是否保留 |
| 已反复改变方案,旧讨论容易误导下一步 | 整理当前有效结论,开新会话读取 | 哪些决策有效,哪些方案已放弃 |
| 已经转向无关任务 | 使用独立新会话 | 旧任务是否留有可继续的记录 |
CLI 中,claude --continue 继续当前目录最近的会话,claude --resume 打开选择器;/clear 开始新的对话上下文,项目记忆仍保留,也不会撤销磁盘上的改动;/compact 总结当前对话。它们解决的问题不同,不必遇到长任务就全部执行一遍。会话管理与命令说明
离开前,保存七项能查证的状态
下载 Claude Code 任务交接模板,在项目中另存为容易找到的文件,例如 docs/handoff-login-fix.md,把路径告知 Claude。普通 Markdown 文件不会因为取名为 handoff 就自动成为项目指令,需要明确让新会话读取。
| 记录项 | 怎样写才便于继续 |
|---|---|
| 目标与完成标准 | 用户要什么,出现什么结果才算完成 |
| 当前状态 | 已完成、进行中、尚未开始分别列出;推测标为待验证 |
| 文件与版本 | 项目目录、分支或提交、修改文件、未提交改动及产物位置 |
| 约束与决策 | 必须保持的行为、已选方案及理由、已放弃方案 |
| 测试证据 | 命令、执行目录、时间、退出状态和日志位置;未跑写未跑 |
| 未决与后台任务 | 已知失败、等待条件、仍在运行的命令或任务 |
| 下一步与恢复验收 | 先核对什么,再做哪一个具体动作,如何判断接续成功 |
请 Claude 先按模板整理,你再检查它是否把“计划修改”写成“已经修改”,或把过期测试写成当前通过。使用 Git 的项目可在本地核对 git status --short、git diff --stat 与相关差异;未跟踪文件也要单独记录。交接文件不能替代代码本身或备份。
测试应写得足够具体。例如“登录单元测试曾通过,命令和日志见记录;浏览器回归未跑”,比“测试没问题”更有用。发生在之后的代码改动,要标明哪些旧结果可能失效。无需把完整日志、聊天记录和所有文件内容都塞进交接文件。
压缩当前会话:保留重点,再验证
先用 /context 查看当前上下文;若继续同一任务,可以给压缩指定重点,例如:
/compact 保留登录修复目标、不可改变的接口行为、已改文件、测试结果与尚未解决的问题;交接记录在 docs/handoff-login-fix.md
路径和任务名要换成自己的。官方说明压缩会总结对话,较早的详细指令可能丢失;指定重点有助于引导摘要,但仍应核对结果。上下文处理说明
压缩后,让 Claude 读取交接文件,列出当前目标、关键约束和下一步,并指出依据的文件。如果它只重复摘要却找不到相关实现,先重新读取必要文件,纠正差异后再继续编辑。
长期适用的项目规则可放进项目根目录 CLAUDE.md;本次临时进度保留在交接文件。官方文档区分根目录规则与按需加载的子目录规则,并提醒指令文件也不保证严格遵循,仍需验收。记忆与项目指令
新会话:先对齐现场,再做下一步
在正确项目目录启动新会话,把下面提示中的路径换掉:
请先读取 docs/handoff-login-fix.md,只做状态核对,暂不编辑。
核对当前目录、分支、修改文件、目标和约束,列出记录与实际文件的差异。
区分已有测试证据、尚未验证的假设和未完成事项。
然后说明建议的第一个动作及验收方式,确认状态一致后继续原任务。
如果换了机器或工作副本,要先确认目标位置确实有代码、未提交改动、交接文件和所需日志。会话中的路径可能已经失效;一个文件名不能证明内容一致。模板里的更新时间、提交和差异摘要,就是为了识别这类偏差。
恢复后按下面四层检查,而不是重新跑所有历史操作:
| 检查层 | 通过标准 |
|---|---|
| 任务 | 能准确说明目标、范围和未决事项,没有擅自扩大任务 |
| 文件 | 找到相关实现,记录与磁盘差异已经解释 |
| 验证 | 旧测试有来源;受新增改动影响的检查已重跑或明确待跑 |
| 接续 | 完成一个原定下一步,结果符合约束,并更新交接记录 |
例如上次留下一个失败用例,新会话应先定位该用例及相关代码,判断是否仍失败,再实施修复。不要因为交接写着“可能是缓存”就把推测当原因,也不要重复启动尚在运行的任务。
把会话、文件和费用分开核对
压缩后的摘要、磁盘文件和后台命令各有状态。官方说明后台任务可以在压缩期间继续运行;因此交接时要记录仍在工作的任务,恢复时先查看当前结果。压缩后保留哪些内容
需要撤销错误改动时,另查检查点或版本控制。检查点对文件与外部操作有适用边界,不能把恢复一段对话当成代码、数据库和部署全部回到了过去。检查点限制
压缩或换会话也不保证账单按 token 减少比例下降:缓存、重新读取和返工都会影响费用。看单次缓存证据用缓存未命中排查,按合格任务估算开销用月预算工具。连接配置仍由Claude Code 接入教程承接。
常见问题
写了交接文件,就能无损恢复吗?
不能。遗漏、陈旧记录和错误推测都可能影响继续执行。交接文件提供可查证的线索;真正的验收是核对文件、约束和测试,并完成下一步。
没来得及写交接,原会话已经关了怎么办?
先用会话选择器寻找原记录;能恢复时,再结合当前文件补交接。找不到会话,就从代码差异、任务说明与日志重建状态,无法确认的内容标为未知,不让模型编出“之前已经通过”。
看到 remote compact 报错,也用这个模板吗?
模板可保存任务状态,但不能解释网络或协议错误。Codex 的 remote compact 属于另一工具场景,先按Codex 流式中断诊断记录证据;不要把其报错结论直接套到 Claude Code。
