📦 自动研究方法(Autoresearch Approach)
v1.0.0使用 karpathy/autoresearch 风格的自主 ML 研究循环。在 `karpathy/autoresearch` 中工作或将其方法适配到类似的训练仓库时使用。
运行时依赖
安装命令
点击复制技能文档
自动研究方法 使用此方法的仓库克隆在 /home/tj/.openclaw/workspace/external/autoresearch 或其变体中。 核心思想 遵循上游 program.md 纪律: 保持范围小 仅修改允许的文件 一次运行一个有界实验 记录每次运行 保留获胜者,重置失败者 启动循环后不暂停等待许可 在开始自主实验之前,阅读 references/upstream-program.md。 需要仓库上下文、设置或平台约束时,阅读 references/upstream-readme.md。 仓库契约 在上游 autoresearch 中: prepare.py 是只读的,负责数据准备、分词器、数据加载器、评估和 5 分钟时间预算 train.py 是代理在实验期间唯一编辑的文件 program.md 是代理的人类编写操作手册 指标是 val_bpb,越低越好 results.tsv 保持未跟踪,记录每次运行 如果将此方法适配到另一个仓库,首先确定这三个角色的等价物。 设置工作流 确认仓库和分支基准。 提出一个新的运行标签。 创建 autoresearch/<标签>。 完全阅读相关文件。 在第一次运行之前,验证缓存/数据是否存在。 用标题初始化 results.tsv。 首先运行未修改的基准。 使用 scripts/init_autoresearch_run.sh <仓库路径> <标签> 执行步骤 2 到 6。 实验循环 设置完成后,重复: 记录当前好的提交。 对允许的文件进行一个连贯的更改。 提交实验。 运行有界训练命令,重定向 stdout/stderr 到 run.log。 提取 val_bpb 和 peak_vram_mb。 如果运行崩溃,检查尾部,决定是否修复一次或丢弃。 向 results.tsv 追加一行 TSV。 仅当提交改进了主要指标时,才保留提交。否则,硬重置到先前的好提交。 默认运行命令(上游):uv run train.py > run.log 2>&1 默认指标提取(上游):grep "^val_bpb:\|^peak_vram_mb:" run.log 决策规则 更倾向于以下更改: 简单 可衡量 易于还原 可比 在固定预算下 保持以下启发式: 基准优先,始终一次一个想法 复杂性必须证明其合理性 如果结果相等,使用更简单的代码 如果运行超过 10 分钟,杀死并视为失败 不要默默更改评估工具 日志格式 上游 results.tsv 是以此标题为分隔的: 提交 val_bpb 内存_gb 状态 描述 状态: 保留 丢弃 崩溃 除非人类明确要求,否则不要 git 提交 results.tsv。 实用注意事项 将嘈杂的训练输出重定向到文件,而不是聊天。 在长自主运行之前,阅读 references/upstream-program.md 中的确切上游措辞。 对于新平台或较小的硬件,检查 references/upstream-readme.md 中的 Karpathy 缩放指南。 如果用户要求“Karpathy 自动研究方法”,使用此技能和克隆的仓库 /home/tj/.openclaw/workspace/external/autoresearch。 使用 GitHub 和 API 进行自动研究。 使用 CLI 运行脚本。