NanoResearch
An autonomous research pipeline that turns a topic into executed experiments, evidence-backed figures, and a LaTeX paper draft.
Per-dimension scores and reasoning
Evidence shows: README mentions API key configuration and environment variables, but no least privilege or user confirmation mechanisms; data flow transparency partially shown via workspace and logs, but not explicit; sensitive data handling not mentioned; dependency security not mentioned; external effects (e.g., SLURM jobs) described but no safety measures; rollback via resume; source attribution via acknowledgments and citation. Deductions: lack of specific security mechanisms and user confirmation processes.
Evidence shows: README and code structure consistent, good self-consistency; dependencies listed in pyproject.toml but availability not verified; failure messages not detailed. Deductions: dependency availability and failure messages lack concrete evidence.
Evidence shows: README describes multiple use cases and audiences; capability boundaries clear via stages; trigger commands precise; environment requirements clear. Deductions: no further environment adaptation details.
Evidence shows: README well-structured, install notes detailed, naming stable, examples and FAQ present, license clear, but versioning and changelog missing, maintenance responsibility unclear. Deductions: versioning and changelog missing, maintenance responsibility unclear.
Evidence shows: output structure clear, provides paper and code; high marginal value, automates research; cost-benefit not detailed. Deductions: cost-benefit lacks specific data.
Evidence shows: README claims real experimental data, but no verification method; no cross-source corroboration; fact and inference not clearly separated. Deductions: lack of verifiable evidence.
- API keys and configuration may be mishandled; ensure secure storage.
- Automated experiment execution may have unpredictable external effects; use with caution.
- Dependency security not explicit; check for vulnerabilities.
What does this agent do, and when should you use it?
NanoResearch is an end-to-end research workflow with nine stages: IDEATION, PLANNING, SETUP, CODING, EXECUTION, ANALYSIS, FIGURE_GEN, WRITING, and REVIEW. It exposes a Python CLI, Claude Code project commands, a Codex project entry point, and an optional Feishu bot; workspaces use manifest.json to track state and artifacts. Its execution stage can run generated experiment code on a local GPU or a SLURM cluster, then passes logs and metrics into analysis, figure generation, and writing. Exports can include a PDF, LaTeX source, bibliography, figures, code, data, and manifest.json. It fits researchers who can supply model endpoints, a compute environment, and a LaTeX compiler and who want a resumable research workflow.
A run begins with nanoresearch run --topic "...". IDEATION searches literature through OpenAlex and Semantic Scholar, proposes hypotheses, and collects citations; PLANNING creates an experimental blueprint covering datasets, baselines, metrics, and ablations; SETUP, CODING, and EXECUTION prepare an environment, generate an experiment project, and run training on a local GPU or SLURM. The pipeline parses training logs and metrics into structured experimental evidence, creates architecture, comparison, and ablation figures, writes a LaTeX paper, and reviews/revises it; nanoresearch resume continues an unfinished or failed workspace. The evo pipeline additionally reuses a user profile, skill library, project memory, and feedback routing across research runs, with artifacts such as experiment_matrix.json, metrics.json, run_manifest.json, final_metrics.json, optimization_history.csv, and pareto_front.json.
- An ML researcher testing a new research idea who needs generated experiment code, executed runs, and a paper draft from one topic.
- A lab member with SLURM access who wants sbatch submission, job monitoring, and documented automatic debugging and retry behavior for failed training.
- A research team that needs an auditable workspace containing plans, code, logs, data, figures, and a manifest for each project.
- An author preparing a NeurIPS, ICML, or arXiv-style draft from experimental outputs and exporting the resulting PDF and LaTeX package.
- A Claude Code user who wants to run research stages through commands such as /project:research, /project:experiment, and /project:resume.
- An individual researcher who wants preferences, memory, and reusable skills carried across multiple runs through the evo pipeline.
What are this agent's strengths and limitations?
- The nine-stage workflow covers literature search, experiment design, code generation, execution, analysis, figures, writing, and review rather than only drafting prose.
- EXECUTION supports both local GPUs and SLURM, with documented sbatch submission, job monitoring, log analysis, automatic code repair, and retries.
- Its workspace preserves manifest.json, plans, experiment code, results, figures, drafts, and logs; the CLI includes resume, status, inspect, and export operations.
- Models can be routed by stage through OpenAI-compatible endpoints, while Claude Code mode uses its WebSearch, Bash, and file operations for the same research workflow.
- A full experimental run requires access to a local GPU or SLURM cluster; no CPU-only path or hardware baseline is documented.
- The Python CLI requires an OpenAI-compatible endpoint and user-provided credentials for text stages; image generation may require a separate image endpoint and access.
- Generated papers are positioned as high-quality drafts, and the repository explicitly recommends human review and revision before submission.
- PDF compilation depends on tectonic or pdflatex; the documentation notes that some Conda texlive installations may lack pdflatex.fmt.
How do you install or deploy this agent?
Run:
git clone https://github.com/OpenRaiser/NanoResearch.git
cd NanoResearch
pip install -e ".[dev]"The documented runtime requires Python 3.10+, an OpenAI-compatible API endpoint, and tectonic or pdflatex for PDF compilation. Create ~/.nanoresearch/config.json and provide at least research.base_url, research.api_key, and a model for the stages you use; NANORESEARCH_BASE_URL, NANORESEARCH_API_KEY, and NANORESEARCH_TIMEOUT can override configuration. OpenAlex and Semantic Scholar can be used anonymously; OPENALEX_API_KEY and S2_API_KEY are optional for higher request rates.
How do you use this agent?
Validate the setup with: nanoresearch run --topic "Adaptive Sparse Attention Mechanisms" --dry-run. Start a full run with: nanoresearch run --topic "Adaptive Sparse Attention Mechanisms" --format neurips2025 --verbose. Resume after interruption with nanoresearch resume --workspace ~/.nanoresearch/workspace/research/{session_id} --verbose, then export with nanoresearch export --workspace ~/.nanoresearch/workspace/research/{session_id} --output ./my_paper. For Claude Code, start claude in the repository and run /project:research "your research topic".
How does this agent compare with similar options?
The README contrasts NanoResearch with “traditional AI writing tools”: those are described as only partly supporting literature search or code generation, while NanoResearch also claims experiment design, local/SLURM GPU execution, training-log analysis, result-based figures, and complete LaTeX paper generation.