knowledge-vault/discussions/agents/GitHub助手GPT/2026-06-15-autoresearch.md

23 KiB
Raw Blame History

1

待评估项目:https://github.com/karpathy/autoresearch

我最近对我以前的知识库做了以下划分:

项目 定位 保存什么 不保存什么
knowledge-vault 长期知识源、过程记忆和人类可读规则层 日记、文章讨论、Agent / Prompt / Committee 打造过程、正式文章、资料源、面向人的模型文档、提示词归档、本地知识加工规则 不承载完整文章生产流水线;不作为 CCPE canonical 资产源码仓;不保存具体开发项目的执行现场
ccpe-system AI 资产工程和协议工作区 Agent、Skill、Runtime、Model Card、Model Index、committee、运行治理、外部工具依赖登记 不保存完整个人知识库;不保存 automation skill 的实现源码;不保存普通项目执行材料
writing-workbench 已决定写作后的文章项目现场 文章项目计划、材料压缩稿、source map、提纲、评审、正文、润色、metadata、决策记录 不接管开放观点讨论;不保存长期知识全集;不默认自动化深度创作
video-workbench 深度文章降维输出和多模态生产现场 剧集规划、破题提案、视频总纲、分镜、口播稿、生图提示词、TTS 清单、素材清单、剪辑清单 不替代深度文章创作;不保存长期模型源头;不承载 CCPE 资产工程
skills-vault 可测试、可安装、可复用 automation skill 源码仓 SKILL.md、scripts、tests、fixtures、examples、安装说明、迁移记录 不保存 CCPE Agent / Runtime / Model Card不保存业务项目材料不定义业务目标
work-projects 具体开发工作和工程项目现场 产品、客户、实验性开发项目的代码、需求、任务记录、交付材料、项目级 handoff 不作为长期知识库;不作为通用工具源码仓;不作为 CCPE 协议源头

那么这个项目对我的科研工作来说,有什么价值? 若有价值,和哪个库做结合,还是需要启动新的科研库?

GitHub 项目评估karpathy/autoresearch

1. 快速结论

结论:有价值,但不是作为“直接科研工具”使用;更适合作为你的“科研 Agent 实验协议样板”。

一句话判断:autoresearch 的核心价值不是帮你训练一个小 GPT而是展示了一种很干净的 Agent 自主实验循环:限定可修改文件、固定评估指标、固定时间预算、自动运行实验、用 Git 提交和 reset 形成可追溯研究轨迹。项目 README 明确说它让 AI agent 修改 train.py、训练 5 分钟、检查指标是否提升、保留或丢弃修改,并且人类主要编辑 program.md 这类研究组织指令,而不是直接改 Python 文件。(GitHub)

推荐动作:

  • 主动作:纳入 ccpe-system + skills-vault,不要一开始新建科研库。
  • 次动作:在 work-projects 里开一个小型试验项目,用来验证你能否把它改造成“通用科研实验循环”。
  • 不建议做的事:不要把原仓库原样当作你的科研基础设施,也不要在 RTX 3070 8GB 上直接跑默认配置。

你的长期关注点是 AI Skill、Agent、自动化工作流、论文/知识管理/写作、本地部署、长期系统融合和架构借鉴;这个项目最命中的是 Agent / 自动化工作流 / 架构借鉴 / 科研过程治理,而不是知识库内容管理本身。


2. 它对你科研工作的真实价值

我会把它的价值分成三层。

第一层:科研自动化范式价值,高

它把“科研”压缩成一个可自动化循环:

假设 → 改代码 → 跑实验 → 读指标 → 记录结果 → 保留/回滚 → 继续搜索。

这对你非常有价值,因为它不是一个普通 Agent demo而是一个 可操作的研究组织协议。README 里说仓库刻意保持很小,真正重要的是 prepare.pytrain.pyprogram.md 三个文件:prepare.py 固定数据、评估和工具,train.py 是 agent 唯一可修改的实验对象,program.md 是人类写给 agent 的研究组织指令。(GitHub)

