【免费下载链接】NanoResearch
🦞+🔬 NanoResearch: The Autonomous AI Research Assistant
🔬NanoResearch 写作引擎(Writing Engine)是这款自主 AI 科研引擎中把"真实实验数据"变成"会议格式论文"的核心模块。它基于实验结果构建证据包(Grounding Packet),逐节撰写 LaTeX 内容,再套用NeurIPS / ICML / arXiv 格式模板渲染并自动编译,最终产出可直接投稿结构的paper.pdf与paper.tex——论文中的每个数字都来自实际运行的实验,而非模型编造。
一、写作引擎在流水线中的位置
NanoResearch 的 9 阶段流水线为:IDEATION → PLANNING → SETUP → CODING → EXECUTION → ANALYSIS → FIGURE_GEN → WRITING → REVIEW。写作引擎正是WRITING阶段的执行者,它的输入包括:
| 输入 | 来源阶段 | 用途 |
|---|---|---|
实验结果experiment_results | EXECUTION | 主结果、消融数据 |
实验分析experiment_analysis | ANALYSIS | 指标解读与结论支撑 |
图表产物figure_output | FIGURE_GEN | 架构图、结果图、消融图 |
文献池papers | IDEATION | Introduction / Related Work 引用 |
二、证据包机制:为什么数据不会被编造
写作入口 writing_agent.py 的第一步就是构建Grounding Packet(定义见 _types.py),由 grounding.py 完成。这个结构化证据包包含:
main_results/ablation_results:主结果与消融结果comparison_with_baselines:与基线的对比main_table_latex/ablation_table_latex:预构建的 LaTeX 表格骨架evidence_gaps:证据缺口——论文无法支撑的结论会被显式标记
💡 关键设计:写作阶段只读取真实执行结果。如果某类实验没有产物,系统会缩小证据范围或写入 Limitation / Future Work,而不会补一个"看起来合理"的 synthetic 数值。
三、逐节写作:从 Stage Planner 到 Section Writer
写作流程被拆成几个清晰的子模块(位于 nanoresearch/agents/writing/):
- Stage Planner(stage_planner.py):先生成一份"写作计划",落盘为
plans/paper_structure_plan.json; - Section Writer(section_writer.py):按init.py 中定义的
PAPER_SECTIONS逐节生成——Introduction、Related Work、Method、Experiments、Conclusion。每个章节都附带精细的写作指令,例如 Method 要求"每个组件一个\subsection+ 编号公式 + 复杂度分析",Introduction 要求经典三段式结构且贡献点不超过 3 条; - Citation Manager(citation_manager.py):把文献池转成 cite key 映射并生成
references.bib,章节内引用只能使用已提供的 cite key,杜绝"幻觉引用"; - Context Builder(context_builder.py):为每节组装最精简的上下文,避免无关信息干扰生成。
值得注意的是,写作引擎区分original research(原创研究)与survey(综述)两种论文模式,分别使用不同的章节清单(PAPER_MODE_SECTIONS),一套引擎即可产出两种体裁。
四、LaTeX 模板定制指南
4.1 模板在哪里
所有模板集中在 nanoresearch/templates/,系统通过 templates/init.py 自动发现格式——只要某目录下存在paper.tex.j2,就会被识别为可用格式。当前内置 5 种:
| 格式目录 | 用途 |
|---|---|
neurips/ | NeurIPS 会议格式 |
icml/ | ICML 会议格式 |
arxiv/ | arXiv 预印本 |
survey/ | 综述论文 |
base/ | 通用基础模板(含分节模板) |
4.2 模板长什么样
以 neurips/paper.tex.j2 为例,它使用自定义 Jinja2 分隔符,避免与 LaTeX 命令的{}、#冲突:
<# 块语法: <% %> ;变量: << >> ;注释: <# #> #> \usepackage[final]{neurips_2024} \title{<< title >>} \author{<%- for author in authors %> << author >><% if not loop.last %> \and <% endif %> <%- endfor %>} <% for section in sections %> \section{<< section.heading >>}\label{<< section.label >>} << section.content >> <% endfor %> \bibliographystyle{plainnat} \bibliography{references}[icml/paper.tex.j2](https://link.gitcode.com/i/e28905bdbd5cb6c30a3d47c41e2730d9)结构几乎一致,只是换成了\usepackage{icml2024}与 ICML 的 bibstyle——改一处即可切换会议风格。
4.3 三步定制新模板
- 在
templates/下新建目录(如colm2026/),放入paper.tex.j2; - 把该会议的
.sty/.cls/.bst文件一并放入目录——get_style_files()会自动把它们复制进编译目录,无需手动管理; - 运行时用
--format colm2026或在~/.nanoresearch/config.json中设置"template_format": "colm2026"即可生效(默认值见 config.py 中的template_format字段)。
五、自动编译与 LaTeX 自修复
渲染由 latex_assembler.py 完成,包含三层保障:
- 图表自动放置(latex_figure_placement.py):章节正文不需要手写
\begin{figure},图会自动插入到对应\ref{fig:...}引用附近; - LaTeX 文本消毒(_latex_helpers.py):转义危险字符、清理 LLM 的思考残留,防止编译炸裂;
- 编译-修复循环:
_compile_pdf编译失败时,会把错误日志反馈给 LLM 自动修复.tex并重试,最多MAX_LATEX_FIX_ATTEMPTS = 3轮,且修复前自动备份原文件为.tex.bak,彻底失败时回滚。
⚠️ 编译工具推荐
tectonic(conda install -c conda-forge tectonic),它会自动拉取所需 TeX 宏包,省去手动装 texlive 的坑。
六、快速上手:一条命令跑通
配置好~/.nanoresearch/config.json(base_url+api_key)后:
# 指定 NeurIPS 2025 格式运行完整流水线 nanoresearch run --topic "Adaptive Sparse Attention" --format neurips2025 --verbose # 中途失败后从断点恢复 nanoresearch resume --workspace ~/.nanoresearch/workspace/research/{session_id} # 导出论文包(paper.pdf / paper.tex / references.bib / figures/) nanoresearch export --workspace ~/.nanoresearch/workspace/research/{session_id} --output ./my_paper运行过程中可用nanoresearch status --workspace ...查看各阶段产物,导出目录即为可直接投稿结构的paper.pdf、paper.tex、references.bib、figures/与manifest.json。
七、总结
NanoResearch 写作引擎的三层设计值得借鉴:证据包让数字有出处、逐节生成 + 引用白名单让行文不跑偏、Jinja2 模板 + 自动修复编译让格式切换零成本。想深入定制,建议按此顺序阅读源码:
- 证据与接地:grounding.py、grounding_tables.py
- 章节提示词:agents/writing/init.py 中的
PAPER_SECTIONS - 渲染与编译:latex_assembler.py
- 模板入口:templates/neurips/paper.tex.j2、templates/icml/paper.tex.j2
把实验数据真正写进论文,而不是让模型"想象"数据——这正是 NanoResearch 写作引擎的核心价值。📄
【免费下载链接】NanoResearch
🦞+🔬 NanoResearch: The Autonomous AI Research Assistant
相关推荐
从实验到顶会:OpenRLHF加速ICML/NeurIPS论文复现全攻略
从实验到顶会:OpenRLHF加速ICML/NeurIPS论文复现全攻略 你是否还在为RLHF实验复现耗时数月而发愁?是否因分布式训练不稳定导致论文投稿延期?本
人工智能大模型强化学习RLHF分布式训练微调如何正确引用InstantID论文:学术写作必备格式模板与规范指南
如何正确引用InstantID论文:学术写作必备格式模板与规范指南 InstantID是一种先进的零样本身份保留生成技术,仅需单张图像即可实现高质量的身份保持生
计算机视觉媒体生成深度学习AI 应用Defaults 在真实项目中的应用:从基础配置到复杂状态管理
Defaults 在真实项目中的应用:从基础配置到复杂状态管理 Defaults 作为一款现代化的 Swift 数据持久化框架,为 iOS 和 macOS 开发
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考