OpenResearch:把研究流程变成git-native的版本树——alphaXiv的并行agent工作台
项目:OpenResearch 仓库:https://github.com/alphaXiv/OpenResearch 语言:Rust 今日星标:+304 定位:本地优先的研究 agent 工作台
OpenResearch:把研究流程变成 git-native 的版本树——alphaXiv 的并行 agent 工作台
项目:OpenResearch
仓库:https://github.com/alphaXiv/OpenResearch
语言:Rust
今日星标:+304
定位:本地优先的研究 agent 工作台
一、场景开篇:五个方向同时探索,谁也不阻塞谁
你在研究一个多模态对齐问题。脑子里有五个假设:
1. 用对比学习对齐图像和文本嵌入 2. 用强化学习从人类反馈学对齐策略 3. 用课程学习逐步增加难度 4. 用混合专家路由不同模态 5. 用检索增强生成引入外部知识
传统做法是串行:先试假设 1,跑三天看结果,不行再试假设 2。两周过去,你还在假设 3。
OpenResearch 的做法是并行:五个方向各开一个 agent session,每个 session 有独立的 git worktree、独立的实验树、独立的代码改动。你同时推进五个方向,哪个先出结果就先看哪个。
# 同时开五个方向
orx run "contrastive alignment baseline" --worktree exp/contrastive
orx run "RLHF with reward model" --worktree exp/rlhf
orx run "curriculum learning schedule" --worktree exp/curriculum
orx run "MoE routing per modality" --worktree exp/moe
orx run "RAG with external knowledge" --worktree exp/rag
这不是"五个终端窗口"——那是手动管理。这是五个 agent 在同一个项目下并行工作,每个 agent 的改动都被 git 追踪,每个实验都是版本树上的一个节点。
二、核心定位:研究 agent 的"工作台",不是"工具"
OpenResearch 的 README 反复用一个词:workbench(工作台)。
工具(tool)是单次调用的——你输入,它输出。工作台(workbench)是持续状态的——你在这个台面上工作,工具、材料、半成品都摆在上面,下次回来继续。
研究流程的本质是有状态的:
- 你有一个项目(project)
- 项目里有多次实验(runs)
- 每次实验有代码改动、参数、结果
- 结果会决定下一步做什么
- 整个过程需要可复现、可回溯、可分享
| 概念 | git 类比 | OpenResearch 实现 |
|---|---|---|
| 项目 | repo | project(本地 SQLite 存储) |
| 实验分支 | branch | run(独立 worktree) |
| 代码改动 | commit | agent 自动 commit |
| 实验结果 | tag/annotation | immutable archive |
| 复现 | checkout | run 回放 |
orx checkout ,代码、参数、环境全回来。三、Autoresearch:闭环自动化
OpenResearch 最有意思的功能是 autoresearch——全自动研究循环:
Propose idea → Change code → Launch experiment → Inspect evidence → Decide next
你给它一个研究方向,它自己:
1. 提出假设:基于现有代码和文献,生成一个可验证的假设 2. 改代码:在独立 worktree 里修改代码,git commit 记录改动 3. 跑实验:本地、SSH、Slurm、K8s、Ray、HuggingFace Jobs、Modal、Tinker 都能跑 4. 检查证据:读日志、看 metrics、分析结果 5. 决定下一步:根据结果决定是继续这个方向、换方向、还是报告发现
这不是"AI 帮你写代码"——那是 Copilot。这是"AI 帮你做研究"——它有自己的实验树,能回溯、能复现、能分支。
关键区别:Copilot 是工具,autoresearch 是同事。工具等你指令,同事自己推进。工具不记得上次做了什么,同事有持续的项目记忆。
四、本地优先:你的代码不出机器
这是 OpenResearch 和云研究平台(如 Anthropic Claude Science)的根本区别:
OpenResearch runs on 127.0.0.1 with a local SQLite store. Creating a project or launching a run does not publish your code.
- 本地 SQLite 存储
- 本地 git worktree
- 本地 agent session
- 只有"组织"和"托管计算"需要账号,那也是可选的
- 未发表的方法细节
- 敏感数据集引用
- 实验中的失败结果(不想公开)
- 知识产权相关的算法
这和"数据主权"的讨论同构。研究代码是研究者的核心资产,把它交给云平台意味着失去控制权。OpenResearch 把"本地优先"从口号变成了架构选择——SQLite + git + 127.0.0.1,三个技术决策锁死了"代码不出机器"。
五、Agent 集成:不是替代,是增强
OpenResearch 不重新造 agent。它把自己集成到现有 agent 里:
orx install-skills
这一条命令会把 OpenResearch skill 安装到:
- Claude Code
- OpenAI Codex
- OpenCode
- Cursor
orx projects、orx runs、orx logs、orx exp run、orx discover keyword、orx paper。这是一个聪明的定位。OpenResearch 不和 Claude Code 竞争——它把 Claude Code 变成研究 agent。你用 Claude Code 写代码,用 OpenResearch 管理研究流程。两者互补,不重叠。
这和 Archify 的"编译器分层"思路类似——AI 产出结构化制品(实验、代码、结果),确定性引擎(OpenResearch)管理版本和复现。分工比统一更有效。
六、运行环境:从笔记本到集群
OpenResearch 支持的运行后端:
- 本地:直接跑
- SSH:
orx up --remote user@host - Slurm:HPC 集群
- Kubernetes:云原生
- Ray:分布式 Python
- HuggingFace Jobs:托管计算
- Modal:serverless GPU
- Tinker:专用硬件
orx up --remote user@host 这一条命令就能把本地 agent 连到远程机器。SSH config 别名和自定义端口都支持。远程服务绑定到 loopback,没有应用层认证(同机器其他用户可达——OpenResearch 在 README 里诚实标注了这个安全限制)。
七、为什么 alphaXiv 做这件事
alphaXiv 是 arXiv 论文讨论平台的运营方。他们每天看研究者怎么工作——读论文、提假设、跑实验、写结果。他们比大多数公司更懂研究流程的痛点:
- 实验不可复现:代码改了,参数忘了记,结果找不回来
- 方向探索串行:一次只能试一个方向,两周才走完一轮
- 工具碎片化:代码在 GitHub,实验在 W&B,结果在 Notion,论文在 Overleaf
- agent 没有工作台:Copilot 帮你写代码,但不管你的研究项目
八、开放假设:诚实标注不确定性
和 colibrì 一样,OpenResearch 的 README 也诚实标注了不确定性。它列出了"设计决策"和"已知限制":
- 本地优先 ≠ 离线优先:需要网络连接做模型推理(除非本地有模型)
- agent 质量取决于底层模型:OpenResearch 管流程,不管模型能力
- 实验复现有边界:硬件差异、随机种子、CUDA 版本都可能影响复现
九、一句话总结
OpenResearch 把研究流程变成 git-native 的版本树——每个实验是 branch,每次改动是 commit,每个结果是 tag。五个方向并行探索,代码不出机器,从笔记本到集群都能跑。
它不是"AI 研究助手"——那太浅。它是研究流程的版本控制系统,就像 git 是代码的版本控制系统。alphaXiv 从论文讨论平台走向研究流程基础设施,这是一个自然的延伸:他们已经看了研究者怎么工作好几年了。
仓库:https://github.com/alphaXiv/OpenResearch
文档:https://openresearch.sh
安装:orx install-skills