生活分享

上下文与工作交接

长工作需要把决策与证据留下,不能只依靠对话长度。README 说明怎么使用专案,设计文件记录为何这样做,交接文件整理目前做到哪里;AGENTS.md 则放持续有效的工作规则,避免把所有进度塞成规则。

阅读时间约 12 分钟 · 操作 22 分钟

实作顺序示意图,非产品介面截图。
图片:Mokaair (© Mokaair)
回总目录:Codex 学习中心:完整教程目录

实践 · Desktop / CLI / VS Code / JetBrains / cloud

本篇目录
  1. 目标与准备
  2. 步骤 1:准备故障副本与状态标记
  3. 步骤 2:写一份可查证的交接
  4. 步骤 3:让交接刻意过期,再交给新任务
  5. 长对话、compact 与文件分工
  6. 常见问题、还原与验收

目标与准备

保留对话,但对话不一定包含磁碟最新内容。交接文件的工作是保存目标、已确认的事实、未解问题与下一步,让新任务能重新验证。它不是把所有聊天复制成长文,也不是加入一个档案就自动被所有工作阶段读取;应在新任务明确要求读取。

步骤 1:准备故障副本与状态标记

取得的练习 ZIP,把 broken 中五个档案复制到新资料夹 codex-handoff-lab。这份故障与 start 不同:Completed 误回传未完成任务。用编辑器开根目录并新增 LAB_STATE.txt,内容如下。PowerShell 用 Get-Location,macOS/Linux 用 pwd,确认操作位置后执行测试。

档案内容:存入 LAB_STATE.txt · text
Lab: codex-handoff-lab
Revision: BROKEN-1
系统终端机:先核对本篇指定的练习目录 · sh
node --test core.test.mjs

预期是 2 过 1 败,失败在筛选行为。只有真的执行得到这个结果,才能在交接写「已确认」。没有 Node 或路径错误,就写阻碍与实际错误摘要,不填预设成功数字。不要保存帐号、金钥或完整私密工具输出;这个教材只需要虚构标记与相关测试资讯。

步骤 2:写一份可查证的交接

在根目录建立 handoff.md。下面是完成基准测试后可使用的完整范例;如果你的结果不同,先更正 Observed 栏位。目标说明要做到什么,Scope 指出可以改哪里,Observed 带上版本与命令,Not checked 保留缺少的证据,Next 让接手者知道第一步要确认什么。

交接范例:基准结果相符后才存入 handoff.md · markdown
# Small Steps handoff

## Goal
Completed shows only completed tasks. Keep ordering, storage and existing UI.

## Scope
Lab: codex-handoff-lab. Only core.mjs may need a program change.
Do not change tests or add dependencies. Preserve other work.

## Observed
LAB_STATE.txt: Revision: BROKEN-1.
Command: node --test core.test.mjs
Result: 2 passed, 1 failed in the filter case.
The completed branch of visibleTasks currently selects unfinished tasks.

## Not checked
Browser interaction: NOT RUN.
Publishing and deployment: NOT PERFORMED.

## Next
1. Re-read LAB_STATE.txt, core.mjs and the test file; do not trust this record over current files.
2. Re-run the baseline before deciding whether a fix is still needed.
3. If still faulty, change only the completed predicate, then test and review the diff.
4. Manually check Read completed / Build active under all three filters.

## Stop condition
If revision, test results or files differ, report the mismatch and revise this record before editing program code.

不要把「已做了一些修改」当成可验证成果。写出档案、具体行为、执行过的命令与未执行的检查,才方便下一个人重做。正式 Git 专案可加分支与 commit,但未提交的变更仍需看 diff;commit 相同不能证明工作树相同。本练习不需要为了填栏位捏造 commit ID。

步骤 3:让交接刻意过期,再交给新任务

现在做一次受控改动:只把 ZIP 里 expected/core.mjs 复制到本练习的 core.mjs,将 LAB_STATE.txt 的 Revision 改成 FIXED-2,暂时不改 handoff.md。再跑测试应 3 项全过。这模拟你离开后另一位协作者已修好程式,但聊天与文件仍记著故障。整个网站仍是同一份教材,测试档没有变。

桌面版在同一练习专案新建任务,CLI 则先 /exit 回系统终端机,确认目录后重新执行 codex,这次不用 resume。把下列要求送到新任务。预期它辨识 FIXED-2、旧交接 BROKEN-1 与 3 项通过之间的差异,提出只更新交接记录,不再改已正确的筛选函式。

