NanoResearch
OpenRaiser/NanoResearchNanoResearch — сквозной автономный движок для научных исследований. Запускает вычислительные эксперименты на GPU, собирает реальные результаты, генерирует графики и выдаёт полноценную LaTeX-статью. Все данные — из реальных экспериментов, не из LLM.
Установка
pip install lark-oapiREADME
NanoResearch
Сквозной автономный AI-движок для научных исследований — от идеи до готовой статьи, полностью автоматически
🔬 NanoResearch реально запускает вычислительные эксперименты — он не просто генерирует код, но и отправляет его на GPU-кластер для обучения, собирает реальные результаты, создаёт иллюстрации для статьи и в итоге выдаёт полноценную LaTeX-статью, подкреплённую экспериментальными данными. Каждое число, таблица и график в статье получены из реально выполненных экспериментов, а не придуманы LLM.
📖 Содержание
- 📊 Демонстрация реальных статей
- ⚡ CLI-демо
- 📢 Последние обновления
- ✨ Ключевые возможности
- 🆚 Почему NanoResearch
- 🎯 Сценарии применения
- 🖼️ Примеры результатов
- CLI: стандартный вывод vs TUI
- 🔬 Пайплайн
- 📦 Быстрый старт
- 🧩 Режим Claude Code
- ⚙️ Конфигурация
- 💻 Справочник CLI
- 🍪 Примеры и демо
- 📂 Структура вывода
- 💬 Feishu-бот
- 🏗️ Структура проекта
- ❓ Частые вопросы
- 🎯 Дорожная карта
- 📋 Требования к окружению
- 🙏 Благодарности
- 🤝 Участие в разработке
- 📝 Цитирование
- 📄 Лицензия
📊 Демонстрация реальных статей
Ниже представлены реальные иллюстрации из статей, автоматически сгенерированных NanoResearch. Все данные, кривые и таблицы получены из реально выполненных экспериментов — LLM ничего не выдумывал.
Все иллюстрации сгенерированы пайплайном автоматически; данные взяты из реальных логов обучения и результатов экспериментов.
⚡ CLI-демо
CLI NanoResearch предлагает два режима отображения: полноэкранный TUI и классический потоковый лог. Ниже — демонстрационное видео TUI-интерфейса CLI (переключение тем и оптимизация компоновки). Другие точки входа (Claude Code, Feishu-бот) описаны в соответствующих разделах документации.
Почему NanoResearch
| Возможность | Традиционные AI-инструменты для письма | NanoResearch |
|---|---|---|
| Поиск литературы | Частичная поддержка | ✅ Автоматический поиск через OpenAlex + Semantic Scholar |
| Дизайн экспериментов | ❌ | ✅ Автоматическая генерация плана экспериментов |
| Генерация кода | Частичная поддержка | ✅ Полный работоспособный код экспериментов |
| Запуск GPU-экспериментов | ❌ | ✅ Автоматическое обучение локально / через SLURM |
| Анализ результатов | ❌ | ✅ Разбор реальных логов обучения |
| Иллюстрации для статьи | ❌ | ✅ На основе реальных данных |
| Написание статьи | Структура/черновик | ✅ Полная LaTeX-статья |
| Возобновление с точки останова | ❌ | ✅ Восстановление с любого этапа |
| Мультимодельное взаимодействие | Одна модель | ✅ Маршрутизация по этапам |
🎯 Сценарии применения
- Прототипирование научных идей — быстро превратить исследовательскую идею в полноценное рабочее пространство с экспериментами и статьёй
- Автономные эксперименты — система автоматически генерирует код, отправляет задачи на GPU-обучение и анализирует результаты
- Массовая генерация бенчмарков — запуск по множеству тем с получением воспроизводимых результатов
- Черновик статьи — генерация LaTeX-черновика на основе реальных экспериментальных данных для ускорения написания
- Аудит исследовательского процесса — полное рабочее пространство, промежуточные артефакты и логи для отслеживания каждого шага
🖼️ Примеры результатов
CLI: стандартный вывод vs TUI
CLI поддерживает два режима: классический потоковый лог (без TUI) и полноэкранные TUI-панели — переключайтесь по удобству.
Примеры вывода
🔬 Пайплайн
NanoResearch реализует 9-этапный глубокий пайплайн, охватывающий весь цикл научного исследования:
| Этап | Название | Описание |
|---|---|---|
| 1 | Генерация идеи | Формулировка исследовательской гипотезы и плана |
| 2 | Поиск литературы | Автоматический поиск через OpenAlex и Semantic Scholar |
| 3 | Дизайн эксперимента | Разработка методологии и плана экспериментов |
| 4 | Генерация кода | Создание полного работоспособного кода |
| 5 | Выполнение эксперимента | Запуск обучения локально или через SLURM |
| 6 | Анализ результатов | Разбор логов и извлечение метрик |
| 7 | Генерация иллюстраций | Создание графиков и таблиц на основе реальных данных |
| 8 | Написание статьи | Генерация полной LaTeX-статьи |
| 9 | Проверка и доработка | Финальная проверка и улучшение качества |
📦 Быстрый старт
Установка
git clone https://github.com/OpenRaiser/NanoResearch.git
cd NanoResearch
pip install -e .Базовое использование
# Запуск с темой исследования
nano-research run --topic "Your research topic here"
# Запуск с TUI-интерфейсом
nano-research run --topic "Your research topic" --tui
# Возобновление с точки останова
nano-research run --resume --workspace ./output/workspace_id🧩 Режим Claude Code
NanoResearch поддерживает запуск через Claude Code как MCP-скилл. Это позволяет управлять всем исследовательским пайплайном прямо из интерфейса Claude Code.
Подключение через MCP
# Установка скилла
claude plugin install nano-researchИспользование в Claude Code
После установки можно запускать исследовательский пайплайн командами в чате Claude Code:
Запусти исследование по теме: "Efficient attention mechanisms for long sequences"
Claude Code автоматически вызовет NanoResearch и проведёт весь цикл от идеи до статьи.
⚙️ Конфигурация
Основные настройки задаются в файле config.yaml:
# Настройки модели
model:
primary: claude-3-5-sonnet-20241022
fallback: claude-3-haiku-20240307
# Настройки выполнения
execution:
mode: local # local | slurm
gpu_count: 1
timeout: 3600
# Настройки вывода
output:
dir: ./outputs
format: latex # latex | markdown💻 Справочник CLI
Использование: nano-research [OPTIONS] COMMAND [ARGS]...
Команды:
run Запустить исследовательский пайплайн
resume Возобновить прерванный пайплайн
status Показать статус текущего рабочего пространства
list Список всех рабочих пространств
clean Очистить рабочее пространство
Опции:
--topic TEXT Тема исследования
--workspace PATH Путь к рабочему пространству
--tui Включить TUI-интерфейс
--no-tui Отключить TUI (классический лог)
--stage INT Начать с указанного этапа (1-9)
--config PATH Путь к файлу конфигурации
--help Показать справку
📂 Структура вывода
outputs/
└── workspace_<id>/
├── idea.json # Сгенерированная идея
├── literature/ # Найденная литература
├── experiment_plan.json # План экспериментов
├── code/ # Сгенерированный код
├── results/ # Результаты экспериментов
├── figures/ # Сгенерированные иллюстрации
├── paper/ # LaTeX-статья
│ ├── main.tex
│ ├── main.pdf
│ └── figures/
└── logs/ # Логи выполнения
💬 Feishu-бот
NanoResearch поддерживает интеграцию с Feishu (Lark) для получения уведомлений о ходе выполнения и управления пайплайном через мессенджер.
Настройка
# В config.yaml
feishu:
enabled: true
webhook_url: "https://open.feishu.cn/open-apis/bot/v2/hook/xxx"
notify_on:
- stage_complete
- error
- pipeline_complete📋 Требования к окружению
- Python 3.10+
- CUDA-совместимый GPU (для локального выполнения экспериментов)
- Anthropic API ключ
- Опционально: SLURM-кластер для распределённого выполнения
Переменные окружения
export ANTHROPIC_API_KEY="your-api-key"
export SEMANTIC_SCHOLAR_API_KEY="your-key" # опционально🙏 Благодарности
Проект вдохновлён работами в области автоматизации научных исследований и опирается на следующие инструменты и сервисы:
- Anthropic Claude — основная языковая модель
- OpenAlex — открытый каталог научных работ
- Semantic Scholar — поиск научной литературы
- LaTeX — система вёрстки научных статей
🤝 Участие в разработке
Вклад в проект приветствуется! Пожалуйста, ознакомьтесь с CONTRIBUTING.md перед отправкой pull request.
# Форк репозитория и создание ветки
git checkout -b feature/your-feature-name
# После внесения изменений
git commit -m "feat: описание изменений"
git push origin feature/your-feature-name📝 Цитирование
Если вы используете NanoResearch в своих исследованиях, пожалуйста, процитируйте:
@software{nanoresearch2024,
title={NanoResearch: The Autonomous AI Research Assistant},
author={OpenRaiser},
year={2024},
url={https://github.com/OpenRaiser/NanoResearch}
}📄 Лицензия
Распространяется по лицензии MIT. Подробности в файле LICENSE.