AISci-v2
双模式全自动科研实验框架 — Classic 四阶段流水线 + Evolution 种群演化 + Dashboard 实时监控
"/typst/templates/paper-slides.typ": body-s = 15pt body-m = 16pt head-s = 18pt : paper-slides.with( title: "AISci-v2: 双模式全自动科研实验框架", subtitle: "Classic Pipeline + Evolution Swarm", author: "Biscuit", date: "2026-08-01", ) -slide[ (center + horizon)[ (size: 28pt, weight: "bold", fill: accent)[AISci-v2] (0.3em) (size: 20pt, fill: accent)[Classic + Evolution 双模式科研实验框架] (2em) (size: 14pt, fill: secondary-text)[基于 SakanaAI/AI-Scientist-v2 · 扩展 Evolution Swarm 模式] (0.3em) (size: 13pt, fill: secondary-text)[Python 3.11 · OmegaConf · React Dashboard · FastAPI] (1em) -block[ (size: 13pt, weight: "bold", fill: accent)[核心创新:统一 Node/Journal 数据模型 + 双模式(Classic 树搜索 / Evolution 种群演化) + 实时 Dashboard] ] ] ] 目录 ( columns: (1fr, 1fr), gutter: 2em, align: top, [ ( columns: (0.5fr, 4fr), inset: 6pt, stroke: none, align: (center, left), [ (size: 22pt, weight: "bold", fill: accent)[1]], [ (size: body-s)[项目总览 \ (fill: secondary-text, size: 12pt)[双模式框架 + 统一数据模型]]], [ (size: 22pt, weight: "bold", fill: accent)[2]], [ (size: body-s)[Classic 模式 \ (fill: secondary-text, size: 12pt)[四阶段流水线 + 最优优先树搜索]]], [ (size: 22pt, weight: "bold", fill: accent)[3]], [ (size: body-s)[Evolution 模式 \ (fill: secondary-text, size: 12pt)[种群演化 + Swarm Orchestrator]]], [ (size: 22pt, weight: "bold", fill: accent)[4]], [ (size: body-s)[核心组件 \ (fill: secondary-text, size: 12pt)[MinimalAgent · Journal · Node · Event System]]], [ (size: 22pt, weight: "bold", fill: accent)[5]], [ (size: body-s)[Evolution 插件 \ (fill: secondary-text, size: 12pt)[负知识库 · 审计追踪 · Centaur HPO · Git 隔离]]], [ (size: 22pt, weight: "bold", fill: accent)[6]], [ (size: body-s)[Dashboard + 事件流 \ (fill: secondary-text, size: 12pt)[实时监控 · WORKBENCH EVENT 消费链路]]], [ (size: 22pt, weight: "bold", fill: accent)[7]], [ (size: body-s)[架构总览 \ (fill: secondary-text, size: 12pt)[数据流 · 论文写作 · 自动评审]]], ) ], [ [ (size: body-s, weight: "bold", fill: accent)[核心命题] (0.3em) (size: body-s, fill: secondary-text)[能否构建一个实验框架,同时支持确定性流水线和探索性种群演化两种科研范式?] (0.5em) (size: body-s, weight: "bold", fill: accent)[两种模式] (0.2em) ( columns: (1fr, 1fr), inset: 4pt, stroke: 0.4pt, align: (center, center), [ (size: 12pt, weight: "bold")[Classic]], [ (size: 12pt, weight: "bold")[Evolution]], [ (size: 12pt)[4 阶段流水线]], [ (size: 12pt)[种群演化循环]], [ (size: 12pt)[最优优先搜索]], [ (size: 12pt)[SAGA 风格]], [ (size: 12pt)[确定性探索]], [ (size: 12pt)[开放性发现]], ) ] (0.3em) (size: 12pt, fill: secondary-text)[基于 SakanaAI/AI-Scientist-v2 · Apache 2.0 / MIT] ], ) 项目总览:Classic + Evolution 双模式 (size: head-s, weight: "bold", fill: accent)[同一套数据模型驱动两种科研范式] ( columns: (1fr, 1fr), gutter: 1em, align: top, [ (title: "Classic 模式")[ (size: body-s)[ (weight: "bold")[入口]: | 4 阶段线性流水线 \ 初始实现 → 基线调优 → 创新研究 → 消融实验 \ 每阶段最优优先树搜索,适合目标明确的实验 ] ] ], [ (title: "Evolution 模式")[ (size: body-s)[ (weight: "bold")[入口]: | 种群演化循环 (SAGA-style) \ Selection → Execution → Absorption → Evolution → Analysis \ 多假设并行 · 失败知识积累 · 自动审计,适合探索性研究 ] ] ], ) 统一共享层 + Dashboard (size: head-s, weight: "bold", fill: accent)[Node / Journal / MinimalAgent 统一抽象 + 实时 Dashboard] ( columns: (1fr, 1fr), gutter: 1em, align: top, [ (title: "统一共享层")[ (size: body-s)[ (weight: "bold")[Node]:实验快照(代码 + 执行结果 + 指标 + 反馈)\ (weight: "bold")[Journal]:实验日志(树结构 + 草案 + 节点选择)\ (weight: "bold")[MinimalAgent]:Plan → Code → Execute → Review \ (weight: "bold")[Writeup + Review]:论文写作 + LLM/VLM 自动评审 ] ] ], [ (title: "Dashboard")[ (size: body-s)[ (weight: "bold")[前端]:React + TypeScript + Vite \ (weight: "bold")[后端]:FastAPI + SQLite + Scanner \ (weight: "bold")[实时]: stdout 事件流 \ (weight: "bold")[Workbench]:ProcessRunner 子进程管理 ] ] ], ) Classic 模式:四阶段流水线 (size: head-s, weight: "bold", fill: accent)[每阶段内部执行最优优先树搜索,阶段间传播最佳节点] ( columns: (1.5fr, 1fr, 1.5fr, 2fr), inset: 5pt, stroke: 0.4pt, align: (left, center, center, left), table.header( [ (size: body-s, weight: "bold")[阶段]], [ (size: body-s, weight: "bold")[Max Iters]], [ (size: body-s, weight: "bold")[输入]], [ (size: body-s, weight: "bold")[核心目标]], ), [ (size: 13pt)[1. 初始实现]], [ (size: 13pt)[3]], [ (size: 13pt)[Idea]], [ (size: 13pt)[基础代码跑通,最小原型可执行]], [ (size: 13pt)[2. 基线调优]], [ (size: 13pt)[2]], [ (size: 13pt)[最佳原型]], [ (size: 13pt)[超参数调优,曲线收敛,多数据集验证]], [ (size: 13pt)[3. 创新研究]], [ (size: 13pt)[2]], [ (size: 13pt)[调优基线]], [ (size: 13pt)[议程驱动探索,自动增加实验复杂度]], [ (size: 13pt)[4. 消融实验]], [ (size: 13pt)[3]], [ (size: 13pt)[最终节点]], [ (size: 13pt)[复制取统计显著性,聚合出图]], ) Classic 模式:树搜索与阶段传播 (size: head-s, weight: "bold", fill: accent)[最优优先树搜索 + 阶段间最佳节点传播] ( columns: (1fr, 1fr), gutter: 0.6em, align: top, [ (title: "树搜索策略")[ (size: body-s)[ (weight: "bold")[节点类型]:Buggy → Debug(≤3) / Non-buggy → Refine / Hyperparameter / Ablation \ (weight: "bold")[选择策略]:概率 p 选 Buggy 修复,否则选 Non-buggy 改进。最优优先。 \ (weight: "bold")[执行循环]:Plan → Code → Execute → Plot → VLM Review → Buggy/Non-buggy ] ] ], [ (title: "阶段间传播")[ (size: body-s)[ LLM 评估器选择每阶段最佳节点 → 作为下阶段根节点。每阶段末尾启动复制节点(多 seeds)提供统计量。 ] ] ], ) Evolution 模式:种群演化引擎 (size: head-s, weight: "bold", fill: accent)[SwarmOrchestrator 驱动种群演化循环] ( columns: (1fr, 1fr), gutter: 1em, align: top, [ (title: "演化循环")[ (size: body-s)[ (weight: "bold")[Selection → Execution → Absorption → Evolution → Analysis] \ 按 productivity/novelty/coverage 选父代 · 并行执行 · 成功传播 / 失败入库 · 精英保留变异 ] ] (0.3em) (title: "关键设计")[ (size: body-s)[ (weight: "bold")[PopulationManager] 管理 hypothesis trees | (weight: "bold")[NegativeKnowledgeBank] 记录失败 | (weight: "bold")[AuditTrail] 防泄露 ] ] ], [ (title: "与 SAGA 的对比")[ (size: body-s)[ (weight: "bold")[相似]:种群演化循环 · 自演化 · 精英选择 \ (weight: "bold")[差异]:ML 实验(代码生成 + 执行 + 评估)· 负知识库 · 审计追踪 · Git 隔离 · Centaur HPO ] ] ], ) 核心组件:MinimalAgent + Journal + Node (size: head-s, weight: "bold", fill: accent)[统一的三层实验模型] ( columns: (1.5fr, 2.5fr, 2fr), inset: 5pt, stroke: 0.4pt, align: (left, left, left), table.header( [ (size: body-s, weight: "bold")[组件]], [ (size: body-s, weight: "bold")[职责]], [ (size: body-s, weight: "bold")[关键属性]], ), [ (size: 13pt, weight: "bold")[MinimalAgent]], [ (size: 13pt)[Plan → Code → Execute → Plot → VLM → Buggy/Non-buggy]], [ (size: 13pt)[ · · ]], [ (size: 13pt, weight: "bold")[Journal]], [ (size: 13pt)[管理节点树、草案、选择策略、阶段检查]], [ (size: 13pt)[ · · · ]], [ (size: 13pt, weight: "bold")[Node]], [ (size: 13pt)[实验快照:代码 + 执行结果 + 指标 + 反馈]], [ (size: 13pt)[ · · · · · ]], ) 核心组件:生命周期与事件系统 (size: head-s, weight: "bold", fill: accent)[节点生命周期 + Event System 事件发射与消费] ( columns: (1fr, 1fr), gutter: 0.6em, align: top, [ (title: "节点生命周期")[ (size: body-s)[ Draft → Execute → Plot → VLM Review → Buggy? → Debug(≤3) / Non-buggy → Refine → Best → Propagate ] ] ], [ (title: "Event System")[ (size: body-s)[ \ → stdout → Dashboard 实时消费 ] ] ], ) Evolution 插件系统 (size: head-s, weight: "bold", fill: accent)[模块化插件,YAML 配置可切换] ( columns: (1.5fr, 2.5fr, 2fr), inset: 5pt, stroke: 0.4pt, align: (left, left, left), table.header( [ (size: body-s, weight: "bold")[插件]], [ (size: body-s, weight: "bold")[功能]], [ (size: body-s, weight: "bold")[机制]], ), [ (size: 13pt, weight: "bold")[NegativeKnowledge]], [ (size: 13pt)[记录失败模式,避免重复错误]], [ (size: 13pt)[失败 → 模式提取 → 向量化 → 检索 → 注入 prompt]], [ (size: 13pt, weight: "bold")[AuditTrail]], [ (size: 13pt)[防止数据泄露、幻觉、偏差]], [ (size: 13pt)[检查训练/测试重叠 · 记录实验变更 · 签名验证]], [ (size: 13pt, weight: "bold")[Centaur HPO]], [ (size: 13pt)[CMA-ES + LLM 混合超参优化]], [ (size: 13pt)[CMA-ES 探索连续空间 · LLM 建议离散/结构选择]], [ (size: 13pt, weight: "bold")[Git Isolation]], [ (size: 13pt)[每个实验独立 Git 分支]], [ (size: 13pt)[ · 隔离代码变更 · 可复现]], [ (size: 13pt, weight: "bold")[Simulation]], [ (size: 13pt)[离线测试(无 API key)]], [ (size: 13pt)[模拟 LLM 响应 · 模拟 VLM · 模拟执行结果]], ) Evolution 插件配置 (size: head-s, weight: "bold", fill: accent)[YAML 配置切换 · 插件模块化组合] (0.5em) (title: "OmegaConf 配置")[ (size: body-s)[ 所有插件通过 段控制: · · · ] ] (0.3em) ( columns: (1fr, 1fr), gutter: 0.6em, align: top, [ (title: "核心插件")[ (size: body-s)[ (weight: "bold")[NegativeKnowledge]:失败模式提取 → 向量化 → 检索 → 注入 prompt \ (weight: "bold")[AuditTrail]:训练/测试重叠检查 · 实验变更记录 · 签名验证 ] ] ], [ (title: "辅助插件")[ (size: body-s)[ (weight: "bold")[Centaur HPO]:CMA-ES 探索连续空间 + LLM 建议离散结构 \ (weight: "bold")[Git Isolation]: · 隔离代码变更 · 可复现 ] ] ], ) Dashboard:双通道数据消费 (size: head-s, weight: "bold", fill: accent)[Workbench 实时推送 + Scanner 文件扫描] ( columns: (1fr, 1fr), gutter: 1em, align: top, [ (title: "Workbench 通道(实时)")[ (size: body-s)[ (weight: "bold")[启动]:Dashboard 内一键启动,ProcessRunner 管理子进程 \ (weight: "bold")[消费]:逐行读取 stdout → 正则匹配 → 解析 JSON → SQLite \ (weight: "bold")[事件类型]: · · · · · \ (weight: "bold")[前端]:2.5s 轮询 → 展示 Timeline ] ] ], [ (title: "Scanner 通道(文件扫描)")[ (size: body-s)[ (weight: "bold")[触发]:每 3s 扫描 目录 \ (weight: "bold")[数据]: · · · \ (weight: "bold")[层次]:Session → Proposal → Run → Attempt → Stage → Artifact \ (weight: "bold")[局限]:不消费 ,只能看到文件级别的粗粒度进度 ] ] ], ) Dashboard:事件消费链路与技术栈 (size: head-s, weight: "bold", fill: accent)[ 从发射到展示的完整链路] ( columns: (1fr, 1fr), gutter: 1em, align: top, [ (title: "事件消费链路")[ (size: body-s)[ (weight: "bold", fill: accent)[Emit] → Parse → Store → SQLite \ (weight: "bold", fill: accent)[Serve] (SSE) / (REST) → Display 前端 2.5s 轮询 → Timeline ] ] ], [ (title: "技术栈")[ (size: body-s)[ (weight: "bold")[前端]:React 19 + TypeScript + Vite \ (weight: "bold")[后端]:FastAPI + SQLite + SSE \ (weight: "bold")[子进程]: + async stdout 消费 \ (weight: "bold")[安全]:路径 containment 检查 ] ] ], ) 端到端数据流 ( columns: (1.5fr, 2.5fr, 2fr), inset: 5pt, stroke: 0.4pt, align: (left, left, left), table.header( [ (size: body-s, weight: "bold")[阶段]], [ (size: body-s, weight: "bold")[Classic]], [ (size: body-s, weight: "bold")[Evolution]], ), [ (size: 13pt)[1. Idea 输入]], [ (size: 13pt)[JSON 文件(Name / Title / Hypothesis / Experiments)]], [ (size: 13pt)[同左]], [ (size: 13pt)[2. 实验执行]], [ (size: 13pt)[ClassicPipeline 4 阶段 · 最优优先树搜索]], [ (size: 13pt)[SwarmOrchestrator 种群演化循环]], [ (size: 13pt)[3. 图表聚合]], [ (size: 13pt)[ 汇总多节点图表]], [ (size: 13pt)[同左]], [ (size: 13pt)[4. 论文写作]], [ (size: 13pt)[ICML 8 页 / ICLR 4 页 · LaTeX 模板 · o1 反思]], [ (size: 13pt)[同左]], [ (size: 13pt)[5. 自动评审]], [ (size: 13pt)[LLM 文本评审 + VLM 图表/图注审查]], [ (size: 13pt)[同左]], [ (size: 13pt)[6. 输出]], [ (size: 13pt)[PDF 论文 + 实验数据 + 评审报告]], [ (size: 13pt)[同左 + 种群演化轨迹]], ) 论文写作与配置 (size: head-s, weight: "bold", fill: accent)[自动论文生成 + 灵活配置系统] ( columns: (1fr, 1fr), gutter: 0.6em, align: top, [ (title: "论文写作")[ (size: body-s)[ (weight: "bold")[ICML 模式]:8 页,LaTeX 模板,适合主会投稿 \ (weight: "bold")[ICLR ICBINB 模式]:4 页短文,适合 Workshop \ (weight: "bold")[增强]:o1 反思 + VLM 图注审查 + 引用自动检索 \ (weight: "bold")[跳过]: ] ] ], [ (title: "配置系统")[ (size: body-s)[ (weight: "bold")[OmegaConf]:YAML 配置 + CLI 覆盖 + 默认值合并 \ (weight: "bold")[模型]:code / feedback / vlm feedback / report / review 独立配置 \ (weight: "bold")[环境变量]: 覆盖 + 跳过视觉 ] ] ], ) (0.3em) (size: body-s, weight: "bold", fill: accent)[Classic 确定性探索 → Evolution 开放性发现。同一套 Node/Journal/Agent 抽象,两种科研范式。] Q&A (3em) (center, text(size: 18pt, weight: "bold", fill: accent)[谢谢!Q & A]) (0.5em) (center, text(size: 11pt, fill: secondary-text)[基于 SakanaAI/AI-Scientist-v2 · github.com/SakanaAI/AI-Scientist · 汇报人: Biscuit])