NanoResearch
端到端 AI 科研引擎,一键从研究想法到完整论文
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
端到端 AI 科研引擎,一键从研究想法到完整论文
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
凌晨两点,你盯着屏幕上一个模糊的研究想法发呆——这个方向到底有没有人做过?实验方案怎么设计?代码要从零写起吗?跑完实验数据要怎么分析?最后还要写成 LaTeX 格式的论文……一整套流程走下来,往往需要数周乃至数月。
NanoResearch 想做的事,就是把这条漫长的路压缩到一次命令执行。它是 OpenRaiser 团队开源的端到端自主 AI 科研引擎——你只需要告诉它研究主题,剩下的文献检索、实验设计、代码生成、GPU 集群训练、结果分析、论文配图、LaTeX 写作,全部由 AI 自动完成。

项目核心信息:
传统科研流程中,每一个环节都需要大量手动操作:
这套流程不仅耗时,还充满"机械性重复劳动"——而这些恰恰是当前 AI 最擅长替代的部分。
NanoResearch 并不是又一个"AI 写作助手"。它的核心理念是:让 AI 真正运行计算实验。它生成的每一个数据点都来自实际运行的训练结果,每一张图表都基于真实实验日志,而非 LLM 编造的虚构内容。
项目由 OpenRaiser 团队开发维护,目前已在 GitHub 获得 1502 颗星,吸引了来自学术界和工业界的关注。其设计借鉴了 AI Agent 的工作流编排思想,将复杂的科研任务拆解为可管理的阶段。
NanoResearch 的核心是一个精心设计的 9 阶段科研流水线,每个阶段由专门的 AI Agent 负责,阶段之间通过 manifest.json 实现断点续跑。

完整流水线如下:
| 阶段 | Agent 角色 | 核心任务 |
|---|---|---|
| IDEATION | 文献调研 Agent | OpenAlex + Semantic Scholar 自动检索,识别研究空白 |
| PLANNING | 实验设计 Agent | 生成实验蓝图(original/survey 两种模式) |
| SETUP | 环境配置 Agent | 准备运行环境、GPU 资源、依赖 |
| CODING | 代码生成 Agent | 生成完整可运行的实验代码 |
| EXECUTION | 执行调度 Agent | 本地或 SLURM 集群提交训练任务 |
| ANALYSIS | 结果分析 Agent | 解析训练日志,提取结构化数据 |
| FIGURE_GEN | 配图生成 Agent | 基于真实数据生成论文图表 |
| WRITING | 论文写作 Agent | 生成完整 LaTeX 论文 |
| REVIEW | 评审 Agent | 批判性审查、验证、修订 |
每个阶段运行完毕都会生成 manifest.json,记录当前进度。即使程序中途崩溃,或你想换个时间继续,都可以直接从上次断点恢复,而不是从头来过。这对 GPU 集群任务尤其重要——训练跑了 12 小时因为断电中断,Resume 功能可以让你从checkpoint直接继续。
NanoResearch 支持两种执行后端:
cluster_executor 模块负责 SLURM 脚本生成、任务提交和结果回收,使得大规模实验的自动化成为可能。这是科研场景的硬需求——学术研究中的大多数深度学习实验都需要在 GPU 集群上运行。

