# science125
**Repository Path**: ricky-theseus/science125
## Basic Information
- **Project Name**: science125
- **Description**: 用于https://www.science.org/cms/asset/b09620dc-2937-45bd-9c29-3ea07c1f4a04/sjtu-booklet.pdf?file=sjtu-booklet.pdf的批量测试
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2026-08-30
- **Last Updated**: 2026-09-02
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Science 125 Batch Runner
**基于 AI-Scientist 管线批量处理 Science 125 前沿科学问题的运行工作区**
[](https://www.python.org/downloads/)
[](https://github.com/langchain-ai/langgraph)
[]()
---
## 简介
本仓库是 **Science 125 问题集的批量运行工作区**。它从官方 SJTU booklet 提取 125 个前沿科学问题(含问题原文与背景段落),调用 [AI-Scientist](https://gitee.com/ricky-theseus/ai-science) 多智能体科研管线逐题处理,产出每题的完整研究输出:候选假设、证据核验、研究计划、评审记录与可编译的 LaTeX/PDF 报告。
**核心能力:**
- 🔬 **官方问题集** — 内置 Science 125 全部问题(含背景),数据来自官方 booklet
- 🤖 **调用 AI-Scientist 管线** — 复用成熟的多智能体科研流水线,无需自研推理引擎
- 📦 **批量运行** — 支持指定题号 / 范围 / 从前往后或从后往前,可断点续跑
- 📊 **完整产出** — 每题一个目录,含 JSON 阶段产物 + 报告 + 论文 PDF
- 🧪 **可配置** — 模型、迭代轮数、输出目录均通过配置文件管理,不硬编码
---
## 快速开始
### 1. 准备
需要 Python 3.10+ 及 [AI-Scientist](https://gitee.com/ricky-theseus/ai-science) 项目(提供多智能体管线与依赖)。
```bash
# 克隆本仓库
git clone https://gitee.com/ricky-theseus/science125.git
cd science125
# 克隆并配置 AI-Scientist 管线(含 .env,配置大模型 API Key)
git clone https://gitee.com/ricky-theseus/ai-science.git ../ai-science
cd ../ai-science && pip install -r requirements.txt && cd ../science125
```
### 2. 配置
编辑 `scripts/batch_config.yaml`,按需调整:
```yaml
# 每题最大迭代轮数
max_iterations: 2
# Python 解释器路径(使用 venv 时填,否则留空)
python: ""
# 每类 Agent 使用的模型
model_overrides:
literature: qwen3-max
hypothesis: qwen3-max
...
rubric: qwen-turbo
```
### 3. 运行
```bash
cd scripts
# 跑指定范围的题
./run_batch.sh --questions 1-10
# 从前往后跑
./run_batch.sh --questions 1-62
# 从后往前跑
./run_batch.sh --questions 125-63
# 指定单题 + 自定义迭代轮数
./run_batch.sh --questions 121 --max-iterations 3
```
> 若未使用 `run_batch.sh`,也可直接:
> ```bash
> PYTHONPATH=../ai-science python batch_run_125.py --questions 1-10
> ```
---
## 用法说明
### 参数
| 参数 | 作用 |
|---|---|
| `--questions N N-M ...` | 题号 / 范围(支持 `1 2`、`1-10`、`125-63` 降序、混合) |
| `--start-from N` / `--max-questions N` | 从第 N 题起跑 N 道 |
| `--max-iterations N` | 每题迭代轮数 |
| `--agent-model MODEL` | 覆盖所有 Agent 模型 |
| `--config PATH` | 指定配置文件(默认 `batch_config.yaml`) |
| `--runs-dir PATH` | 输出目录(默认 `science125/`) |
### 断点续跑
- **已完成的题**(meta 状态为 completed)→ 自动跳过
- **未完成的题**(中断 / 失败)→ 复用已有目录续跑,不重复劳动
- 中断后重跑同一条命令即可,只补未完成的题
---
## 输出结构
```
science125/
├── batch_summary.json # 批次汇总(各题状态 / 耗时)
├── q1_20260831_004232/ # 每题一个目录
│ ├── 00_input.json # 问题 + 背景
│ ├── input_question.md
│ ├── config.json # 该题运行配置
│ ├── meta.json # 运行状态 + 评审历史
│ ├── runtime_state.json
│ ├── logs/ # 该题日志
│ ├── 01_supervisor_i1.json # 问题拆解
│ ├── 02_literature_i1.json # 文献检索
│ ├── 03_hypothesis_i1.json # 候选假设
│ ├── 04_evidence_i1.json # 证据核验
│ ├── 05a_reflection_pre_i1.json ... 05e_rubric_plan_i1.json
│ ├── 06_feedback_i1.json # 评审 + 迭代
│ ├── 07_writer.json
│ ├── paper.tex / paper.pdf / paper.bib # 可编译报告
│ └── final_report.json
├── q2_.../
└── ...
```
---
## 目录结构
```
science125/
├── scripts/ # 脚本
│ ├── batch_run_125.py # 批量运行主脚本
│ ├── run_batch.sh # 启动器(读配置中的 python 路径)
│ ├── make_125_json.py # 从 booklet 提取问题集到 JSON
│ └── batch_config.yaml # 运行配置
├── science_125.json # 官方 125 题(问题 + 背景)
├── science125/ # 批量运行输出(入库)
├── docs/ # 文档
└── 125.md # 官方 booklet 原始 markdown
```
---
## 关联项目
本仓库依赖 [**AI-Scientist**](https://gitee.com/ricky-theseus/ai-science) —— 一个基于多智能体科研流水线的科学假设生成与研究报告系统,负责实际的问题分析、假设生成、证据核验与报告撰写。
---
## 许可证
本项目基于 [MIT License](LICENSE)。