Codex 新增跨上下文笔记和异步提问 长任务不再丢进度

OpenAI Codex 配合 GPT-6 Astra 新增两个功能:跨上下文窗口的笔记机制替代压缩摘要,异步提问让 Agent 在等你回复时继续工作。需要在 config.toml 手动开启。

Codex 新增跨上下文笔记和异步提问 长任务不再丢进度

OpenAI 在发布 GPT-6 Astra 的同时更新了 Codex 的底层 harness,加了两个解决长任务痛点的功能:跨上下文笔记(cross-context notes)和异步提问(async questions)。这两个功能目前是实验性的,需要手动开启。

作者CodePass 技术编辑

跨上下文笔记解决了什么问题

AI 编程 Agent 在处理长任务时都面临同一个问题:上下文窗口满了之后怎么办。之前的标准做法是压缩(compaction):把整个会话摘要成一段较短的文本,然后继续。

压缩的问题在于信息丢失。当你花了半小时调试一个复杂 bug,经过了十几轮尝试和失败,压缩摘要可能只保留"尝试了方法 A-F,最终方法 G 有效"。但"方法 B 为什么失败"这个信息可能在后续的另一轮调试中至关重要,而压缩已经把它丢了。

跨上下文笔记的做法不同:Astra 在工作过程中主动记录关键信息到一个持久化的笔记区域。上下文窗口满了之后,新的上下文窗口可以读取这些笔记。同时,之前的上下文窗口保持可搜索状态,Astra 可以在需要时检索之前消息和工具输出中的需求、测试结果等。

这意味着在一个长达数小时的重构任务中,Astra 不会"忘记"两小时前发现的一个重要约束条件。这是和普通压缩的本质区别。

异步提问改变了交互模式

之前当 Agent 遇到需要你决定的问题时,整个任务会暂停等你回复。对于需要几个小时的长任务,这导致了大量的等待浪费。

异步提问改变了这个模式:Astra 在遇到问题时会发出提问,但继续处理不依赖答案的其他部分。如果你回复了,它合并你的决定继续推进。如果你没回复,它根据合理的假设继续,但对重大决策(可能改变任务方向的选择)会等你确认。

OpenAI 在 Codex harness 的 0.153.0 版本中加入了 request_user_input_async 的支持。Agent 可以在异步等待你回复的同时继续执行其他工作。

怎么开启

在 Codex 的 config.toml 里添加:

[features.context_management]
experimental_mode = true

开启后,符合条件的会话(ChatGPT Plus、Pro 或 Pro Lite 用户使用 Codex 后端)会激活 token-budget context、history notes 和 new_context 工具。API-key 会话、自定义 provider 和临时结构化线程目前不支持。

这个功能目前是实验性的,OpenAI 表示"未来几周"会成为 Astra 的默认行为。

和 Claude Code 的对比

Claude Code 目前处理上下文溢出的方式仍然是压缩摘要。2.1.265 版本 修复了 subagent 的 prompt-cache 复用问题,但没有引入类似的笔记机制。

Cursor 的 Agent 无限循环 bug 恰好是压缩后行为退化的一个例子:压缩丢失了进度信息,Agent 开始重复之前的操作。Codex 的笔记机制如果有效,理论上可以避免这类问题。

异步提问在 Claude Code 中有部分实现(subagent 可以继续工作),但不如 Codex 的 request_user_input_async 明确和结构化。

参考资料