跳至内容

软件技术分享

关于电子游戏的方方面面

  • 游戏产业
    • 行业杂谈
    • 开发者采访
  • 游戏设计
    • 专题学习
    • 设计制作
  • 游戏热点
    • 游戏评测
    • 游戏攻略
    • 流行游戏
  • 工具指南
  • AI
    • AI新闻
    • 使用心得
  • 小游戏
  • 游戏7×24小时
  • 关于妙游社

Codex:失败回合怎么 rewind/缩小范围再开

作者 2026年11月6日 02:34

双 Esc rewind 只回退对话,不还原已改文件;Esc 停错向 → rewind → git stash/restore → 缩小范围再开。

要点

  • Codex CLI:输入框为空时连按两次 Esc,可浏览并回退到某条用户提示,从该点分叉重写(Developer commands|Interactive shortcuts)。证据强度:高(官方)。
  • rewind 改的是对话上下文。第三方实测 CLI 回退后提示类似 “Conversation reverted… File changes are unchanged.”,后续轮次改过的文件仍在工作树(AICodeWith 双 Esc 测试)。证据强度:中高(第三方实测;文案以本机为准,待核)。
  • OpenAI 曾暴露实验性 /undo 快照,后因用量少、设计惹祸移除;官方回复建议用 git 提交/还原,或让模型按指示改回(Discussion #9618)。证据强度:高(OpenAI 职员口径)。
  • 正确姿势:Esc 打断错向 → rewind 清污染上下文 → git stash push -u 或 git restore 收拾工作树 → 用“文件边界+失败路径+要走的路径”重开;别在同一脏上下文里加长提示硬刚。证据强度:高(官方快捷键+社区恢复指南对齐)。
  • 验收用 /diff 或 git diff/git status;能 stash 就别 reset --hard。证据强度:高(实践共识;error-recovery 指南 中高)。

正文

场景

Agent 刚把 Express 塞进你的 Fastify 服务,类型错误用三轮 as any 糊过去,测试还“绿”。你发现方向错了,第一反应是:把提示再写长一点,叫它“撤销刚才、按我们的栈重做”。

上下文里已经塞满错误路径。文件也脏了。再加长提示,等于让模型在垃圾堆上继续挖。

可跟做步骤/可抄工作流

证据强度:双 Esc=官方高;文件不随 rewind 回滚=第三方实测中高;/undo 已移除=Discussion #9618 高;git 步骤=公开恢复指南。

1. 先 Esc,别让这一轮继续写

Agent 还在改文件时,先按 Esc 打断当前回合。官方要求在空的 composer 上连按两次 Escape 才能编辑上一条用户消息并从该点 fork;第三方恢复指南补充:进行中的回合不能 rewind,须先打断再双 Esc。

2. 空输入框,连按两次 Esc,回到“跑偏前”那条提示

  1. 确认 composer 是空的。
  2. Esc × 2,进入 transcript 浏览。
  3. 左右键选中要回退到的用户消息,Enter(左右键浏览为第三方实测细节,官方快捷键段未写)。
  4. 原提示会填回输入框;改约束后再发,或 Esc 退出浏览。

官方表述:空 composer 上 Escape 两次,编辑上一条用户消息并从该点 fork(Developer commands)。

3. 立刻核对文件:rewind ≠ 还原磁盘

回退后跑:

git status --short
git diff --stat

会话里也可 /diff(含未跟踪文件)。若二、三轮改过的内容还在,这是预期行为:对话已回,工作树未回。AICodeWith 在 CLI 0.163.0 上三轮改文件后再 rewind,回退后界面写 “Conversation reverted to this point. File changes are unchanged.”,git diff 仍能看到后轮内容(实测文)。具体提示字符串以本机 CLI 为准(待核)。

4. 用 git 收拾工作树(优先 stash)

任务前有干净提交最省事。没有的话:

# 可恢复地搁置(含未跟踪文件)
git stash push -u -m "codex: wrong-turn before rewind"

# 或只丢掉已知坏文件
git restore -p src/
git restore src/routes/ src/server.ts

优先 stash,少用 reset --hard:stash 还能捞回半成品;hard 把已跟踪改动直接扔掉,新文件还可能留着。error-recovery 类指南同样强调:CLI 侧 per-turn undo 快照已移除,文件靠你自己的 git 检查点(developertoolkit)。OpenAI 在 #9618 也写过:实验性 /undo 已拿掉,多数人用 git 或让模型按指示改回。

5. 缩小范围再开——别在脏上下文里硬刚

工作树干净后,重写那条提示,至少钉三件事:

  1. 文件边界:只动 src/invoices/,别碰 CI/无关模块。
  2. 失败路径:上一轮做了什么、为何废弃(一两句)。
  3. 要走的路径:用现有 NotFoundError、加一条缺失发票测例,先出计划等你说 go。

可抄骨架:

上一轮已用 git stash 搁置。需求:/invoices 在发票不存在时返回 404 而非 500,
已有发票的响应形状不变。约束:只改 src/invoices/;用现有 NotFoundError;
加一条缺失发票测例。先列 3–5 步计划,等我说 go 再改文件。

污染太重时,/new 开新会话,把目标与约束写进第一条并附验收命令;长线程也可用 handoff 文件交接(恢复指南常见做法)。

6. 验收

git diff --stat
# 或会话内 /diff
# 再跑项目自己的 test/typecheck/lint,看退出码

文件列表对得上计划,门禁自己跑绿,再考虑提交。

真实用户诀窍/反例

  • 诀窍:rewind 管嘴,git 管盘。 两套工具,别混成一个“撤销键”。
  • 诀窍:错向第一秒就 Esc。 越往后,脏文件与脏上下文叠得越厚。
  • 诀窍:stash -u 盖住新建文件。 只 restore 跟踪文件时,Agent 新建的 round2.txt 之类还会躺着。
  • 诀窍:重开提示写“别再做什么”。 比空泛“按最佳实践重做”管用。
  • 反例:同一线程里把提示越写越长。 失败轨迹仍在上下文里,模型容易复读旧错。
  • 反例:以为双 Esc 等于 Claude Code 式代码回滚。 官方快捷键只谈编辑消息与 fork;文件回滚靠 git。
  • 反例:一怒之下 reset --hard。 可能丢掉你还想留的半截改动;先 stash。
  • 反例:rewind 后不看 git status 就重发。 旧改动还在,新一轮会叠在脏树上。

适用边界

  • 本稿专攻:Codex CLI 失败恢复——对话 rewind 与文件还原分工;与“Cursor 里 Agent code review”“多文件重构完成定义”错开。
  • 不覆盖:第三方 fork(如带文件快照的非官方 rewind 构建)、Desktop/IDE 扩展是否另有 fork 按钮、企业策略下的 worktree 强制流程。
  • 双 Esc 提示文案、CLI 小版本行为以本机 codex 与 Developer commands 现页为准(待核)。
  • #9618 确认的是“实验性 /undo 已移除”;社区另有“要完整代码 rewind”的功能请求,本稿不当成已上线能力。

相关阅读

  • 虚幻引擎 6 一开放早期访问就去掉蓝图,Epic 说 Verse 更适合 AI 读
  • Codex:给脚本加 `–help` 与退出码,方便 CI 接住
  • Grok vs Claude:同一道“竞品定价变更核查”谁更稳
  • Claude:把风格指南塞进 Project 指令的可维护写法
  • Claude Code 改了拒复刻规则:可以说出游戏名讲机制,但不能照抄
  • Grok:语音模式适合什么任务、不适合什么

浏览更多「AI」文章 ›

  • 要点
  • 正文
  • 场景
  • 可跟做步骤/可抄工作流
  • 真实用户诀窍/反例
  • 适用边界

文章导航

上一篇Claude:把风格指南塞进 Project 指令的可维护写法
下一篇Grok vs Claude:同一道“竞品定价变更核查”谁更稳

相关文章

虚幻引擎 6 一开放早期访问就去掉蓝图,Epic 说 Verse 更适合 AI 读 虚幻引擎 6 一开放早期访问就去掉蓝图,Epic 说 Verse 更适合 AI 读 Codex:给脚本加 `–help` 与退出码,方便 CI 接住 Codex:给脚本加 `–help` 与退出码,方便 CI 接住 Grok vs Claude:同一道“竞品定价变更核查”谁更稳 Grok vs Claude:同一道“竞品定价变更核查”谁更稳

评测设计产业杂谈

软件技术分享

关于电子游戏的方方面面

栏目

  • 游戏产业
  • 游戏设计
  • 游戏热点
  • 工具指南
  • AI
  • 小游戏
  • 游戏7x24小时
  • 关于妙游社

本站

  • 首页
  • 隐私政策
  • 联系我们
  • 关于妙游社
  • 工具指南专题
  • 文章 RSS

关注公众号

沙漏社公众号二维码

© 2026 软件技术分享

沪ICP备19032461号-1

目录

×
  • 要点
  • 正文
    • 场景
    • 可跟做步骤/可抄工作流
      • 1. 先 Esc,别让这一轮继续写
      • 2. 空输入框,连按两次 Esc,回到“跑偏前”那条提示
      • 3. 立刻核对文件:rewind ≠ 还原磁盘
      • 4. 用 git 收拾工作树(优先 stash)
      • 5. 缩小范围再开——别在脏上下文里硬刚
      • 6. 验收
    • 真实用户诀窍/反例
    • 适用边界
→ 目录