这篇笔记整理自 OpenAI 开发者博客 Run long horizon tasks with Codex。原文记录了用 Codex 从零构建一个设计工具的完整实验,核心内容是如何让 AI 编程代理在长时间任务中保持连贯。
背景
GPT-5-Codex(2025年9月)是第一个针对代理式编程优化的 GPT-5 版本,12月发布的 5.2 开始让人觉得自主式编程代理可以变得可靠。
博文中介绍做了一个压力测试:给 Codex 一个空白仓库和完整权限,任务是从零构建一个设计工具。用 GPT-5.3-Codex 的 “Extra High” 推理级别,持续运行约 25 小时,消耗约 1300 万 token,生成约 3 万行代码。
实验仓库:design-desk
时间跨度才是关键变化
不只是模型变聪明了,更实际的变化是:代理能在更长时间内保持连贯性。具体表现:
- 端到端完成更大块的工作
- 出错后能恢复,不丢失上下文
METR 的时间跨度基准研究发现:前沿代理在 50% 和 80% 可靠度下所能完成的软件任务时长,翻倍周期约 7 个月。
GPT-5.3-Codex 的两个关键提升:
- 更擅长多步骤执行(规划 -> 实现 -> 验证 -> 修复)
- 运行途中更容易纠偏,不用重置整个任务
代理循环(Agent Loop)
长时间运行的工作,关键不在于一个巨大的提示词,而在于模型所处的代理循环。
循环步骤:
规划 → 修改代码 → 运行工具(tests/build/lint)→ 观察结果 → 修复失败 → 更新文档/状态 → 重复这个循环给代理三样东西:
- 真实反馈 – 错误信息、diff、日志,不是模型自己猜的
- 外化状态 – 仓库、文件、文档、worktrees、输出结果,状态不只存在上下文窗口里
- 持续可引导 – 可以根据中间结果随时纠偏
Codex 在自己的界面上比在普通聊天窗口里表现更好。原因是底层框架提供了结构化上下文(仓库元数据、文件树、diff、命令输出),并且强制执行更有纪律的"何时算完成"流程。
持久化项目记忆(Durable Project Memory)
核心思路:把规格说明、计划、约束条件和状态都写进 markdown 文件,让代理可以反复回看。
这套方法不依赖 Codex,可以直接复用到 Claude Code、Cursor 等其他 AI 编程工具。
四个关键文件:
1. Prompt.md – 规格说明 + 交付物
作用:冻结目标,防止代理"做出很厉害但方向错了的东西"。
包含内容:
- 目标与非目标 – 明确做什么、不做什么
- 硬性约束 – 性能、确定性、UX、平台要求
- 交付物 – 具体要交付什么
- “Done when” 验收标准 – 什么状态才算完成
2. Plan.md – 里程碑 + 验证
作用:把开放式工作转化为可完成、可验证的检查点。
包含内容:
- 足够小的里程碑 – 每个里程碑要有明确边界
- 每个里程碑的验收标准和验证命令 – 不是靠感觉判断完成,而是跑命令验证
- 停止并修复规则 – 什么情况下必须停下来修 bug 再继续
- 决策备注 – 记录已做的决策,避免代理来回摇摆
- 目标架构设计 – 整体技术方向
3. Implement.md – 执行说明
作用:运行手册,告诉代理如何工作。
包含内容:
- Plan markdown 是唯一事实来源
- 每个里程碑完成后必须运行验证
- 控制 diff 范围,不扩大任务边界 (每个里程碑只改该改的代码,不要顺手去动计划外的东西。)
- 持续更新文档
4. Documentation.md – 状态 + 决策记录
作用:共享记忆和审计日志。离开几小时回来也能看懂当前状态。
包含内容:
- 当前里程碑状态 – 进度到哪了
- 已做出的决策及原因 – 为什么选了 A 而不是 B
- 运行和演示命令 – 怎么跑起来、怎么看效果
- 已知问题 / 后续跟进 – 还有什么坑
验证实践
每个里程碑完成后执行验证命令:
# 典型验证链
tests → lint → typecheck → build修复失败后才能继续下一个里程碑。这一步很关键 – 没有持续验证,代理很容易在后面的里程碑里引入回归。
Codex 的日常功能
几个值得关注的能力:
- 跨项目并行线程 – 长任务不阻塞日常工作
- Skills – 标准化的规划/实现/测试/汇报流程
- Automations – 例行工作后台执行
- Git worktrees – 隔离运行,保持 diff 可审查
总结
让 AI 编程代理可靠完成长时程任务的五个要素:
- 明确的目标和约束(Prompt.md)
- 带验收标准的检查点式里程碑(Plan.md)
- 指导代理运行的执行手册(Implement.md)
- 持续验证(tests/lint/typecheck/build)
- 实时更新的状态和审计日志(Documentation.md)
方向很明确:更少人工盯防,更多带护栏的任务委托。