Arbor 自主研究优化器
面向可量化目标的自主实验、验证与迭代优化框架。
- Star 数
- ★ 1.1k
- 最近更新
- 5 天前
- License
- Apache-2.0
- 主语言
- Python
- FA 评分
- 63/100 · 存在缺口
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台Codex · Claude Code · OpenAI API · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 负责机器学习基准的研究工程师,希望在固定实验预算内系统尝试优化器或架构改动,并以开发集和留出测试集区分调参与保留改进。
- 不适合
- 没有可运行评测脚本和干净 Git 仓库的项目
- 只想用 Python 3.10/3.11 且依赖内置 alphaXiv 文献检索的用户
- 源码审查
- 63/100 · 存在缺口
这个 Agent 能做什么,适合哪些场景?
Arbor 是一个以假设树为核心的自主研究运行时,用于对具有目标和评测指标的任务持续开展实验优化。它由 Coordinator 和 Executor 协作:前者维护 Idea Tree、选择研究方向并作出合并或剪枝决策,后者在独立 Git worktree 中实现单个想法并运行评测。原生 Python CLI 提供配置、交互式 intake、仪表盘、检查点恢复、报告导出和只读 Web 监控;每次运行会在 .arbor/sessions/ 下保存事件、统计、树和实验产物。它也可通过 arbor install、技能套件及可选 MCP 服务嵌入 Codex 或 Claude Code,由宿主模型负责推理而 Arbor 提供确定性研究工具。适合已有可运行评测、明确指标和干净 Git 仓库的优化任务,而不是代替尚未定义评测标准的项目规划。
启动 arbor 后,系统通过 intake 将目标、目标目录、指标、基线、预算、dev/test 划分和产物路径整理为 Arbor Research Contract。Coordinator 按 Observe、Ideate、Select、Dispatch、Backpropagate、Decide 六步循环维护 Idea Tree,并把候选假设分派给 Executor。Executor 在专用分支和 Git worktree 中修改代码、在 dev 信号上迭代、回报证据;只有超过配置阈值的改进才会经过 held-out test 并合并到每次运行的 trunk。CLI 可用 arbor replay 重放事件,arbor report 重新生成 REPORT.md,arbor export 输出 HTML 或 JSONL,arbor web 提供只读会话监控;arbor idea-check 可通过 alphaXiv 检查想法的相关工作与新颖性。
- 负责机器学习基准的研究工程师,希望在固定实验预算内系统尝试优化器或架构改动,并以开发集和留出测试集区分调参与保留改进。
- 维护代码评测基准的开发团队,需要让多个候选实现各自在隔离 Git worktree 中运行,避免未验证变更直接污染 main。
- 构建 BrowseComp、Terminal-Bench 一类可执行评测任务的人员,希望让研究过程记录失败分支、得分和可复用洞见,而非只保留最后一次尝试。
- 使用 Codex 或 Claude Code 订阅而没有单独 API 密钥的开发者,希望通过 Arbor 技能和可选 MCP 工具执行带树结构、评测与受保护合并的研究流程。
- 需要先检查某项技术思路是否已有近似工作的研究者,可在投入实验前运行 arbor idea-check 取得 alphaXiv 驱动的简要判定。
如何安装或部署这个 Agent?
要求 Python 3.10+ 与 Git。安装原生 CLI:
pip install arbor-agent
arbor doctor随后运行 arbor quickstart 配置免费密钥或本地 Ollama,或运行 arbor setup 配置 provider、model、base_url 与 API key;配置写入 ~/.arbor/config.yaml。只看演示无需密钥:arbor replay --demo。若要在 Codex 或 Claude Code 内以宿主模型运行,可执行 pip install arbor-agent、arbor install;可选 MCP 支持需先执行 pip install "arbor-agent[mcp]",再将 arbor mcp 注册到支持 MCP 的宿主。
如何使用这个 Agent?
在包含可运行评测脚本、评测数据(最好含 dev 与 held-out test)且工作区干净的 Git 仓库中运行:
arbor "improve validation score without touching the test split" --cwd ./benchmark在 intake 中确认目标、指标、预算与权限后才会启动实验。也可用 research_config.yaml 指定 task、coordinator.max_cycles、coordinator.max_depth、merge_threshold 和 executor.max_turns,再运行:
arbor --cwd ./benchmark --config research_config.yaml中断的任务可用 arbor --resume --run-name <run_name> 恢复;通过 git merge research/run_xxx/trunk 将满意的运行结果提升到 main。
这个 Agent 有哪些优点和局限?
- Coordinator 与 Executor 分工明确,并用 Idea Tree 记录结果、失败模式和向上抽象的洞见,支持跨循环的结构化探索。
- 每项实验使用独立 Git worktree;变更先在 dev 上迭代,再以 held-out test 和可配置 merge_threshold 决定是否进入运行 trunk。
- 同时提供原生 CLI、独立技能套件和可选 MCP 服务;既可使用 OpenAI、Anthropic 或 OpenAI 兼容后端,也能在 Codex/Claude Code 中采用无 API key 的宿主模型流程。
- 会话产物可恢复和审计,包含 REPORT.md、events.jsonl、run_stats.json、Idea Tree 及每项实验的产物,并支持 HTML/JSONL 导出。
- 原生研究运行需要配置模型提供商与凭据;无密钥模式依赖 Codex 或 Claude Code 等宿主编码代理的模型能力。
- 目标项目必须具备可运行评测、最好分开的 dev/test 数据,并且要求干净 Git 仓库;没有这些基础设施时需先自行准备。
- 自动文献检索并非所有环境可用:内置 alphaXiv 后端要求 Python 3.12+,Python 3.10/3.11 会降级;运行内默认也关闭网络检索。
- Arbor 将通过运行的 trunk 与 main 分离,最终是否把 trunk 合并进 main 仍由使用者执行和判断。
这个 Agent 与同类方案有什么区别?
仓库报告称,在其列出的六项任务的 held-out 测试中,Arbor 的结果高于所比较的 Claude Code 与 Codex 基线;例如 BrowseComp 为 67.67,对比 Claude Code 的 53.33 和 Codex 的 50.00,Terminal-Bench 2.0 为 77.36,对比 71.70 和 73.59。这些是该仓库披露的评测结果,不等同于所有项目上的通用性能保证。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Arbor 自主研究优化器 当前 | 63 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 1.1k | 5 天前 | Python | Codex · Claude Code · OpenAI API · Claude API |
| wmux 智能体工作台 | 75 · 表现良好 | 桌面应用 | ★ 447 | 今天 | TypeScript | Codex · Claude Code |
| Agent Manager | 75 · 表现良好 | 命令行工具免费 | ★ 646 | 今天 | Go | Codex · Claude Code |
| no_human | 75 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 320 | 1 个月前 | Python | Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
文档给出交互审阅、权限澄清、预算和运行模式确认;密钥可从环境变量读取,配置快照会脱敏,且有 worktree、受保护路径和只读监控等控制,因此确认、数据流和回滚有实质支持。扣分原因:Executor 获得代码修改和实验工具,autonomous 模式可自动运行;入口代码还会修改 .gitignore,Coordinator 路径会尝试提交该修改,外部副作用及最小权限说明不充分。依赖有版本下限但没有本材料可见的安全审计或漏洞缓解证据。作者与仓库归属有声明,但发布者身份未验证,来源归属证据有限。
材料说明了阶段、树状态、评估分割、重试和错误处理,并有 CI 测试配置及针对搜索缺包、访问失败的测试。扣分原因:README 中的性能与任务胜出声明在提供材料里没有对应的独立结果证据;部分行为描述来自说明而非可见实现,且没有执行验证,不能据此确认端到端可靠性。
文档覆盖原生 CLI、技能套件、MCP、不同模型提供商、benchmark 和 CI 等场景,并提供交互模式、插件及配置选择。扣分原因:能力边界虽由技能职责和评测纪律部分说明,但通用目标仍依赖用户提供可运行评估与清晰指标;环境支持也有平台限制,例如 CI 注明 Windows 未覆盖。
仓库有清晰的 README、安装、快速入门、配置文档,中英文安装和快速入门、丰富示例、Apache-2.0 LICENSE,以及由 git tag 派生版本的约定。扣分原因:新闻与版本变化有记录但提供材料中没有完整变更历史;维护责任仅见作者和仓库链接,未说明支持承诺或维护流程。
假设树、隔离实验、开发集与留出集纪律、报告和可选人类审阅为研究迭代提供了明确产物,配置也提供周期和时间预算控制。扣分原因:实际收益主要由 README 的基准与项目示例声明支撑,本材料不足以验证其普遍性;运行需要模型、计算和数据准备,成本效益依赖任务与环境。
安装要求、命令、配置项、评估字段和若干工具行为有具体说明;测试文件为部分搜索行为提供了交叉佐证。扣分原因:主要性能宣传和整体研究能力在本材料中没有足够的对应测试或结果材料;说明性文字、示例数字与已验证事实的界线不总是清楚。
- 自动运行可能修改目标仓库并启动耗时或计费实验;先检查运行模式、预算、评估命令和受保护路径。入口代码可能更新 .gitignore,Coordinator 还可能尝试提交该变更。
- README 中的性能提升属于仓库声明,本次静态材料审查未独立验证。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
<!-- Release notes generated using configuration in .github/release.yml at main --> What's Changed Other Changes * docs: refresh README first screen + add roadmap Direction 4 (adoption/DX/community) by @ignorejjj in https://github.com/RUC-NLPIR/Arbor/pull/38 * docs(roadmap): rewrite around open problems and preliminary ideas by @ignorejjj in https://github.com/RUC-NLPIR/Arbor/pull/39 * fix(llm): make Responses API cache hits visible; default example to auto by @ignorejjj in https://github.com/RUC-NLPIR/Arbor/pull/40 …在 GitHub 查看 ↗ -
发布说明摘录
<!-- Release notes generated using configuration in .github/release.yml at main --> What's Changed Other Changes * Harden MCP tool path boundaries + web monitor headers by @ignorejjj in https://github.com/RUC-NLPIR/Arbor/pull/21 * feat(search): zero-config alphaXiv backend + idea-check novelty review by @ignorejjj in https://github.com/RUC-NLPIR/Arbor/pull/22 * feat(search): grounded ideation + pluggable backends + keyless visit by @ignorejjj in https://github.com/RUC-NLPIR/Arbor/pull/23 …在 GitHub 查看 ↗ -
发布说明摘录
<!-- Release notes generated using configuration in .github/release.yml at main --> What's Changed Other Changes * feat(cli): export session artifacts (HTML / JSONL) by @ignorejjj in https://github.com/RUC-NLPIR/Arbor/pull/9 * feat(examples): add AlgoTune-style k-NN speedup benchmark by @ignorejjj in https://github.com/RUC-NLPIR/Arbor/pull/10 * docs(readme): introduce the runnable algotune_knn example task by @ignorejjj in https://github.com/RUC-NLPIR/Arbor/pull/11 …在 GitHub 查看 ↗
常见问题
运行 Arbor 是否一定需要 API key?
它会直接修改 main 分支吗?
如何避免只对开发集过拟合?
能否在没有真实任务前先体验?
文献检索会默认访问网络吗?
谢谢反馈,我们会据此改进页面。