聊一个想法。出一篇论文。全自动 & 自演化。
⚡ 一行启动
pip install -e . && researchclaw run --topic "你的研究想法" --auto-approve
🤔 这是什么?
你有一个灵感,你想要一篇论文。就这么简单。
AutoResearchClaw 接收一个研究主题,自主产出完整学术论文——真实文献来自 arXiv 和 Semantic Scholar(多源搜索、arXiv 优先以避免限流),硬件感知沙箱实验(自动检测 GPU/MPS/CPU),包含统计分析、同行评审和顶会级 LaTeX 排版(目标 5,000-6,500 词,符合 NeurIPS/ICML/ICLR 标准)。不用盯着,不用在工具间来回复制。
| 📄 | paper_draft.md | 完整学术论文(引言、相关工作、方法、实验、结果、结论) |
| 📐 | paper.tex | 适配顶会模板的 LaTeX 文件(NeurIPS / ICLR / ICML) |
| 📚 | references.bib | 来自 Semantic Scholar 和 arXiv 的真实 BibTeX 引用——自动精简至与正文引用一致 |
| 🔍 | verification_report.json | 四层引用核查(arXiv、CrossRef、DataCite、LLM 相关性评分) |
| 🧪 | experiment runs/ | 生成的代码 + 沙箱结果 + 结构化 JSON 指标 |
| 📊 | charts/ | 自动生成的条件对比图(含误差线和置信区间) |
| 📝 | reviews.md | 多 Agent 同行评审(含方法论-证据一致性检查) |
| 🧬 | evolution/ | 从每次运行中提取的自学习教训 |
| 📦 | deliverables/ | 所有最终产出集中在一个文件夹——可直接上传 Overleaf 编译 |
流水线端到端无需人工介入运行(除非你配置了门控阶段)。实验失败时自动修复,假设不成立时自主转向。
🎯 试试看
researchclaw run --topic "Agent-based Reinforcement Learning for Automated Scientific Discovery" --auto-approve
🧠 有什么不同
🔄 PIVOT / REFINE 决策循环
流水线不只是线性运行。第 15 阶段(RESEARCH_DECISION)根据实验结果评估假设,做出自主决策:
- PROCEED — 结果支持假设,继续写论文
- REFINE — 结果有前景但需改进,回到代码/参数优化
- PIVOT — 发现根本性问题,从假设生成重新开始
每次 PIVOT/REFINE 都会版本化之前的产物(stage-08_v1/、stage-08_v2/……),确保工作不丢失,决策演化完全可追溯。
🤖 多 Agent 辩论
关键阶段使用结构化辩论协议,汇集多个 LLM 视角:
- 假设生成 — 多个 Agent 提出和挑战创意
- 结果分析 — 乐观者、怀疑者、实用者多角度分析
- 同行评审 — 方法论-证据一致性审查(论文声称跑了 50 次实验,代码只跑了 5 次?)
🧬 Evolution:跨运行自学习
每次运行提取细粒度教训——不只是”失败了”,而是为什么:
- PIVOT/REFINE 决策的具体理由
- 实验 stderr 中的运行时警告(如
RuntimeWarning: division by zero) - 指标异常(NaN、Inf、所有算法收敛速度相同)
这些教训持久化存储在 JSONL 中,使用 30 天半衰期时间衰减加权,作为 prompt overlay 注入未来运行。流水线真正从错误中学习。
📚 知识库
每次运行自动构建结构化知识库(存储在 docs/kb/ 中),包含 6 个类别:
- decisions/ — 实验设计、质量门控、研究决策、资源规划、搜索策略、知识归档
- experiments/ — 代码生成日志、实验运行记录、迭代优化过程
- findings/ — 引用核查报告、结果分析、综合报告
- literature/ — 知识提取、文献采集、筛选结果
- questions/ — 假设生成、问题分解、主题初始化
- reviews/ — 导出/发布报告、论文草稿、大纲、修订、同行评审
🛡️ Sentinel 看门狗
后台质量监控,捕获主流水线可能遗漏的问题:
- 运行时 Bug 检测 — 指标中的 NaN/Inf、stderr 警告反馈给 LLM 进行定向修复
- 论文-证据一致性 — 实际实验代码、运行结果、迭代日志注入同行评审
- 引用相关性评分 — 不仅验证引用存在性,还用 LLM 评估与研究主题的相关性
- 收敛判据强制 — 检测固定迭代实验,要求实现正确的 early stopping
- 消融验证 — 检测重复/相同的消融条件,标记失效的对比实验
- 反数据捏造守卫 — 实验无指标时硬性阻止论文撰写
🦞 OpenClaw 集成
| 🦞 | **AutoResearchClaw 是 [OpenClaw](https://github.com/openclaw/openclaw) 兼容服务。** 在 OpenClaw 中安装后,一句话即可启动自动研究——也可通过 CLI、Claude Code 或其他 AI 编码助手独立使用。 |
🚀 通过 OpenClaw 使用(推荐)
如果你已经在使用 OpenClaw 作为 AI 助手:
1️⃣ 把 GitHub 仓库地址分享给 OpenClaw
2️⃣ OpenClaw 自动读取 RESEARCHCLAW_AGENTS.md → 理解流水线
3️⃣ 对它说:"帮我研究 [你的主题]"
4️⃣ 完成 — OpenClaw 自动克隆、安装、配置、运行,然后返回结果
就这么简单。 OpenClaw 自动处理 git clone、pip install、配置和流水线执行。你只需聊天。
💡 底层发生了什么
1. OpenClaw 读取 `RESEARCHCLAW_AGENTS.md` → 学习研究编排器角色 2. OpenClaw 读取 `README.md` → 理解安装方式和流水线结构 3. OpenClaw 复制 `config.researchclaw.example.yaml` → `config.yaml` 4. 向你询问 LLM API Key(或使用环境变量) 5. 运行 `pip install -e .` + `researchclaw run --topic "..." --auto-approve` 6. 返回论文、LaTeX、实验结果和引用🔌 OpenClaw Bridge(高级功能)
AutoResearchClaw 内置了 Bridge 适配器系统,提供 6 个可选集成能力:
# config.arc.yaml
openclaw_bridge:
use_cron: true # ⏰ 定时研究任务
use_message: true # 💬 进度通知(Discord/Slack/Telegram)
use_memory: true # 🧠 跨会话知识持久化
use_sessions_spawn: true # 🔀 为并行阶段派生子会话
use_web_fetch: true # 🌐 文献检索中的实时网络搜索
use_browser: false # 🖥️ 基于浏览器的论文采集
每个标志激活一个类型化适配器协议。当 OpenClaw 提供对应能力时,适配器无需改代码即可消费。详见 integration-guide.md。
🛠️ 其他运行方式
| 方式 | 怎么用 |
|---|---|
| 独立 CLI | researchclaw run --topic "..." --auto-approve |
| Python API | from researchclaw.pipeline import Runner; Runner(config).run() |
| Claude Code | 读取 RESEARCHCLAW_CLAUDE.md — 直接说 “帮我研究 [主题]” |
| OpenCode | 读取 .claude/skills/ — 同样的自然语言交互 |
| 任何 AI CLI | 提供 RESEARCHCLAW_AGENTS.md 作为上下文 → agent 自动引导 |
🔬 流水线:23 个阶段,8 个阶段组
阶段组 A:研究定义 阶段组 E:实验执行
1. TOPIC_INIT 12. EXPERIMENT_RUN
2. PROBLEM_DECOMPOSE 13. ITERATIVE_REFINE ← 自修复
阶段组 B:文献发现 阶段组 F:分析与决策
3. SEARCH_STRATEGY 14. RESULT_ANALYSIS ← 多Agent
4. LITERATURE_COLLECT ← 真实API 15. RESEARCH_DECISION ← PIVOT/REFINE
5. LITERATURE_SCREEN [门控]
6. KNOWLEDGE_EXTRACT 阶段组 G:论文撰写
16. PAPER_OUTLINE
阶段组 C:知识综合 17. PAPER_DRAFT
7. SYNTHESIS 18. PEER_REVIEW ← 证据审查
8. HYPOTHESIS_GEN ← 辩论 19. PAPER_REVISION
阶段组 D:实验设计 阶段组 H:终稿
9. EXPERIMENT_DESIGN [门控] 20. QUALITY_GATE [门控]
10. CODE_GENERATION 21. KNOWLEDGE_ARCHIVE
11. RESOURCE_PLANNING 22. EXPORT_PUBLISH ← LaTeX
23. CITATION_VERIFY ← 相关性审查
门控阶段(5、9、20)可暂停等待人工审批,也可用
--auto-approve自动通过。
决策循环:第 15 阶段可触发 REFINE(→ 第 13 阶段)或 PIVOT(→ 第 8 阶段),自动版本化之前的产物。
📋 各阶段组职责
| 阶段组 | 做什么 | |--------|--------| | **A:定义** | LLM 将主题分解为结构化问题树和研究问题 | | **A+:硬件检测** | 自动检测 GPU(NVIDIA CUDA / Apple MPS / 纯 CPU),性能不足时警告用户,据此调整代码生成策略 | | **B:文献** | 多源搜索(arXiv 优先,Semantic Scholar 补充)获取真实论文,按相关性筛选,提取知识卡片 | | **C:综合** | 聚类研究发现,识别研究空白,通过多 Agent 辩论生成可验证假设 | | **D:设计** | 设计实验方案,生成硬件感知的可运行 Python 代码(GPU 等级 → 包选择),估算资源需求 | | **E:执行** | 在沙箱中运行实验,检测 NaN/Inf 和运行时 Bug,通过定向 LLM 修复自愈代码 | | **F:分析** | 多 Agent 分析实验结果;自主 PROCEED / REFINE / PIVOT 决策并附理由 | | **G:写作** | 大纲 → 分段撰写初稿(5,000-6,500 词)→ 同行评审(含方法论-证据一致性)→ 带长度保障的修订 | | **H:终稿** | 质量门控,知识归档,LaTeX 导出(适配顶会模板),引用完整性 + 相关性核查 |🚀 快速开始
前置条件
- 🐍 Python 3.11+
- 🔑 一个 OpenAI 兼容的 LLM API(GPT-4o、GPT-5.x,或任何兼容接口)
安装
git clone https://github.com/aiming-lab/AutoResearchClaw.git
cd AutoResearchClaw
python3 -m venv .venv && source .venv/bin/activate
pip install -e .
配置
cp config.researchclaw.example.yaml config.arc.yaml
📝 最小必要配置
```yaml project: name: "my-research" research: topic: "你的研究主题" llm: base_url: "https://api.openai.com/v1" # 任何 OpenAI 兼容端点 api_key_env: "OPENAI_API_KEY" primary_model: "gpt-4o" fallback_models: ["gpt-4o-mini"] s2_api_key: "" # 可选:Semantic Scholar API key(更高速率限制) experiment: mode: "sandbox" sandbox: python_path: ".venv/bin/python" ```运行
# 设置 API Key
export OPENAI_API_KEY="sk-..."
# 🚀 运行完整流水线
researchclaw run --config config.arc.yaml --auto-approve
# 🎯 指定研究主题
researchclaw run --config config.arc.yaml --topic "Transformer 注意力机制在时间序列中的应用" --auto-approve
# ✅ 仅验证配置
researchclaw validate --config config.arc.yaml
# ⏩ 从指定阶段恢复
researchclaw run --config config.arc.yaml --from-stage PAPER_OUTLINE --auto-approve
输出保存在 artifacts/rc-YYYYMMDD-HHMMSS-<hash>/,每个阶段一个子目录。
所有用户可交付成果自动汇集到 deliverables/ 文件夹:
artifacts/rc-YYYYMMDD-HHMMSS-<hash>/deliverables/
├── paper_final.md # 终稿(Markdown)
├── paper.tex # 适配顶会模板的 LaTeX
├── references.bib # 已验证的 BibTeX 参考文献(自动精简)
├── neurips_2025.sty # 会议样式文件(自动选择)
├── code/ # 实验代码 + requirements.txt
├── verification_report.json # 引用完整性报告
├── charts/ # 结果可视化(条件对比图、误差线)
└── manifest.json # 交付清单(含元数据)
deliverables/ 文件夹可直接编译——包含会议 .sty 和 .bst 文件,可直接用 pdflatex + bibtex 编译,或上传 Overleaf 无需额外下载。
✨ 核心功能
📚 多源文献搜索
第 4 阶段调用真实学术 API,而非依赖 LLM 凭记忆编造论文。采用 arXiv 优先策略以避免 Semantic Scholar 限流。
- arXiv API(主源)— 预印本(真实 arXiv ID 和元数据),无速率限制
- Semantic Scholar API(副源)— 真实论文(标题、摘要、期刊、引用次数、DOI)
- 查询扩展 — 自动生成更广泛的搜索词(综述、基准、对比变体),目标覆盖 30-60 篇参考文献
- 自动去重 — DOI → arXiv ID → 模糊标题匹配
- BibTeX 生成 — 有效的
@article{cite_key, ...}条目 - 三态熔断器 — CLOSED → OPEN → HALF_OPEN 自动恢复,指数退避冷却(永不永久禁用)
- 优雅降级 — S2 失败不阻塞 arXiv 结果;所有 API 均失败时回退到 LLM 增强结果
🔍 引用核查(第 23 阶段)
论文写完后,自动对每条引用进行完整性和相关性核查:
| 层级 | 方法 | 检查内容 |
|---|---|---|
| L1 | arXiv API id_list |
有 arXiv ID 的论文 — 验证 ID 是否真实存在 |
| L2 | CrossRef /works/{doi} + DataCite 回退 |
有 DOI 的论文 — 验证 DOI 能否解析且标题匹配(DataCite 处理 arXiv 10.48550 DOI) |
| L3 | Semantic Scholar + arXiv 标题搜索 | 其他所有论文 — 模糊标题匹配(≥0.80 相似度) |
| L4 | LLM 相关性评分 | 所有已验证引用 — 评估与研究主题的相关性 |
每条引用 → VERIFIED ✅ · SUSPICIOUS ⚠️ · HALLUCINATED ❌ · SKIPPED ⏭️ · LOW_RELEVANCE 📉
自动清理:幻觉引用从论文文本中静默移除(不留标记)。未被引用的参考文献条目自动精简。最终的 references.bib 仅包含已验证的、被引用的参考文献。
🖥️ 硬件感知执行
第 1 阶段自动检测本地 GPU 能力,据此调整整条流水线:
| 等级 | 检测方式 | 行为 |
|---|---|---|
| 高性能 | NVIDIA GPU ≥8 GB 显存 | 完整 PyTorch/GPU 代码生成,缺少 torch 时自动安装 |
| 受限 | NVIDIA <8 GB 或 Apple MPS | 轻量级实验(<1M 参数、≤20 epochs),向用户发出警告 |
| 纯 CPU | 未检测到 GPU | 仅使用 NumPy/sklearn,不导入 torch,建议用户使用远程 GPU 服务器 |
🧪 沙箱实验执行
- 代码验证 — AST 解析、import 白名单、禁止沙箱外文件操作
- 计算预算守卫 — 时间预算(可配置,默认 600 秒)注入代码生成提示;LLM 必须设计在沙箱超时内可完成的实验
- 实验 Harness — 不可变的
experiment_harness.py注入沙箱,提供should_stop()时间守卫、report_metric()NaN/Inf 拒绝、finalize()结果写入 - 结构化输出 — 实验产出
results.json(类型化指标,非仅 stdout 解析) - NaN/发散快速失败 — NaN/Inf 值从指标中过滤;发散损失(>100)被检测并标记
- 收敛判据强制 — 生成的代码必须包含 early stopping,不允许固定迭代次数
- 运行时 Bug 检测 — 自动发现指标中的 NaN/Inf 和 stderr 警告
- 自修复 — 运行时问题反馈给 LLM 进行根因诊断修复
- 迭代优化 — 第 13 阶段分析结果并改进代码/参数后重新运行(最多 10 次迭代)
- 部分结果捕获 — 超时但已捕获指标的实验状态设为 “partial”,保留可用数据
- 主题-实验对齐 — 基于 LLM 的代码生成后验证,确保实验代码真正测试所声明的研究主题
📝 顶会级论文撰写
写作流水线对标 NeurIPS/ICML/ICLR 标准(9+ 页,5,000-6,500 词):
- 数据完整性执行 — 实验无指标时硬性阻止论文撰写(防止 LLM 捏造结果)
- 顶会级提示 — 系统提示包含已接收论文分析的关键原则:新颖性、叙事性、强基线、消融实验、诚实性、可复现性
- 标题与框架指南 — 新颖性信号、”可传播性测试”、5 句式摘要结构
- 分段撰写 — 3 次顺序 LLM 调用,避免输出截断
- 逐节字数目标 — 摘要(150-250)、引言(800-1000)、相关工作(600-800)、方法(1000-1500)、实验(800-1200)、结果(600-800)、讨论(400-600)
- 修订长度保障 — 修订稿若短于初稿,自动重试
- 反免责声明强制 — “due to computational constraints” 最多出现 1 次;修订提示主动删除重复的模糊表述
- 统计严谨性 — 结果表格要求包含置信区间、p 值和效应量;失效消融被标记并排除在声明之外
- 顶会级同行评审 — 审稿人按 NeurIPS/ICML 评分标准打分 1-10
📐 会议模板切换
export:
target_conference: "neurips_2025" # 或 "iclr_2026" 或 "icml_2026"
| 会议 | 样式包 | 分栏 |
|---|---|---|
| NeurIPS 2025 | neurips_2025 |
单栏 |
| ICLR 2026 | iclr2026_conference |
单栏 |
| ICML 2026 | icml2026 |
双栏 |
| NeurIPS 2024 | neurips_2024 |
单栏 |
| ICLR 2025 | iclr2025_conference |
单栏 |
| ICML 2025 | icml2025 |
双栏 |
Markdown → LaTeX 转换器自动处理:章节标题(含自动编号去重)、行内/行间数学公式、粗体/斜体、列表、表格(含 \caption/\label)、图片(\includegraphics)、代码块(Unicode 安全)、交叉引用和 \cite{} 引用。
🚦 质量门控
| 门控 | 阶段 | 拒绝后回退到 |
|---|---|---|
| 文献筛选 | 5 | 重新采集文献(阶段 4) |
| 实验设计 | 9 | 重新生成假设(阶段 8) |
| 质量门控 | 20 | 从大纲重新写论文(阶段 16) |
用 --auto-approve 跳过所有门控,或在 security.hitl_required_stages 中配置特定阶段。
⚙️ 配置参考
点击展开完整配置参考
```yaml # === 项目 === project: name: "my-research" mode: "docs-first" # docs-first | semi-auto | full-auto # === 研究 === research: topic: "..." # 研究主题(必填) domains: ["ml", "nlp"] daily_paper_count: 8 quality_threshold: 4.0 # === 运行时 === runtime: timezone: "Asia/Shanghai" max_parallel_tasks: 3 approval_timeout_hours: 12 retry_limit: 2 # === LLM === llm: provider: "openai-compatible" base_url: "https://..." api_key_env: "OPENAI_API_KEY" primary_model: "gpt-4o" fallback_models: ["gpt-4o-mini"] s2_api_key: "" # Semantic Scholar API key(可选,更高速率限制) # === 实验 === experiment: mode: "sandbox" # simulated | sandbox | docker | ssh_remote time_budget_sec: 600 # 每次运行最大执行时间(默认:600 秒) max_iterations: 10 sandbox: python_path: ".venv/bin/python" gpu_required: false allowed_imports: [math, random, json, csv, numpy, torch, sklearn] max_memory_mb: 4096 docker: image: "researchclaw/experiment:latest" network_policy: "setup_only" # none | setup_only | pip_only | full gpu_enabled: true memory_limit_mb: 8192 auto_install_deps: true # 自动检测 import → requirements.txt # === 导出 === export: target_conference: "neurips_2025" authors: "匿名" bib_file: "references" # === Prompts === prompts: custom_file: "" # 自定义 Prompt YAML 路径(空 = 使用默认) # === 安全 === security: hitl_required_stages: [5, 9, 20] allow_publish_without_approval: false redact_sensitive_logs: true # === 知识库 === knowledge_base: backend: "markdown" root: "docs/kb" # === 通知 === notifications: channel: "console" target: "" # === OpenClaw Bridge === openclaw_bridge: use_cron: false use_message: false use_memory: false use_sessions_spawn: false use_web_fetch: false use_browser: false ```🙏 致谢
灵感来源:
- 🔬 AI Scientist(Sakana AI)— 自动化研究先驱
- 🧠 AutoResearch(Andrej Karpathy)— 端到端研究自动化
- 🌐 FARS(Analemma)— 全自动研究系统
