autoresearchclaw-autonomous-research

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

AutoResearchClaw — Autonomous Research Pipeline

AutoResearchClaw — 自动化研究流水线

Skill by ara.so — Daily 2026 Skills collection.
AutoResearchClaw is a fully autonomous 23-stage research pipeline that takes a natural language topic and produces a complete academic paper: real arXiv/Semantic Scholar citations, sandboxed experiments, statistical analysis, multi-agent peer review, and conference-ready LaTeX (NeurIPS/ICML/ICLR). No hallucinated references. No human babysitting.

技能来自 ara.so — 2026每日技能合集。
AutoResearchClaw是一个包含23个阶段的完全自动化研究流水线,只需输入自然语言描述的研究主题,就能生成完整的学术论文:包含来自arXiv/Semantic Scholar的真实引用、沙箱实验、统计分析、多Agent同行评审,以及符合NeurIPS/ICML/ICLR等会议标准的LaTeX格式论文。无虚构参考文献,无需人工全程值守。

Installation

安装

bash
undefined
bash
undefined

Clone and install

克隆并安装

git clone https://github.com/aiming-lab/AutoResearchClaw.git cd AutoResearchClaw python3 -m venv .venv && source .venv/bin/activate pip install -e .
git clone https://github.com/aiming-lab/AutoResearchClaw.git cd AutoResearchClaw python3 -m venv .venv && source .venv/bin/activate pip install -e .

Verify CLI is available

验证CLI是否可用

researchclaw --help

**Requirements:** Python 3.11+

---
researchclaw --help

**要求:** Python 3.11+

---

Configuration

配置

bash
cp config.researchclaw.example.yaml config.arc.yaml
bash
cp config.researchclaw.example.yaml config.arc.yaml

Minimum config (
config.arc.yaml
)

