Codex Autoresearch 完全指南:让 AI 编程助手自主迭代、自动保留改进并回滚失败的实验循环
【免费下载链接】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 是一款面向 Codex AI 编程助手的自主迭代实验技能:你只需给出一个可测量的目标,它就会自主地一次改一件事、自动验证、保留改进、回滚失败,并循环往复直到达成目标。灵感来自 Karpathy 的 autoresearch 概念,它把"试错"变成了一条可信、可审计的工程循环。
💡 什么是 Codex Autoresearch?
普通 AI 编程助手改完代码就结束了,而 Codex Autoresearch 把任务变成一条受控的实验循环:
- 你告诉它"想要的结果"(比如:错误数降到 0);
- 它检查仓库、与你确认实验参数;
- 之后进入循环:修改 → 验证 → 保留或回滚 → 重复,直到达标。
适用场景包括:测试失败数、覆盖率、类型错误、Lint 警告、延迟、二进制体积、可复现的安全问题发现,以及任何一条命令能测出数字的结果。
🚀 安装与快速开始
环境要求
- 最新版的 Codex CLI(需支持 Skills 与 Goals 能力)
- Python 3.11 或更高
- Git,且已配置提交者身份
一步安装
把技能复制到用户级技能目录,所有项目都能使用:
git clone https://gitcode.com/gh_mirrors/co/codex-autoresearch mkdir -p ~/.agents/skills cp -R codex-autoresearch ~/.agents/skills/codex-autoresearch启动第一个实验循环
在干净的 Git 仓库中启动 Codex(建议使用 Full Access,因为每次实验要创建和回滚 Git 提交):
codex --dangerously-bypass-approvals-and-sandbox然后调用技能,用一句话描述可测量的目标:
You: $codex-autoresearch Reduce `python3 scripts/score.py` error_count to 0. Codex: Baseline: 5 / Target: 0 / Scope: src/ / Verify: python3 scripts/score.py Run in foreground or background? You: Background. Go.写任何文件之前,Codex 都会先展示实验方案等你确认——这是整个流程的安全前提。
🔁 实验循环是怎么运转的
检查证据 → 修改一个聚焦的点 → 提交并测量 → 指标改善 且 防护通过 → 保留 → 否则 → git revert 回滚 → 追加一条审计事件 → 重复直到达标两个关键设计:
- 分工明确:Codex 负责"假设与代码改动",内置控制脚本 scripts/autoresearch.py 负责提交、验证、回滚和状态管理。
- Git 就是实验记忆:每次实验都是一个提交,失败实验用
git revert非破坏性回滚,历史中永远留有可追溯的记录。
🎛️ 前台还是后台:两种运行模式
| 前台 Foreground | 后台 Background | |
|---|---|---|
| 运行位置 | 当前 Codex 任务 | 独立的控制器进程 |
| 适合场景 | 实时盯着看、随时改方向 | 长时间任务、挂机过夜 |
| 控制方式 | 用 Codex Goal 暂停/恢复 | 直接对技能说 status / stop / resume |
- 想随时介入调整策略 → 选前台;
- 想让 Codex 过夜自己跑 → 选后台(默认 Full Access,因为 worker 需要写 Git 提交)。
📏 如何配置一个可靠的实验
开始前,Codex 会与你确认 7 个关键值:
| 参数 | 含义 | 示例 |
|---|---|---|
| Goal | 期望的结果 | 消除类型错误 |
| Scope | 允许修改的文件/目录 | src |
| Metric | 数值化结果 | 类型错误数 |
| Direction | 越小越好 / 越大越好 | lower |
| Verify | 输出指标的测量命令 | python3 scripts/score.py |
| Target | 达到即完成 | 0 |
| Guard | 可选的回归防护 | pytest -q |
新手最容易踩的两个坑:
- Verify 命令必须始终退出码为 0。哪怕指标很差,测量命令本身也要成功执行,且最后一行非空输出必须是一个有限数字,或一个 JSON 对象(并显式指定其中某个数值键)。
- Guard 是及格/不及格。指标改善了但防护失败,这次实验照样会被回滚。
📊 查看结果与实验历史
运行产物保存在autoresearch-results/目录(永不提交到 Git):
| 文件 | 作用 |
|---|---|
run.json | 不可变的实验配置 |
events.jsonl | 只追加的状态历史(唯一事实来源) |
logs/ | 完整的命令输出 |
report.html | 按需生成的可视化快照 |
一句话就能查看历史或生成报告:
$codex-autoresearch show experiment history $codex-autoresearch generate an HTML reportHTML 报告会展示指标走势曲线、每次实验的 keep/discard 决定、相关提交与日志链接:
🛡️ 为什么敢让它无人值守?
- 每次实验都是 Git 提交——成败都可追溯;
- 失败自动回滚——未改善的实验或防护失败的实验自动 revert;
- 异常即停——越界编辑、分支变更、命令失败、超时会带着精确错误和日志路径停下运行;
- 拒绝静默恢复——技能绝不从旧文件或"对话记忆"里猜结果。这种严格是刻意的:静默恢复会让长期自主运行变得不可信。
✅ 哪些任务适合它?
适合(有可重复数值指标的任务):
- 失败测试用例清零、类型/Lint 错误清零
- 分支覆盖率提升到 90%
- p95 延迟降到 200 ms 以下
- 二进制体积压缩、可复现安全发现清零
不适合:一次性小改动、主观设计评审、部署发布——这些用普通 Codex 即可。目标开放时,先和 Codex 一起定义稳定基准,再启动循环。
注意:Autoresearch 必须运行在 Git 仓库中,一次运行只管理一个仓库——Git 正是它的实验记忆与回滚边界。
📚 延伸阅读
| 文档 | 内容 |
|---|---|
| docs/INSTALL.md | 安装、更新与验证技能 |
| docs/GUIDE.md | 配置、生命周期、状态与排错 |
| docs/EXAMPLES.md | 实战示例与指标模式 |
| references/workflow.md | 完整工作流参考 |
| references/experiment.md | 实验契约与测量规范 |
| scripts/autoresearch.py | 控制脚本源码 |
【免费下载链接】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),仅供参考