autoresearchclaw-autonomous-research
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseAutoResearchClaw — 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
undefinedbash
undefinedClone 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.yamlbash
cp config.researchclaw.example.yaml config.arc.yamlMinimum config (config.arc.yaml
)
config.arc.yaml基础配置(config.arc.yaml
)
config.arc.yamlyaml
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. ) handles its own authentication.
claudeyaml
llm:
provider: "acp"
acp:
agent: "claude" # 可选:codex, gemini, opencode, kimi
cwd: "."Agent CLI(如)会自行处理认证。
claudeOpenClaw 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 collectionyaml
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
undefinedbash
undefinedBasic 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_configpython
from researchclaw.pipeline import Runner
from researchclaw.config import load_configLoad 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
```pythonprint(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
```pythonRun specific stages only
仅运行指定阶段
from researchclaw.pipeline import Runner, StageRange
runner = Runner(config)
result = runner.run(stages=StageRange(start="LITERATURE_COLLECT", end="KNOWLEDGE_EXTRACT"))
```pythonfrom researchclaw.pipeline import Runner, StageRange
runner = Runner(config)
result = runner.run(stages=StageRange(start="LITERATURE_COLLECT", end="KNOWLEDGE_EXTRACT"))
```pythonAccess 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.jsonPipeline Stages Reference
流水线阶段参考
| Phase | Stage # | Name | Notes |
|---|---|---|---|
| A | 1 | TOPIC_INIT | Parse and scope research topic |
| A | 2 | PROBLEM_DECOMPOSE | Break into sub-problems |
| B | 3 | SEARCH_STRATEGY | Build search queries |
| B | 4 | LITERATURE_COLLECT | Real API calls to arXiv + Semantic Scholar |
| B | 5 | LITERATURE_SCREEN | Gate — approve/reject literature |
| B | 6 | KNOWLEDGE_EXTRACT | Extract structured knowledge |
| C | 7 | SYNTHESIS | Synthesize findings |
| C | 8 | HYPOTHESIS_GEN | Multi-agent debate to form hypotheses |
| D | 9 | EXPERIMENT_DESIGN | Gate — approve/reject design |
| D | 10 | CODE_GENERATION | Generate experiment code |
| D | 11 | RESOURCE_PLANNING | GPU/MPS/CPU auto-detection |
| E | 12 | EXPERIMENT_RUN | Sandboxed execution |
| E | 13 | ITERATIVE_REFINE | Self-healing on failure |
| F | 14 | RESULT_ANALYSIS | Multi-agent analysis |
| F | 15 | RESEARCH_DECISION | PROCEED / REFINE / PIVOT |
| G | 16 | PAPER_OUTLINE | Structure paper |
| G | 17 | PAPER_DRAFT | Write full paper |
| G | 18 | PEER_REVIEW | Evidence-consistency check |
| G | 19 | PAPER_REVISION | Incorporate review feedback |
| H | 20 | QUALITY_GATE | Gate — final approval |
| H | 21 | KNOWLEDGE_ARCHIVE | Save lessons to KB |
| H | 22 | EXPORT_PUBLISH | Emit LaTeX + BibTeX |
| H | 23 | CITATION_VERIFY | 4-layer anti-hallucination check |
| 阶段组 | 阶段编号 | 名称 | 说明 |
|---|---|---|---|
| A | 1 | TOPIC_INIT | 解析并确定研究主题范围 |
| A | 2 | PROBLEM_DECOMPOSE | 将主题分解为子问题 |
| B | 3 | SEARCH_STRATEGY | 构建搜索查询语句 |
| B | 4 | LITERATURE_COLLECT | �调用arXiv + Semantic Scholar的真实API获取文献 |
| B | 5 | LITERATURE_SCREEN | 关键节点 — 确认/筛选文献 |
| B | 6 | KNOWLEDGE_EXTRACT | 提取结构化知识 |
| C | 7 | SYNTHESIS | 整合研究发现 |
| C | 8 | HYPOTHESIS_GEN | 通过多Agent讨论形成假设 |
| D | 9 | EXPERIMENT_DESIGN | 关键节点 — 确认/筛选实验设计 |
| D | 10 | CODE_GENERATION | 生成实验代码 |
| D | 11 | RESOURCE_PLANNING | 自动检测GPU/MPS/CPU资源 |
| E | 12 | EXPERIMENT_RUN | 沙箱环境执行实验 |
| E | 13 | ITERATIVE_REFINE | 实验失败时自动修复 |
| F | 14 | RESULT_ANALYSIS | 多Agent分析实验结果 |
| F | 15 | RESEARCH_DECISION | 决定继续/优化/转向研究方向 |
| G | 16 | PAPER_OUTLINE | 构建论文结构 |
| G | 17 | PAPER_DRAFT | 撰写完整论文 |
| G | 18 | PEER_REVIEW | 检查论文与证据的一致性 |
| G | 19 | PAPER_REVISION | 结合评审意见修改论文 |
| H | 20 | QUALITY_GATE | 关键节点 — 最终确认 |
| H | 21 | KNOWLEDGE_ARCHIVE | 将经验保存到知识库 |
| H | 22 | EXPORT_PUBLISH | 导出LaTeX + BibTeX文件 |
| H | 23 | CITATION_VERIFY | 4层防虚构引用检查 |
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-approvebash
export OPENAI_API_KEY="$OPENAI_API_KEY"
researchclaw run \
--topic "蛋白质结构预测的自监督学习" \
--auto-approvePattern: Reproducible run with full config
模式:使用完整配置的可复现运行
yaml
undefinedyaml
undefinedconfig.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-approveproject:
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-approvePattern: 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-approvebash
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-approvePattern: Resume after a failed run
模式:恢复失败的运行
bash
undefinedbash
undefinedList runs to find the run ID
列出所有运行记录以找到运行ID
researchclaw list
researchclaw list
Resume from last completed stage
从最后完成的阶段恢复运行
researchclaw run --resume rc-20260315-120000-abc123
undefinedresearchclaw run --resume rc-20260315-120000-abc123
undefinedPattern: 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 , clones, installs, configures, and runs the full pipeline.
RESEARCHCLAW_AGENTS.md将仓库URL分享给OpenClaw,然后说:
"研究混合专家模型的路由效率"OpenClaw会自动读取,完成克隆、安装、配置并运行完整流水线。
RESEARCHCLAW_AGENTS.mdCompile the LaTeX Output
编译LaTeX输出文件
bash
undefinedbash
undefinedNavigate 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 foundresearchclaw: command not found
researchclaw: command not foundbash
undefinedbash
undefinedMake sure the venv is active and package is installed
确保虚拟环境已激活且包已安装
source .venv/bin/activate
pip install -e .
which researchclaw
undefinedsource .venv/bin/activate
pip install -e .
which researchclaw
undefinedAPI key errors
API密钥错误
bash
undefinedbash
undefinedVerify 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-..."
undefinedexport OPENAI_API_KEY="sk-..."
undefinedExperiment sandbox failures
实验沙箱运行失败
The pipeline self-heals at Stage 13 (ITERATIVE_REFINE). If it keeps failing:
yaml
undefined流水线会在第13阶段(ITERATIVE_REFINE)自动修复。若持续失败:
yaml
undefinedIncrease timeout and iterations in config
在配置中增加超时时间和迭代次数
experiment:
max_iterations: 5
timeout_seconds: 600
sandbox:
python_path: ".venv/bin/python"
undefinedexperiment:
max_iterations: 5
timeout_seconds: 600
sandbox:
python_path: ".venv/bin/python"
undefinedCitation 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 for details on which citations were rejected and why
verification_report.json
第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: 3LaTeX compilation errors
LaTeX编译错误
bash
undefinedbash
undefinedCheck 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>
undefinedtlmgr install <package-name>
undefinedOut of memory during experiments
实验内存不足
yaml
undefinedyaml
undefinedForce 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层检查才能被保留。