对你的科研工作来说,它可以转译成:

  • 固定材料层数据、文献、benchmark、评审标准不让 agent 随便改。
  • 可变实验层:允许 agent 改 prompt、pipeline、检索策略、摘要策略、分类器、评估脚本中的局部策略。
  • 评估层:用明确指标决定 keep / discard。
  • 研究轨迹层:用 Git commit、日志、结果表记录每次尝试。

这比“让 Agent 帮我研究一下某个主题”可靠得多。

第二层Skill / Agent 资产工程价值,很高

README 甚至直接说 program.md 本质上是一个“super lightweight skill”。(GitHub) 这对你的 skills-vault 很关键:它说明一个 Skill 不一定是复杂框架,也可以是一个 带约束、带循环、带日志格式、带失败处理规则的 Markdown 研究程序

你可以从它抽象出一个通用 Skill

research-ratchet-loop/
  SKILL.md
  scripts/
    run_trial.py
    parse_result.py
    compare_result.py
    rollback_or_keep.py
  fixtures/
    sample_task/
  examples/
    prompt-optimization/
    rag-eval/
    paper-screening/
    writing-outline-eval/
  tests/

这个 Skill 不必训练模型,而是服务于你的真实科研场景:

  • 自动优化论文筛选规则;
  • 自动比较不同 RAG 检索策略;
  • 自动改写摘要压缩 pipeline
  • 自动优化写作提纲评审 rubric
  • 自动比较 Agent committee 的投票协议;
  • 自动迭代 prompt、model card、runtime policy。

第三层:科研工程治理价值,高

program.md 的实验循环要求 agent 创建分支、只改 train.py、每次 commit、运行 uv run train.py、把结果写进 results.tsv,指标变好才保留,否则 reset。(GitHub) 这对你最大的启发是:科研 Agent 必须有边界、有审计、有回滚、有实验日志,而不是无限制地“自由探索”。

这可以直接进入你的 ccpe-system,成为一种协议资产,例如:

ccpe-system/
  protocols/
    autonomous-research-loop/
      protocol.md
      artifact-contract.md
      eval-contract.md
      safety-boundaries.md
      result-schema.md
      model-card.md

3. 它不适合直接承担什么

这个项目不适合直接变成你的“科研知识库”。

原因很简单:它不是文献管理工具,不是知识库,不是写作流水线,也不是通用研究平台。它的当前实例是一个 小型 LLM 训练实验场。README 写得很清楚:它使用简化版 single-GPU nanochat 训练设置agent 修改训练代码并以 val_bpb 作为指标。(GitHub)

所以它不应该直接进入:

  • knowledge-vault 的主体内容层;
  • writing-workbench 的文章生产现场;
  • video-workbench
  • ccpe-system 的 Agent 实现源码区;
  • skills-vault 之外的通用源码区。

它更像是一个 科研自动化协议种子,不是你的科研材料仓。


4. 和你现有六个库的结合方式

你的库 是否结合 放什么 不放什么
knowledge-vault 轻度结合 读后笔记、范式分析、对“自律科研循环”的观点、与论文/知识管理的关系 不放完整源码、不放实验执行现场
ccpe-system 强结合 Autonomous Research Loop 协议、Agent 权限边界、eval contract、artifact contract、result schema、运行治理规则 不放具体 Skill 实现源码
writing-workbench 条件结合 当你决定写文章时,放文章项目:选题、提纲、材料压缩稿、评审记录 不作为 autoresearch 的协议或代码仓
video-workbench 暂不结合 只有在你把文章降维成视频时才用 不需要现在接入
skills-vault 强结合 autoresearch-loop / research-ratchet Skill 的 SKILL.md、scripts、tests、examples 不放 CCPE canonical 协议源头
work-projects 中度结合 具体试跑、fork、改造成通用实验框架、Windows 兼容性验证、demo 项目现场 不放长期知识源和通用 Skill 源码

我的建议是:

不要立即新建一个大的“科研库”。

先用现有体系拆分:

  1. ccpe-system 保存它抽象出来的 科研 Agent 协议
  2. skills-vault 保存你实现出来的 可复用 automation skill
  3. work-projects 保存一次具体验证项目;
  4. knowledge-vault 保存你的理解、反思和后续文章素材。

只有当你开始长期积累大量“可复现实验任务、benchmark、paper eval、agent eval、结果数据库”时才需要新建一个专门科研库。


