前台盯盘 vs 后台挂机:Codex Autoresearch 两种运行模式怎么选?全解析
【免费下载链接】codex-autoresearchCodex Autoresearch Skill — A self-directed iterative system for Codex that continuously cycles through: modify, verify, retain or discard, and repeat indefinitely. Inspired by Karpathy’s autoresearch concept.项目地址: https://gitcode.com/gh_mirrors/co/codex-autoresearch
Codex Autoresearch 是一个让 AI 自主做实验的 Codex Skill:你给出一个可量化的目标,它会不断"修改一处代码 → 运行验证 → 保留改进或回滚失败 → 继续循环",直到达成目标。它提供前台盯盘与后台挂机两种运行模式——前者适合在场实时转向,后者适合挂机过夜跑长任务。本文带你一次性看懂两者区别,快速选对方式。
1 分钟看懂 Codex Autoresearch
先建立一个大体印象。Codex Autoresearch 的核心是一个受控循环:
观察证据 → 只改一处 → 提交并测量 → 改进则保留 / 未改进则回滚 → 重复直到达标其中分工很明确:Codex 负责提出假设和改代码,随附的控制脚本负责 Git 提交、验证、回滚和审计日志。它适合一切"能用一个数字衡量结果"的任务,比如消除测试失败、提升测试覆盖率、降低接口延迟、缩小二进制体积等,更多示例见 docs/EXAMPLES.md。
启动前它会和你确认 7 项内容:目标、可改动的文件范围(Scope)、数值指标(Metric)、优化方向(越低越好/越高越好)、验证命令、目标值,以及可选的回归护栏(Guard)。确认无误后,才进入你选择的运行模式——这也是本文的重点。
前台盯盘(Foreground):你在场,随时转向 ⏯️
前台模式运行在当前 Codex 会话内,靠 Codex 官方的 Goal 机制持续推进实验循环。
- 你能实时旁观:每一轮实验的过程都在你眼前,随时可以暂停、补充提示或改变方向。
- 恢复体验自然:按 Esc 中断只是暂停,恢复后技能会先校验事件日志再继续,不会重复创建 Goal。
- 改换目标要先清场:如果中途想换新目标,需要先执行
/goal clear清掉旧 Goal,再归档并重新开始。
它依赖较新版本的 Codex CLI(内置 Goal 能力),适合需要人工判断、想边看边调、或预计较快完成的任务。
后台挂机(Background):离开电脑,它继续跑 🌙
后台模式一次launch后会启动一个独立的控制器(controller),并把终端立刻还给你。架构是:
你的 Codex 任务 → 独立控制器 → 每次一个 codex exec worker → 终止事件控制器每轮只启动一个 worker 完成恰好一次实验,校验事件成功后才启动下一个 worker——不轮询、不用 Codex 钩子,细节见 references/background.md。
几个新手需要知道的点:
- 权限默认 Full Access:因为每轮都要写 Git 提交和回滚;也可以显式选择
workspace-write沙箱,但沙箱可能限制.git写入,且没有自动降级。 - 控制方式很自然:直接对技能说"查看状态 / 停止 / 带着这个方向恢复"即可,例如方向被阻塞时说一句
resume加新指示,它会带着新方向重启控制器。 - 阻塞≠失败:假设没跑通会被记为
discard继续重试;只有真正缺外部条件(凭证、数据、硬件)才会标记blocked等你处理。
它适合方向明确、纯数字指标、预计要跑数小时甚至过夜的任务。
前台 vs 后台:一张表看懂差异 ⚖️
| 对比点 | 前台盯盘 Foreground | 后台挂机 Background |
|---|---|---|
| 运行位置 | 当前 Codex 任务 | 独立控制器 + 每轮一个 worker |
| 推进机制 | Codex 官方 Goal | 控制器依次启动codex execworker |
| 最适合 | 现场观看、随时转向 | 长任务、过夜挂机 |
| 控制方式 | Goal 的暂停/恢复 | 对技能说 status / stop / resume |
| 权限策略 | 沿用会话设置 | 默认 Full Access,可选沙箱 |
| 额外产物 | 无 | runtime.json/runtime.log |
两种模式遵循完全相同的实验规则,一次运行只使用一种模式。换句话说:区别不在"怎么改代码",而在"谁负责把循环推下去"。
怎么选?3 个判断标准 ✅
① 任务预计多久完成?10 分钟内能见分晓 → 前台;数小时起步或想"睡一觉醒来看结果" → 后台。
② 中途需要多少人工判断?需要频繁补充上下文、随时纠正方向 → 前台;目标、范围、指标都很明确 → 后台,被阻塞时用resume补一句方向就行。
③ 你会不会一直守在电脑前?出门、开会、睡觉期间想让实验继续 → 后台挂机是唯一选择,前台会话一关就停了。
拿不准时,先用前台跑一轮确认指标和范围靠谱,再归档换后台长跑,是稳妥的做法。
快速上手:三步发起一次实验 🚀
- 装好技能:需要带 Skills/Goals 的 Codex CLI、Python 3.11+、Git 身份和一个干净命名分支,安装方式见 docs/INSTALL.md。
- 用结果而不是方案描述任务,例如:
$codex-autoresearch reduce scripts/score.py error_count to 0,Codex 会自动扫描仓库并给出上述 7 项确认。 - 选择模式:确认单里回答
Foreground. Go.或Background. Go.即可,实验规则完全一致,配置细节参考 docs/GUIDE.md。
查看实验结果:两种模式通用 📊
无论哪种模式,所有状态都落在autoresearch-results/目录:run.json(不可变配置)、events.jsonl(只追加事件日志)、logs/(完整命令输出),后台另有runtime.json和runtime.log。事后回顾同样一句话搞定:
show experiment history:渲染经过完整校验的实验历史表export experiment history as TSV:导出给表格工具generate an HTML report:生成自包含的可视化快照report.html
下图就是一次前台运行完成后生成的 HTML 报告:指标从基线 2 一路降到目标 0,每一次保留与丢弃都有提交记录可查。
常见问题 ❓
中途能换模式吗?不能。一次运行只用一种模式,需要换就停止(后台用 stop,前台用/goal clear),归档后以新模式重新确认启动。
后台挂机安全吗?每一轮都是一个 Git 提交,失败用git revert回滚而非破坏性重置,越界改动、指标解析异常都会直接报错停下,绝不"假装成功",完整审计链路见 references/workflow.md。
后台 worker 卡住了怎么办?先status看控制器与 worker 的存活状态,孤儿进程(orphaned)必须先结束再 stop/resume,具体恢复流程见 docs/GUIDE.md 的错误恢复章节。
一句话总结
- 想看着、想转向→ 前台盯盘,Goal 随停随续;
- 想长时间无人值守→ 后台挂机,控制器自动接力;
- 实验规则、验证回滚、审计日志两者完全相同,选模式只看"你在不在场"。
核心控制逻辑都在 scripts/autoresearch.py,整体技能行为定义在 SKILL.md,想深挖细节可以从这两处入手。
【免费下载链接】codex-autoresearchCodex Autoresearch Skill — A self-directed iterative system for Codex that continuously cycles through: modify, verify, retain or discard, and repeat indefinitely. Inspired by Karpathy’s autoresearch concept.项目地址: https://gitcode.com/gh_mirrors/co/codex-autoresearch
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考