方法提供上下文 · 08
长任务怎样继续与交接
用已确认事项、失败证据和下一步保存任务状态,避免新会话重做或沿用错误结论。
适用范围与参考来源
适用范围 / 版本基线
文件驱动的项目协作Codex 与 Claude Code
资料按 2026-09-05 核对;自建记忆与交接示例是教学方案,不代表工具会自动加载任意文件。
阅读前建议给 AI 足够且准确的上下文
同一轮工作聊了很久,AI 又开始建议已经否决的方案,或声称一个没有验证的修改“已完成”。这时要整理的不是知识原理,而是当前任务的状态。
本章处理一件事做到一半如何继续;跨任务保存稳定事实,放在项目记忆。
先判断要继续,还是重新开会话
| 当前情况 | 处理 |
|---|---|
| 目标不变,只缺一张截图或一段日志 | 在原会话补材料 |
| 同一问题有大量重复输出 | 提炼结果、保留原始证据入口 |
| 已否决方案与新方案反复混淆 | 写清已选与已弃方案,再继续或新开 |
| 要开始完全不同的任务 | 新会话,避免旧限制污染判断 |
| 要独立评审已有实现 | 新上下文提供需求、diff 和证据,不只给实现者总结 |
上下文压缩可以降低历史负担,但摘要可能遗漏信息。Anthropic 的长任务上下文讨论也把压缩与结构化记录区分开来。不要把“已经压缩”当成“所有决定一定保留”。
一份交接记录应该保留什么
以下是以本站对齐问题为背景的教学交接示例,不是当前未完成事项:
# 任务:统一全站水平边界
目标
首页、笔记、工具的 Header、外层正文、Footer 对齐。
保留白底、现有导航与卡片,不重做视觉。
已确认
只允许导航选中状态随路由变化。
文章内部阅读列不要求铺满外容器。
当前状态
已找到 globals.css 中的共享容器定义。
Header 已检查;笔记、工具、Footer 的浏览器复核未完成。
原工作区另有内容改动,不属于此任务。
已否决
只改 Header 的独立 max-width:会与正文再次形成两套规则。
证据入口
src/app/globals.css
src/components/header.tsx
src/components/footer.tsx
下一步
读取最新 diff;确认页面未叠加限宽;
在同一视口依次打开三个页面,再检查手机。
授权
只做本地修改与检查,不提交、不发布。“已经尝试了很多方案”没有接手价值;“只改 Header 已否决,因为正文仍使用另一套规则”有。
新会话先复核什么
交接材料不能替代现场检查。新会话先确认:
- 仓库、分支、工作区状态是否与记录一致。
- 相关文件有没有在记录之后改变。
- 页面服务是否仍运行,地址是不是当前任务的服务。
- 哪些检查只针对旧代码,不能复用于新改动。
如果本地预览从 3000 换到 3010,旧截图并不能证明新服务的状态。端口是当前任务信息,不适合写成永久项目记忆。
一个容易损坏结论的摘要
原始情况:“测试通过;构建被环境限制阻止;移动端还没看。”
错误摘要:“代码已验证,准备提交。”
正确摘要应逐项保留:
已验证:测试通过,对应当前 diff。
受阻:构建未完成,原因是环境限制,尚不能判断构建结果。
未执行:移动端页面检查。
下一步:解决构建环境后补验,再看手机布局。状态字段越明确,越不容易把推断升级成事实。
不要为了清爽丢掉关键材料
保留能改变决策的错误、用户取舍、授权边界和验证缺口;可以省略重复日志、寒暄、无关探索结果。完整日志或截图较大时,只在交接中放已保存且可访问的路径。
也不必规定“纠正两次必须重来”。如果缺的是正文容器文件,新开十次会话仍然会缺。先补事实,再决定是否更换上下文。