5. 是否需要启动新的科研库?

当前结论:暂时不需要。

现在新建科研库会过早。因为你目前真正需要沉淀的不是“科研材料全集”,而是三类东西:

  1. 协议:什么叫一个合格的 Autonomous Research Loop
  2. Skill:如何把这个 loop 做成可复用工具;
  3. 试验现场:它在你的任务上是否真的有效。

这三类已经分别有归属:

ccpe-system      -> 协议与治理
skills-vault     -> 可复用 Skill 实现
work-projects    -> 具体试跑和工程实验
knowledge-vault  -> 人类可读理解与反思

什么时候才需要新建科研库?

当你出现以下情况,再新建:

research-lab/
  benchmarks/
  tasks/
  evals/
  experiment-runs/
  datasets/
  papers/
  result-ledgers/
  reproducibility/

触发条件可以设为:

  • 你已经有 3 个以上长期科研实验主题;
  • 每个主题都有独立 benchmark / dataset / eval
  • 结果需要跨项目比较;
  • work-projects 里出现大量实验现场,已经不只是“某个开发项目”;
  • ccpe-system 的协议层和 skills-vault 的实现层都无法承载实验数据。

在那之前,新库会增加边界混乱。


6. 推荐的落地结构

我建议你这样落地。

A. knowledge-vault

保存一篇人类可读分析:

knowledge-vault/
  notes/
    autoresearch-as-research-ratchet.md

内容包括:

  • autoresearch 的一句话定位;
  • 它和普通 Agent runner 的区别;
  • 为什么 Git history 可以成为研究轨迹;
  • 为什么固定 eval 是核心;
  • 为什么 “只允许修改一个文件” 是安全边界;
  • 它对论文阅读、知识管理、写作自动化的启发。

B. ccpe-system

保存协议资产:

ccpe-system/
  protocols/
    autonomous-research-loop/
      README.md
      protocol.md
      eval-contract.md
      artifact-contract.md
      git-ratchet-policy.md
      safety-boundaries.md
      result-schema.md
      failure-policy.md

这里不要放具体脚本。这里定义“什么算一个合格的科研自动化循环”。

核心抽象可以是:

ResearchLoop = Context + MutableTarget + Evaluator + Budget + Ledger + Ratchet

对应到 autoresearch

抽象 autoresearch 中的实现
Context program.md
MutableTarget train.py
Fixed Assets prepare.py
Evaluator evaluate_bpb
Budget 5 分钟训练时间
Ledger results.tsv
Ratchet 指标变好保留,否则 git reset

README 明确说训练运行固定 5 分钟,指标是 val_bpb,越低越好。(GitHub)

C. skills-vault

做一个真正可复用 Skill

skills-vault/
  autoresearch-loop/
    SKILL.md
    scripts/
      init_run.py
      run_trial.py
      parse_metrics.py
      decide_keep_or_discard.py
      summarize_results.py
    tests/
    fixtures/
    examples/
      prompt_optimization/
      rag_retrieval_eval/
      writing_outline_eval/
      paper_screening_eval/

这个 Skill 的目标不是训练 LLM而是把“固定 eval + 自主修改 + 结果账本 + 回滚”迁移到你的任务。

例如:

场景 MutableTarget Evaluator
Prompt 优化 prompt.md 测试集得分
RAG 策略优化 retrieval_config.yaml recall / answer faithfulness
论文筛选 screening_rules.md 人工标注集 F1
写作提纲 outline.md rubric 评分
Agent committee committee_policy.md 任务通过率 / 成本 / 延迟
Skill 改进 SKILL.md 单元测试 + fixture 通过率

D. work-projects

开一个短期验证项目:

work-projects/
  autoresearch-loop-poc/
    upstream-notes/
    repo-clone/
    experiments/
    reports/
    codex-handoff.md

这个项目只做一件事:验证 autoresearch 的模式能不能迁移到你的实际科研工作流。

建议第一个 PoC 不要碰 GPU 训练,选一个低成本任务:

任务:自动优化“论文筛选规则”
输入20-50 篇论文标题/摘要 + 你人工标注的 keep/discard
可修改文件screening_rules.md
评估脚本eval_screening.py
指标F1 或 balanced accuracy
预算:每轮最多 2 分钟
结果表results.tsv
保留规则:指标提升才保留

