SuperAPI AI 工具集

arbor

智能体与模型

查看项目

更新于 10-21 16:27

技能介绍

用途

Arbor 用于对具体产物进行自主优化(Autonomous Optimization,AO):从一个已有产物和一个可度量的目标出发,通过多轮实验与评估来改进它,无需逐步人工监督,同时避免对反馈信号过拟合。它适合瓶颈不在于写出单个好改动,而在于组织数十次试验、让经验能够累积而非消散的场景。

它实现了 Arbor(Jin et al., 2026)中的 Hypothesis Tree Refinement(HTR)。核心思想是:把研究状态保存在持久的假设树中,而不是对话历史里。每个节点绑定一个假设、该假设产生的提炼洞见,以及实现该假设的产物版本指针。使用者扮演长期存在的协调者,拥有这棵树并决定搜索方向;短生命周期的执行子智能体在隔离的 git worktree 中各自测试一个假设并回报。留出的合并门只在改动对测试评估器有提升时才接纳它。

主要能力

  • 假设树状态管理:通过 scripts/tree.py 完成节点创建、证据写入、洞见传播、剪枝、合并门以及 Observe 投影等全部簿记工作。
  • 六步协调者循环:Observe(观察)、Ideate(构思)、Select(选择)、Dispatch(派发)、Backpropagate(反向传播)、Decide(决策)。
  • 开发/测试评估器分离:E_dev 用于搜索期间自由评分,E_test 仅在合并门使用,用于捕捉过拟合。
  • 隔离执行:每个假设由执行子智能体在独立 worktree 中测试,避免并行实验互相干扰或污染当前最优产物。
  • 洞见传播:将叶级观察抽象为方向级约束乃至全局先验,驱动后续构思。
  • 剪枝与负约束:记录被证伪的假设及其原因,作为后续搜索需避免的死路。

使用方式

首先确定任务元组(M_0, O, E_dev, E_test):M_0 是待改进的初始产物(需在 git 下且当前可运行);O 是自然语言目标与指标方向(最大化准确率或最小化损失/步数);E_dev 是搜索期间可自由运行的开发评估器;E_test 是仅在合并门使用的留出测试评估器。若用户未提供清晰的 dev/test 划分,应自行构造并说明。

初始化运行:

python scripts/tree.py init
--objective "Improve BrowseComp answer accuracy on the search harness"
--dev-eval "python eval.py --split dev --n 50"
--test-eval "python eval.py --split test --n 300"
--material "." --metric-direction max --branching 3 --max-depth 2 --budget 12

其中 --branching 是每个父节点提出的兄弟假设数量;--max-depth 2 使深度 1 为方向、深度 2 为具体干预;--budget 是协调者循环次数,建议从 10–20 开始。

每轮循环运行 python scripts/tree.py cycle 跟踪预算,并按六步执行:

  1. Observe:运行 python scripts/tree.py observe,打印目标、全局洞见、活跃前沿、已执行节点及其证据、剪枝教训和当前最优产物。
  2. Ideate:选择有前景的父节点并提出子假设,例如:

python scripts/tree.py add-node --parent n0 --hypothesis "Verification, not retrieval, is the bottleneck: candidates are found but discarded" python scripts/tree.py add-node --parent n4 --hypothesis "Decompose the question into atomic constraints and verify each independently"

  1. Select:选择下一步运行的待处理叶子,优先考虑有强先验证据、能解决歧义或失败能澄清重要假设的实验。
  2. Dispatch:在隔离 worktree 中派发执行子智能体,可并行派发独立兄弟节点。执行者不得在指标停滞时更改假设,只能修复自身代码并重跑。执行者返回四项:dev_score、result、insight、branch_ref。派发前用 tree.py set-status --node n5 --status running 标记节点。
  3. Backpropagate:写入执行者报告并向上抽象洞见:

python scripts/tree.py set-evidence --node n5 --dev-score 70.0
--result "K=5 dossier aggregation recovers answers in minority rollouts"
--insight "Correct answers often appear in a minority of rollouts; aggregation beats majority vote"
--branch-ref "wt/n5"

python scripts/tree.py propagate --node n5
--insight "Candidate coverage, not verification, limits this direction" --to-root

  1. Decide:决定继续扩展、剪枝还是尝试合并。剪枝需记录原因:

python scripts/tree.py prune --node n7 --reason "search-augmented judge overfits dev questions; no test transfer"

合并门在新 worktree 中运行测试评估器,然后:

python scripts/tree.py merge --node n5 --test-score 67.67 --branch-ref "wt/n5"

若被拒绝,应记录该教训而非强行提升。重复直到预算耗尽、前沿枯竭或进展明显停滞。

结束时生成简短报告,涵盖最终最优产物及其测试分数与相对 M_0 的增量、假设树状态、主要假设转变、合并与探索的差距。始终将 M_best 保留在命名分支上并告知用户如何检出。

适用场景

  • 模型训练:优化器/架构/配方改动以降低损失或在更少步数内达标。
  • 框架/智能体工程:提升智能体循环、搜索框架或工具使用脚手架的通过率或准确率。
  • 数据合成:改进由下游模型行为评判的生成/过滤管道。
  • 基准优化:MLE-bench / Kaggle 风格的“改进提交”任务。
  • 可自动评分输出的提示词/系统优化。

区分信号:存在可修改的产物、目标、评分候选的方式,且预期运行大量实验。若用户只需单个修复或一次性答案,则此技能过重;若用户需要无评估器的开放式构思,应改用 hypothesis-generation 或 scientific-brainstorming。

限制

  • 需要明确的 dev/test 评估器划分;缺少时自主搜索会可靠地过拟合。
  • 执行者必须受假设约束,不得为追求更好数字而更改假设,否则证据语义被破坏。
  • 版本相关细节可能过时,需对照已安装版本的官方文档确认。
  • 涉及花钱、占用共享 GPU 或云配额、触碰个人或患者数据、或不可撤销的操作前需先询问。
  • 不得编造结果、参数、标识符、引用或统计;无法运行或验证的内容应如实说明。

参考文件

  • references/htr-methodology.md:HTR 的深入解释、节点结构、六步流程及论文实证教训。
  • references/executor-brief.md:交给执行子智能体的简报模板。
  • references/report-template.md:最终报告结构。
  • references/arbor-upstream.md:如何安装并运行来自 RUC-NLPIR/Arbor 的独立 arbor CLI,以及何时优先使用哪种方式。

相关技能

  • research-skill-creator:创建、改进和测试研究工作流的智能体技能。
  • statistical-analysis:面向研究数据的引导式统计分析。
  • nextflow:端到端构建、运行和调试 Nextflow 数据管道与 nf-core 工作流。