基础配置(
config.arc.yaml

yaml
project:
  name: "my-research"

research:
  topic: "Your research topic here"

llm:
  provider: "openai"
  base_url: "https://api.openai.com/v1"
  api_key_env: "OPENAI_API_KEY"
  primary_model: "gpt-4o"
  fallback_models: ["gpt-4o-mini"]

experiment:
  mode: "sandbox"
  sandbox:
    python_path: ".venv/bin/python"
bash
export OPENAI_API_KEY="$YOUR_OPENAI_KEY"
yaml
project:
  name: "my-research"

research:
  topic: "你的研究主题"

llm:
  provider: "openai"
  base_url: "https://api.openai.com/v1"
  api_key_env: "OPENAI_API_KEY"
  primary_model: "gpt-4o"
  fallback_models: ["gpt-4o-mini"]

experiment:
  mode: "sandbox"
  sandbox:
    python_path: ".venv/bin/python"
bash
export OPENAI_API_KEY="$YOUR_OPENAI_KEY"

OpenRouter config (200+ models)

OpenRouter配置(支持200+模型)

yaml
llm:
  provider: "openrouter"
  api_key_env: "OPENROUTER_API_KEY"
  primary_model: "anthropic/claude-3.5-sonnet"
  fallback_models:
    - "google/gemini-pro-1.5"
    - "meta-llama/llama-3.1-70b-instruct"
bash
export OPENROUTER_API_KEY="$YOUR_OPENROUTER_KEY"
yaml
llm:
  provider: "openrouter"
  api_key_env: "OPENROUTER_API_KEY"
  primary_model: "anthropic/claude-3.5-sonnet"
  fallback_models:
    - "google/gemini-pro-1.5"
    - "meta-llama/llama-3.1-70b-instruct"
bash
export OPENROUTER_API_KEY="$YOUR_OPENROUTER_KEY"

ACP (Agent Client Protocol) — no API key needed

ACP(Agent Client Protocol)—— 无需API密钥

yaml
llm:
  provider: "acp"
  acp:
    agent: "claude"   # or: codex, gemini, opencode, kimi
    cwd: "."
The agent CLI (e.g.
claude
) handles its own authentication.
yaml
llm:
  provider: "acp"
  acp:
    agent: "claude"   # 可选:codex, gemini, opencode, kimi
    cwd: "."
Agent CLI(如
claude
)会自行处理认证。

OpenClaw bridge (optional advanced capabilities)

OpenClaw桥接(可选高级功能)

yaml
openclaw_bridge:
  use_cron: true              # Scheduled research runs
  use_message: true           # Progress notifications
  use_memory: true            # Cross-session knowledge persistence
  use_sessions_spawn: true    # Parallel sub-sessions
  use_web_fetch: true         # Live web search in literature review
  use_browser: false          # Browser-based paper collection

yaml
openclaw_bridge:
  use_cron: true              # 定时运行研究任务
  use_message: true           # 进度通知
  use_memory: true            # 跨会话知识持久化
  use_sessions_spawn: true    # 并行子会话
  use_web_fetch: true         # 文献综述中的实时网络搜索
  use_browser: false          # 基于浏览器的论文收集

Key CLI Commands

核心CLI命令

bash
undefined
bash
undefined

Basic run — fully autonomous, no prompts

基础运行 — 完全自动化,无需手动确认

researchclaw run --topic "Your research idea" --auto-approve
researchclaw run --topic "你的研究想法" --auto-approve

Run with explicit config file

使用指定配置文件运行

researchclaw run --config config.arc.yaml --topic "Mixture-of-experts routing efficiency" --auto-approve
researchclaw run --config config.arc.yaml --topic "混合专家模型路由效率" --auto-approve

Run with topic defined in config (omit --topic flag)

使用配置文件中定义的主题运行(省略--topic参数)

researchclaw run --config config.arc.yaml --auto-approve
researchclaw run --config config.arc.yaml --auto-approve

Interactive mode — pauses at gate stages for approval

交互模式 — 在关键阶段暂停等待人工确认

researchclaw run --config config.arc.yaml --topic "Your topic"
researchclaw run --config config.arc.yaml --topic "你的主题"

Check pipeline status / resume a run

检查流水线状态 / 恢复之前的运行

researchclaw status --run-id rc-20260315-120000-abc123
researchclaw status --run-id rc-20260315-120000-abc123

List past runs

列出过往运行记录

researchclaw list

**Gate stages** (5, 9, 20) pause for human approval in interactive mode. Pass `--auto-approve` to skip all gates.

---
researchclaw list

**关键阶段**(第5、9、20阶段)在交互模式下会暂停等待人工确认。添加`--auto-approve`参数可跳过所有确认步骤。

---

Python API

Python API

python
from researchclaw.pipeline import Runner
from researchclaw.config import load_config
python
from researchclaw.pipeline import Runner
from researchclaw.config import load_config

Load config and run

加载配置并运行

config = load_config("config.arc.yaml") config.research.topic = "Efficient attention mechanisms for long-context LLMs" config.auto_approve = True
runner = Runner(config) result = runner.run()
config = load_config("config.arc.yaml") config.research.topic = "长上下文LLM的高效注意力机制" config.auto_approve = True
runner = Runner(config) result = runner.run()

Access outputs

访问输出结果

print(result.artifact_dir) # artifacts/rc-YYYYMMDD-HHMMSS-<hash>/ print(result.deliverables_dir) # .../deliverables/ print(result.paper_draft_path) # .../deliverables/paper_draft.md print(result.latex_path) # .../deliverables/paper.tex print(result.bibtex_path) # .../deliverables/references.bib print(result.verification_report) # .../deliverables/verification_report.json

```python
print(result.artifact_dir) # artifacts/rc-YYYYMMDD-HHMMSS-<hash>/ print(result.deliverables_dir) # .../deliverables/ print(result.paper_draft_path) # .../deliverables/paper_draft.md print(result.latex_path) # .../deliverables/paper.tex print(result.bibtex_path) # .../deliverables/references.bib print(result.verification_report) # .../deliverables/verification_report.json

```python

Run specific stages only

仅运行指定阶段

from researchclaw.pipeline import Runner, StageRange
runner = Runner(config) result = runner.run(stages=StageRange(start="LITERATURE_COLLECT", end="KNOWLEDGE_EXTRACT"))

```python
from researchclaw.pipeline import Runner, StageRange
runner = Runner(config) result = runner.run(stages=StageRange(start="LITERATURE_COLLECT", end="KNOWLEDGE_EXTRACT"))

```python

Access knowledge base after a run

运行完成后访问知识库

from researchclaw.knowledge import KnowledgeBase
kb = KnowledgeBase.load(result.artifact_dir) findings = kb.get("findings") literature = kb.get("literature") decisions = kb.get("decisions")

---
from researchclaw.knowledge import KnowledgeBase
kb = KnowledgeBase.load(result.artifact_dir) findings = kb.get("findings") literature = kb.get("literature") decisions = kb.get("decisions")

---

Output Structure

输出结构

After a run, all outputs land in
artifacts/rc-YYYYMMDD-HHMMSS-<hash>/
:
artifacts/rc-20260315-120000-abc123/
├── deliverables/
│   ├── paper_draft.md          # Full academic paper (Markdown)
│   ├── paper.tex               # Conference-ready LaTeX
│   ├── references.bib          # Real BibTeX — auto-pruned to inline citations
│   ├── verification_report.json # 4-layer citation integrity report
│   └── reviews.md              # Multi-agent peer review
├── experiment_runs/
│   ├── run_001/
│   │   ├── code/               # Generated experiment code
│   │   ├── results.json        # Structured metrics
│   │   └── sandbox_output.txt  # Execution logs
├── charts/
│   └── *.png                   # Auto-generated comparison charts
├── evolution/
│   └── lessons.json            # Self-learning lessons for future runs
└── knowledge_base/
    ├── decisions.json
    ├── experiments.json
    ├── findings.json
    ├── literature.json
    ├── questions.json
    └── reviews.json

运行完成后,所有输出文件会保存在
artifacts/rc-YYYYMMDD-HHMMSS-<hash>/
目录下:
artifacts/rc-20260315-120000-abc123/
├── deliverables/
│   ├── paper_draft.md          # 完整学术论文(Markdown格式)
│   ├── paper.tex               # 符合会议标准的LaTeX文件
│   ├── references.bib          # 真实BibTeX引用 — 自动筛选为正文中的引用
│   ├── verification_report.json # 4层引用完整性报告
│   └── reviews.md              # 多Agent同行评审结果
├── experiment_runs/
│   ├── run_001/
│   │   ├── code/               # 生成的实验代码
│   │   ├── results.json        # 结构化指标
│   │   └── sandbox_output.txt  # 执行日志
├── charts/
│   └── *.png                   # 自动生成的对比图表
├── evolution/
│   └── lessons.json            # 用于未来运行的自学习经验
└── knowledge_base/
    ├── decisions.json
    ├── experiments.json
    ├── findings.json
    ├── literature.json
    ├── questions.json
    └── reviews.json

Pipeline Stages Reference

流水线阶段参考

PhaseStage #NameNotes
A1TOPIC_INITParse and scope research topic
A2PROBLEM_DECOMPOSEBreak into sub-problems
B3SEARCH_STRATEGYBuild search queries
B4LITERATURE_COLLECTReal API calls to arXiv + Semantic Scholar
B5LITERATURE_SCREENGate — approve/reject literature
B6KNOWLEDGE_EXTRACTExtract structured knowledge
C7SYNTHESISSynthesize findings
C8HYPOTHESIS_GENMulti-agent debate to form hypotheses
D9EXPERIMENT_DESIGNGate — approve/reject design
D10CODE_GENERATIONGenerate experiment code
D11RESOURCE_PLANNINGGPU/MPS/CPU auto-detection
E12EXPERIMENT_RUNSandboxed execution
E13ITERATIVE_REFINESelf-healing on failure
F14RESULT_ANALYSISMulti-agent analysis
F15RESEARCH_DECISIONPROCEED / REFINE / PIVOT
G16PAPER_OUTLINEStructure paper
G17PAPER_DRAFTWrite full paper
G18PEER_REVIEWEvidence-consistency check
G19PAPER_REVISIONIncorporate review feedback
H20QUALITY_GATEGate — final approval
H21KNOWLEDGE_ARCHIVESave lessons to KB
H22EXPORT_PUBLISHEmit LaTeX + BibTeX
H23CITATION_VERIFY4-layer anti-hallucination check

阶段组阶段编号名称说明
A1TOPIC_INIT解析并确定研究主题范围
A2PROBLEM_DECOMPOSE将主题分解为子问题
B3SEARCH_STRATEGY构建搜索查询语句
B4LITERATURE_COLLECT�调用arXiv + Semantic Scholar的真实API获取文献
B5LITERATURE_SCREEN关键节点 — 确认/筛选文献
B6KNOWLEDGE_EXTRACT提取结构化知识
C7SYNTHESIS整合研究发现
C8HYPOTHESIS_GEN通过多Agent讨论形成假设
D9EXPERIMENT_DESIGN关键节点 — 确认/筛选实验设计
D10CODE_GENERATION生成实验代码
D11RESOURCE_PLANNING自动检测GPU/MPS/CPU资源
E12EXPERIMENT_RUN沙箱环境执行实验
E13ITERATIVE_REFINE实验失败时自动修复
F14RESULT_ANALYSIS多Agent分析实验结果
F15RESEARCH_DECISION决定继续/优化/转向研究方向
G16PAPER_OUTLINE构建论文结构
G17PAPER_DRAFT撰写完整论文
G18PEER_REVIEW检查论文与证据的一致性
G19PAPER_REVISION结合评审意见修改论文
H20QUALITY_GATE关键节点 — 最终确认
H21KNOWLEDGE_ARCHIVE将经验保存到知识库
H22EXPORT_PUBLISH导出LaTeX + BibTeX文件
H23CITATION_VERIFY4层防虚构引用检查

Common Patterns

常见使用模式

Pattern: Quick paper on a topic

模式:快速生成主题相关论文

bash
export OPENAI_API_KEY="$OPENAI_API_KEY"
researchclaw run \
  --topic "Self-supervised learning for protein structure prediction" \
  --auto-approve
bash
export OPENAI_API_KEY="$OPENAI_API_KEY"
researchclaw run \
  --topic "蛋白质结构预测的自监督学习" \
  --auto-approve

Pattern: Reproducible run with full config

模式:使用完整配置的可复现运行

yaml
undefined
yaml
undefined

config.arc.yaml

config.arc.yaml

project: name: "protein-ssl-research"
research: topic: "Self-supervised learning for protein structure prediction"
llm: provider: "openai" api_key_env: "OPENAI_API_KEY" primary_model: "gpt-4o" fallback_models: ["gpt-4o-mini"]
experiment: mode: "sandbox" sandbox: python_path: ".venv/bin/python" max_iterations: 3 timeout_seconds: 300

```bash
researchclaw run --config config.arc.yaml --auto-approve
project: name: "protein-ssl-research"
research: topic: "蛋白质结构预测的自监督学习"
llm: provider: "openai" api_key_env: "OPENAI_API_KEY" primary_model: "gpt-4o" fallback_models: ["gpt-4o-mini"]
experiment: mode: "sandbox" sandbox: python_path: ".venv/bin/python" max_iterations: 3 timeout_seconds: 300

```bash
researchclaw run --config config.arc.yaml --auto-approve

Pattern: Use Claude via OpenRouter for best reasoning

模式:通过OpenRouter使用Claude以获得最佳推理效果

bash
export OPENROUTER_API_KEY="$OPENROUTER_API_KEY"

cat > config.arc.yaml << 'EOF'
project:
  name: "my-research"
llm:
  provider: "openrouter"
  api_key_env: "OPENROUTER_API_KEY"
  primary_model: "anthropic/claude-3.5-sonnet"
  fallback_models: ["google/gemini-pro-1.5"]
experiment:
  mode: "sandbox"
  sandbox:
    python_path: ".venv/bin/python"
EOF

researchclaw run --config config.arc.yaml \
  --topic "Efficient KV cache compression for transformer inference" \
  --auto-approve
bash
export OPENROUTER_API_KEY="$OPENROUTER_API_KEY"

cat > config.arc.yaml << 'EOF'
project:
  name: "my-research"
llm:
  provider: "openrouter"
  api_key_env: "OPENROUTER_API_KEY"
  primary_model: "anthropic/claude-3.5-sonnet"
  fallback_models: ["google/gemini-pro-1.5"]
experiment:
  mode: "sandbox"
  sandbox:
    python_path: ".venv/bin/python"
EOF

researchclaw run --config config.arc.yaml \
  --topic "Transformer推理的高效KV缓存压缩" \
  --auto-approve

Pattern: Resume after a failed run

模式:恢复失败的运行

bash
undefined
bash
undefined

List runs to find the run ID

列出所有运行记录以找到运行ID

researchclaw list
researchclaw list

Resume from last completed stage

从最后完成的阶段恢复运行

researchclaw run --resume rc-20260315-120000-abc123
undefined
researchclaw run --resume rc-20260315-120000-abc123
undefined

Pattern: Programmatic batch research

模式:程序化批量研究

python
import asyncio
from researchclaw.pipeline import Runner
from researchclaw.config import load_config

topics = [
    "LoRA fine-tuning on limited hardware",
    "Speculative decoding for LLM inference",
    "Flash attention variants comparison",
]

config = load_config("config.arc.yaml")
config.auto_approve = True

for topic in topics:
    config.research.topic = topic
    runner = Runner(config)
    result = runner.run()
    print(f"[{topic}] → {result.deliverables_dir}")
python
import asyncio
from researchclaw.pipeline import Runner
from researchclaw.config import load_config

topics = [
    "受限硬件上的LoRA微调",
    "LLM推理的投机解码",
    "Flash Attention变体对比",
]

config = load_config("config.arc.yaml")
config.auto_approve = True

for topic in topics:
    config.research.topic = topic
    runner = Runner(config)
    result = runner.run()
    print(f"[{topic}] → {result.deliverables_dir}")

Pattern: OpenClaw one-liner (if using OpenClaw agent)

模式:OpenClaw一行命令(若使用OpenClaw Agent)

Share the repo URL with OpenClaw, then say:
"Research mixture-of-experts routing efficiency"
OpenClaw auto-reads
RESEARCHCLAW_AGENTS.md
, clones, installs, configures, and runs the full pipeline.

将仓库URL分享给OpenClaw,然后说:
"研究混合专家模型的路由效率"
OpenClaw会自动读取
RESEARCHCLAW_AGENTS.md
,完成克隆、安装、配置并运行完整流水线。

Compile the LaTeX Output

编译LaTeX输出文件

bash
undefined
bash
undefined

Navigate to deliverables

进入输出目录

cd artifacts/rc-*/deliverables/
cd artifacts/rc-*/deliverables/

Compile (requires a LaTeX distribution)

编译(需要LaTeX发行版)

pdflatex paper.tex bibtex paper pdflatex paper.tex pdflatex paper.tex
pdflatex paper.tex bibtex paper pdflatex paper.tex pdflatex paper.tex

Or upload paper.tex + references.bib directly to Overleaf

或者直接将paper.tex + references.bib上传到Overleaf


---

---

Troubleshooting

故障排除

researchclaw: command not found

researchclaw: command not found

bash
undefined
bash
undefined

Make sure the venv is active and package is installed

确保虚拟环境已激活且包已安装

source .venv/bin/activate pip install -e . which researchclaw
undefined
source .venv/bin/activate pip install -e . which researchclaw
undefined

API key errors

API密钥错误

bash
undefined
bash
undefined

Verify env var is set

验证环境变量是否已设置

echo $OPENAI_API_KEY
echo $OPENAI_API_KEY

Should print your key (not empty)

应输出你的密钥(非空)

Set it explicitly for the session

在当前会话中显式设置

export OPENAI_API_KEY="sk-..."
undefined
export OPENAI_API_KEY="sk-..."
undefined

Experiment sandbox failures

实验沙箱运行失败

The pipeline self-heals at Stage 13 (ITERATIVE_REFINE). If it keeps failing:
yaml
undefined
流水线会在第13阶段(ITERATIVE_REFINE)自动修复。若持续失败:
yaml
undefined

Increase timeout and iterations in config

在配置中增加超时时间和迭代次数

experiment: max_iterations: 5 timeout_seconds: 600 sandbox: python_path: ".venv/bin/python"
undefined
experiment: max_iterations: 5 timeout_seconds: 600 sandbox: python_path: ".venv/bin/python"
undefined

Citation hallucination warnings

引用虚构警告

Stage 23 (CITATION_VERIFY) runs a 4-layer check. If references are pruned:
  • This is expected behaviour — fake citations are removed automatically
  • Check
    verification_report.json
    for details on which citations were rejected and why
第23阶段(CITATION_VERIFY)会进行4层检查。若引用被删减:
  • 这是正常行为 — 虚构引用会被自动移除
  • 查看
    verification_report.json
    了解被拒绝的引用及原因

PIVOT loop running indefinitely

无限循环转向研究方向

Stage 15 (RESEARCH_DECISION) may pivot multiple times. To cap iterations:
yaml
research:
  max_pivots: 2
  max_refines: 3
第15阶段(RESEARCH_DECISION)可能会多次转向研究方向。可设置迭代上限:
yaml
research:
  max_pivots: 2
  max_refines: 3

LaTeX compilation errors

LaTeX编译错误

bash
undefined
bash
undefined

Check for missing packages

检查缺失的包

pdflatex paper.tex 2>&1 | grep "File.*not found"
pdflatex paper.tex 2>&1 | grep "File.*not found"

Install missing packages (TeX Live)

安装缺失的包(TeX Live)

tlmgr install <package-name>
undefined
tlmgr install <package-name>
undefined

Out of memory during experiments

实验内存不足

yaml
undefined
yaml
undefined

Force CPU mode in config

在配置中强制使用CPU模式

experiment: sandbox: device: "cpu" max_memory_gb: 4

---
experiment: sandbox: device: "cpu" max_memory_gb: 4

---

Key Concepts

核心概念

  • PIVOT/REFINE Loop: Stage 15 autonomously decides PROCEED, REFINE (tweak params), or PIVOT (new hypothesis direction). All artifacts are versioned.
  • Multi-Agent Debate: Stages 8, 14, 18 use structured multi-perspective debate — not a single LLM pass.
  • Self-Learning: Each run extracts lessons with 30-day time decay. Future runs on similar topics benefit from past mistakes.
  • Sentinel Watchdog: Background monitor detects NaN/Inf in results, checks paper-evidence consistency, scores citation relevance, and guards against fabrication throughout the run.
  • 4-Layer Citation Verification: arXiv lookup → CrossRef lookup → DataCite lookup → LLM relevance scoring. A citation must pass all layers to survive.
  • PIVOT/REFINE循环:第15阶段会自主决定继续、优化或转向研究方向。所有产物都会被版本化。
  • 多Agent讨论:第8、14、18阶段采用结构化多视角讨论 — 并非单一LLM处理。
  • 自学习:每次运行都会提取经验,经验会随30天时间衰减。未来相似主题的运行会受益于过往经验。
  • 哨兵监控:后台监控会检测结果中的NaN/Inf值,检查论文与证据的一致性,评分引用相关性,并全程防止内容虚构。
  • 4层引用验证:arXiv查询 → CrossRef查询 → DataCite查询 → LLM相关性评分。引用必须通过所有4层检查才能被保留。