这样更贴近你的科研,而不是陷入 CUDA、torch、显存调参。


7. 运行环境初筛

Windows 11 本地

是否适合原样运行:低。

README 写明要求 single NVIDIA GPU测试环境是 H100、Python 3.10+ 和 uv。(GitHub) pyproject.toml 固定了 torch==2.9.1,并使用 PyTorch CUDA 12.8 wheel index依赖还包括 kernelsrustbpetiktokenpyarrowpandasnumpymatplotlib 等。(GitHub)

你的 RTX 3070 8GB 不适合默认配置program.md 示例输出里有 peak_vram_mb: 45060.2 这种 40GB+ 显存级别的示例,虽然它只是示例输出,但足以说明默认目标不是 8GB 消费卡。(GitHub) README 也专门给小机器建议:换低熵数据集、降低 vocab size、降低 MAX_SEQ_LEN、降低 EVAL_TOKENS、降低 DEPTH、改 attention pattern、降低 batch size。(GitHub)

Windows 本地推荐动作:

  • 不建议直接跑主仓库默认训练;
  • 可以阅读源码;
  • 可以参考 Windows fork
  • 更推荐把它的 loop 改成 CPU/API 任务,例如 prompt eval、RAG eval、论文筛选 eval。

CentOS 远程

是否适合原样运行:低。

你的远程机无 GPU而该项目当前代码要求 CUDA。README 说目前需要 single NVIDIA GPUprepare.py 里 dataloader 和 evaluation 明确使用 device="cuda"。(GitHub) (GitHub)

CentOS 远程推荐动作:

  • 不适合部署原始训练项目;
  • 适合部署你改造后的 research-ratchet 服务;
  • 可以作为 OpenClaw / Dify 的后端自动化节点;
  • 任务应选择 API-based 或 CPU-based eval不要选择 GPU 训练。

8. 风险判断

维护和成熟度

仓库当前非常小GitHub 页面显示只有几十个 commits没有发布 release。(GitHub) 这说明它更像一个研究范式 demo而不是稳定软件产品。

安装风险

主要风险来自:

  • CUDA / PyTorch 版本;
  • torch==2.9.1 与 CUDA 12.8 wheel
  • Windows 下 GPU kernel / package 兼容;
  • rustbpe 等依赖安装;
  • Hugging Face 数据下载;
  • 默认参数显存需求过高。

安全风险

它的核心模式是让 agent 修改代码、运行训练、提交和 reset。这个模式迁移到你的系统时必须加边界

  • 禁止 agent 修改 eval
  • 禁止 agent 修改数据集标签;
  • 禁止安装新依赖,除非人工批准;
  • 禁止读取敏感目录;
  • 禁止访问 API key、cookie、私钥
  • 所有运行必须在临时分支或沙盒目录;
  • 日志中要避免泄露路径、密钥和私有材料。

program.md 里也明确限制 agent 只能改 train.py,不能改 prepare.py、不能安装新包、不能改评估 harness。(GitHub) 这正是你应该学习的部分。

科研方法风险

这个项目会让人误以为“LLM agent 自主搜索一定优于传统优化”。这点要谨慎。已有一篇针对 autoresearch 的 HPO 研究把它作为 testbed结论是固定搜索空间里 classical HPO 如 CMA-ES、TPE 表现更强LLM 直接编辑代码的开放搜索更有竞争力但可靠性、OOM 控制和状态跟踪仍是关键问题。(arXiv)

对你的启发是: 不要只做纯 LLM 自主试错。更好的方向是 LLM + 显式实验状态 + 传统搜索/规则/评估器。


9. 评分表

维度 分数 判断
项目定位清晰度 5 极清晰:小型 single-GPU LLM 训练实验 + Agent 自动迭代
Skill / Agent / 自动化相关性 5 program.md 本身就是轻量 Skill 样板
长期系统融合潜力 4 适合抽象成协议和 Skill不适合原样纳入
论文 / 知识管理 / 写作价值 3 间接价值高,直接价值中等
Windows 本地可行性 2 原样训练不友好8GB 显存需大改
CentOS 远程可行性 1 无 GPU不适合原项目
依赖复杂度友好度 3 仓库小,但 CUDA/PyTorch/GPU 门槛高
工程成熟度 3 范式清楚,但不是稳定平台
架构借鉴价值 5 很适合借鉴为科研 Agent loop
立即试跑价值 2 不建议原样试跑;建议改造成低成本 PoC