自然语言提示词:在本练习的 Codex 任务输入 · text
Continue this lab using handoff.md, but first verify it against current files. Read LAB_STATE.txt, core.mjs and core.test.mjs. Run node --test core.test.mjs. Do not edit anything yet.
Compare the recorded revision, predicate and test result with current evidence. Report mismatches and propose the smallest next step. Browser checks must remain NOT RUN unless actually performed.

若它仍想修正 Completed,要求指出目前哪一行错、哪个测试还失败;不要用旧纪录覆盖刚读到的证据。确认后只允许更新 handoff.md:Observed 改为 FIXED-2 与真正 3 项通过,Next 改为未完成的画面验证。保留「原交接过期,已重新核对」的短记录,让版本差异有原因可追。

长对话、compact 与文件分工

CLI 的 /compact 可压缩长对话保留重要内容;在互动输入框使用,若介面要求确认就依提示操作,完成后请它重述目标、限制与未完成项目并和 handoff.md 对照。本练习不需要刻意灌满对话。压缩不能当作档案备份、Git 还原或一定不漏细节的保证,重要决策应保存在可重新读取的文件。

文件保存什么何时更新
AGENTS.md长期规则与命令团队工作方式改变
README.md专案入口与启动方法使用方式改变
设计文件行为、取舍、限制接受新的设计决策
handoff.md当前证据、阻碍、下一步暂停、交接或验证后

压缩之后做一次唯读交接核对

互动斜线指令:在 Codex CLI 内输入 · text
/compact

只在需要整理的原 CLI 任务使用上面指令,待压缩结束后送出下面要求;不为了练习另外灌入大量对话。合格回复应保留只改 core.mjs 的原范围、测试不可变,以及画面未验收的状态。若摘要遗漏限制,依磁碟文件补回;不要为了让摘要看起来一致而把 FIXED-2 改成 BROKEN-1。

自然语言提示词:在本练习的 Codex 任务输入 · text
After compaction, read handoff.md and LAB_STATE.txt from disk. Restate the goal, allowed changes, preserved files, actual recorded checks and remaining work. Compare the summary with the files and identify conflicts or missing constraints. Do not edit files or rerun tests in this check. Label recorded evidence separately from checks performed in this turn.

这些角色可参考。不要把一次故障的完整记录长期塞进 AGENTS.md,让每个任务都带著过期资讯。交接最上方放眼前目标与最新核对日期,已解决项目用简短结果保留,失效的路径及临时猜测要删除或注明,避免接手者把历史假设当现况。

常见问题、还原与验收

新任务说找不到文件,先核对工作目录与档名,不立刻让它搜寻整台电脑;它没读交接,就明确附上路径并要求回报读到的 Revision;命令在别的目录成功,不能当作这份程式已通过。若测试失败与交接不同,保留两份结果与时间,重新读相关档案后再决定,不先改测试来配合旧记录。

完成时应有旧纪录与新磁碟不一致的说明、更新的 handoff.md,以及 core.mjs 未被重复修改的证据。想重做只还原 broken/core.mjs、将 LAB_STATE.txt 改回 BROKEN-1,再用上面的原始交接;其他档案不动。图中 1 是记录事实,2 是接手时重验,3 是更新下一步。本文的模型对话与 /compact 依文件说明,实际执行要由你的结果补上;参考程式的故障与修正另有本机测试。

22. 上下文与工作交接 — 实作顺序示意图,非产品介面截图。 Evidence → Handoff → Resume
22. 上下文与工作交接 — 实作顺序示意图,非产品介面截图。 Evidence → Handoff → Resume · 图片:Mokaair (© Mokaair)
阅读完整文字说明

Evidence to Handoff to Resume

回总目录

  • 生活分享

    Codex 学习中心:完整教程目录

    从安装、第一个任务到 MD 规则与进阶集成,规划 60 篇 Codex 教程、十个单元。按程度、平台、需求或命令搜索下一篇;尚未公开的教程会标示状态,方便安排学习路线。

  • 生活分享

    Worktree 与多任务隔离

    Worktree 让同一个 Git 程式库有不同的工作目录,各自承接不同分支。它适合让两项工作分开改档,但资料库、连接埠与外部服务仍可能共用,不能把档案隔离当成所有资源隔离。

  • 生活分享

    实战:制作小网站

    从 brief.md 规划并制作 Small Steps 待办网站,完成新增、完成、删除、筛选与本机资料保存。将 HTML、CSS、资料函式、画面事件与测试分开,以 Node 测试和浏览器操作验收,并留下可重新启动与还原的交接纪录。

  • 生活分享

    用量与效率:减少重工

    记录任务条件、模型选项、时间与成果,找出能减少无效重试和过多上下文的调整。

最新旅游情报攻略

资料来源

生活分享