NanoResearch 还提供了一个独立的 MCP (Model Context Protocol) Server,可通过标准 I/O 与支持 MCP 协议的 AI 应用(如 Claude Desktop)集成。MCP Server 暴露了以下工具:
| 工具 | 功能 |
|---|---|
search_arxiv | arXiv 论文检索 |
search_semantic_scholar | Semantic Scholar 检索 |
get_paper_details | 获取论文详情 |
search_github | GitHub 代码仓库检索 |
generate_latex | LaTeX 文档生成 |
generate_full_paper | 完整论文生成 |
compile_pdf | LaTeX PDF 编译 |
generate_figure | 论文图表生成 |
search_web | 网页搜索 |
search_tasks (Papers With Code) | 任务-方法追踪 |
download_and_extract (PDF) | PDF 下载与内容提取 |
这意味着 NanoResearch 不仅是命令行工具,更是一套可以被其他 AI 应用调用的科研能力中台。通过 MCP 协议,Claude Code 等 Agent 可以直接调用这些工具,实现更深度的科研辅助。
NanoResearch 的技术选型体现了对工程可靠性的重视:
pyproject.toml(支持 Hatch 构建)BaseResearchAgent 基类 + 阶段专用 Agent项目采用了分层 Agent 架构:
BaseResearchAgent:所有 Agent 的基类,负责 LLM 调用、日志记录、上下文管理coding.py、writing.py、analysis.py):每个阶段有独立 AgentClusterExecutorAgent:负责 SLURM 集群任务编排CodeEditorAgent:处理代码编辑和调试RAM 模块(Retroactive Analytical Memory)是项目的亮点之一——它记录每个阶段的决策过程,通过记忆分析实现 Agent 的自我改进。memory.py 和 ram.py 实现了记忆存储和分析的完整闭环。
不同科研阶段对模型能力的需求不同——文献调研需要快速广泛的信息检索,代码生成需要精确的逻辑推理,论文写作需要流畅的语言表达。router_policy.py 实现了按任务类型动态选择最合适模型的策略,避免"一刀切"调用同一个大模型造成成本浪费和效果不稳定。
NanoResearch CLI 提供两种输出模式:
两者可通过命令行参数切换,默认 TUI 模式提供更好的交互体验。
项目还提供了飞书机器人集成,可将科研进度实时推送到飞书群组,适合团队协作场景。
# 安装
pip install -e .
# 原始研究(全流程)
nanoresearch research "original: Your Research Topic"
# 文献综述
nanoresearch research "survey:standard: Your Survey Topic"
# 查看状态
nanoresearch status
# 断点续跑
nanoresearch resume
# Claude Code 集成模式
# 在 Claude Code 中使用 /project:research 等命令
NanoResearch 强调"不编造实验结果",但 LLM 在代码生成环节仍有概率产生逻辑错误的代码,导致实验失败或结果异常。用户需要具备一定的机器学习背景,能够判断生成的实验方案是否合理、结果是否符合预期。
SLURM 是学术 HPC 的主流调度系统,但国内很多研究机构的集群使用 PBS 或其他调度器,项目对 SLURM 的深度绑定限制了其在非 SLURM 环境的使用。
完整的科研流水线涉及大量中间产物(文献 PDF、实验日志、图表文件),每个 Agent 都需要在有限上下文内处理这些信息。随着流水线推进,早期信息可能被"遗忘",影响后期决策质量。
目前仅有 CLI 和 MCP Server 两种接入方式,不支持 Web 界面或 REST API。对于非技术用户,有一定的上手门槛。
MCP Server 的每个工具(如 PDF 解析、LaTeX 生成)本身依赖 LLM 的能力,当底层模型能力有限时,工具输出质量会明显下降。
NanoResearch 代表了 AI for Science 领域的一个重要方向:将 AI Agent 能力系统性地引入科研工作流,而非仅仅用 LLM 生成一段代码或一篇摘要。
从增长曲线看,AI 科研助手赛道正在快速升温。类似 AutoGPT 风格的自主 Agent 框架已经开始渗透到科研场景,但 NanoResearch 的差异化在于:
RAM 自进化机制的引入也值得关注——它不只是一个静态工具,而是一个能够从历史决策中学习的系统。这意味着随着使用时间增长,Agent 对特定研究领域的适配性会逐步提升。
NanoResearch 是一个雄心勃勃的开源项目,它试图用 AI Agent 重新定义科研工作流的上限。从 1502 颗 GitHub 星标和活跃的开发者生态来看,它确实击中了研究者的真实痛点——科研流程中大量机械性、重复性的工作,正是 AI 介入的最佳切入点。
对于具备一定技术背景的研究者(尤其是深度学习方向),NanoResearch 能够显著提升从想法到论文的转化效率;对于非技术背景的用户,现有的 CLI 交互模式仍有一定门槛,建议从 MCP Server 集成到 Claude Code 的方式入手。
一句话评价:NanoResearch 是 AI 科研助手赛道中难得的"真家伙"——它真的在跑 GPU 实验,而非仅仅生成文本。