综合判断4/5。

不是因为它能直接帮你科研,而是因为它很适合作为你自己的 科研自动化协议母版


10. 最建议你怎么处理

建议进入你的系统,但分三处进入

1. ccpe-system:收为协议

命名建议:

Autonomous Research Ratchet Protocol

沉淀重点:

  • agent 权限边界;
  • 固定 eval
  • mutable target
  • Git ratchet
  • result ledger
  • failure policy
  • cost/time budget
  • human review surface。

2. skills-vault:做成 Skill

命名建议:

autoresearch-loop

或者更贴近你自己的命名:

research-ratchet-skill

Skill 的核心不是“训练模型”,而是:

在一个有明确评估函数的任务中,让 Agent 反复提出修改、运行评估、记录结果、只保留变好的改动。

3. work-projects:开 PoC

命名建议:

work-projects/research-ratchet-poc

第一个 PoC 我建议选:

论文筛选规则自动优化

原因是它最贴近你的科研,又不需要 GPU。


11. 是否交给 Codex / Claude Code 深挖

判断:建议,但不是让 Codex 直接跑默认训练,而是让它抽象协议和生成 PoC。

Codex 任务应该是:

请检查 https://github.com/karpathy/autoresearch

目标不是原样训练模型,而是抽象出一个可迁移到我的科研工作流的 autonomous research loop。

请重点输出:

1. 仓库的最小核心机制:
   - program.md 如何约束 agent
   - train.py 为什么是唯一 mutable target
   - prepare.py 如何承担 fixed assets + eval harness
   - results.tsv / git commit / git reset 如何构成 ratchet loop

2. 抽象协议:
   - Context
   - MutableTarget
   - FixedAssets
   - Evaluator
   - Budget
   - Ledger
   - Keep/Discard Policy
   - Failure Policy
   - Human Review Boundary

3. 迁移方案:
   - prompt optimization
   - RAG retrieval eval
   - paper screening eval
   - writing outline eval
   - Skill improvement eval

4. 为 skills-vault 生成一个 research-ratchet-skill 草案:
   - SKILL.md
   - scripts/run_trial.py
   - scripts/parse_metrics.py
   - scripts/decide.py
   - examples/paper_screening_eval
   - tests

5. 不要要求 GPU。
6. 不要修改我的真实知识库。
7. 不要读取密钥、cookie、token。
8. 所有实验必须在临时目录和临时 git 分支里执行。

12. 项目卡片

  • 一句话定位: 一个用 AI Agent 自动修改训练代码、固定时间跑实验、按指标保留或回滚的 autonomous research loop 样板。
  • 适用场景: Agent 自主实验、prompt/RAG/Skill/论文筛选规则优化、科研流程治理、自动化实验账本。
  • 不适用场景: 直接做个人知识库、直接写文章、无 GPU 原样训练、本地 8GB 显存默认配置试跑。
  • 对你的价值: 高。它可以成为你 ccpe-system 中的科研协议,以及 skills-vault 中的可复用 automation skill 母版。
  • 运行要求: 原项目要求 Python 3.10+、uv、single NVIDIA GPU、PyTorch CUDA 12.8 相关依赖;默认更接近 H100 环境。(GitHub)
  • 主要风险: CUDA/显存门槛高原仓库不是通用科研平台Agent 执行代码有安全边界风险;纯 LLM 搜索不一定优于传统优化。
  • 推荐动作: 收藏 + 阅读源码 + 抽象协议 + 做低成本 PoC。
  • 是否进入 Codex 深挖: 是,但目标是“协议抽象和 Skill 化”,不是“原样部署”。
  • 是否需要新科研库: 现在不需要。先放入 ccpe-systemskills-vaultwork-projectsknowledge-vault 各自边界内;等你有多个长期 benchmark / eval / experiment-run 需要统一管理时,再启动独立 research-lab