Secondary Hipsters
team01
RED
Service down
Connection failed
Timeout or DNS error
Today (9:00 MSK — 9:00 MSK)
0
Commits
0
PRs Merged
0
PRs Opened
0
Issues Opened
0
Issues Closed
All Time
74
Commits
6
PRs Merged
6
PRs Opened
0
Issues Opened
0
Issues Closed
$6.88
API Usage
6.6
Overall
7
ux
7
functionality
5
performance
ux (7/10)
Интерфейс интуитивно понятен: одна главная функция - ввод идентификатора статьи и запуск анализа. Хорошо реализована справочная информация в раскрывающемся блоке 'How to use' с примерами форматов ввода. Есть всплывающая подсказка у поля ввода. Однако есть серьёзная UX-проблема: поле ввода требует нажатия Enter для применения значения (показывается 'Press Enter to apply'), что неочевидно и может запутать пользователей. При нажатии кнопки 'Analyze Paper' без применения ввода показывается ошибка 'Please enter a paper identifier', хотя текст уже введён. Прогресс-бар и статусные сообщения информативны. Мобильная адаптация работает корректно.
functionality (7/10)
Основная функциональность работает: анализ статьи по arXiv ID выполнился успешно за 47.9 секунд и сгенерировал детальный отчёт с оценкой рисков по 6 категориям (Code Availability, Data Availability, Infrastructure/Compute, Tooling & Dependencies, Reproducibility Evidence, Documentation Quality). Работает скачивание отчёта в Markdown формате. Валидация невалидных идентификаторов показывает понятные сообщения об ошибках. Кнопка 'Analyze Another Paper' корректно сбрасывает форму. Поддерживаются разные форматы ввода: arXiv ID, arXiv URL, DOI, DOI URL. Однако первый анализ прервался из-за проблем с соединением (502 ошибки), что указывает на нестабильность бэкенда.
performance (5/10)
Начальная загрузка страницы быстрая (2-3 секунды). Однако во время тестирования наблюдались многочисленные 502 Bad Gateway ошибки - более 50 ошибок в консоли. Это приводило к прерыванию анализа и необходимости повторного запуска. WebSocket соединение периодически теряется (показывается 'Connecting...'). Успешный анализ занял около 48 секунд, что соответствует заявленным 30-120 секундам, но первая попытка провалилась из-за разрыва соединения без явного уведомления пользователя.
Findings (20)
high
bug
Множественные 502 Bad Gateway ошибки (более 50 за сессию тестирования)
high
bug
WebSocket соединение периодически теряется без явного уведомления
high
bug
Анализ может прерваться при потере соединения без сообщения об ошибке пользователю
high
bug
UX-баг: ввод не применяется автоматически - требуется нажать Enter, что приводит к ошибке 'Please enter a paper identifier' даже когда текст введён
high
bug
Broken: Стабильность соединения (частые 502 ошибки)
Commits & Code Churn
31 Jan — 6 Feb 2026PR Activity
31 Jan — 6 Feb 2026Languages
README
# 🔬 R&D Risk Analyst
### _Стоит ли воспроизводить эту статью? Пусть ИИ решит._
[](https://rnd-risk-analyst.camp.aitalenthub.ru)
[](https://python.org)
[](https://python.langchain.com/)
[](https://docker.com)
[](LICENSE)
**ИИ-инструмент для анализа ML-статей и оценки воспроизводимости исследований.**
**Вставьте ссылку на статью → Получите рекомендацию GO / CAUTIOUS / NO-GO за секунды.**
---
[**Попробовать демо**](https://rnd-risk-analyst.camp.aitalenthub.ru) · [**Возможности**](#-возможности) · [**Быстрый старт**](#-быстрый-старт) · [**Архитектура**](#-архитектура) · [**Команда**](#-команда)
---
🎯 Что делает этот инструмент
Вы нашли перспективную ML-статью. Но сможет ли ваша команда её воспроизвести?
R&D Risk Analyst отвечает на этот вопрос, анализируя статьи по 6 критическим направлениям и выдавая обоснованный вердикт:
| Направление | Что проверяем |
|---|---|
| 💻 Доступность кода | Официальный репозиторий, сторонние реализации, совместимость фреймворков |
| 📊 Доступность данных | Доступ к датасетам, лицензирование, объём и формат |
| ⚡ Вычислительные ресурсы | Требования к GPU/TPU, время обучения, потребление памяти |
| 🔧 Инструменты и зависимости | Версии фреймворков, кастомные библиотеки, совместимость |
| 🔄 Доказательства воспроизводимости | Независимые воспроизведения, разброс результатов, известные проблемы |
| 📖 Качество документации | Инструкции по запуску, гиперпараметры, ablation studies |
✨ Возможности
- 🔗 Мульти-источниковый поиск — Поддержка arXiv URL, arXiv ID и DOI
- 🤖 Анализ на базе LLM — LangChain + OpenRouter (Claude, GPT-4, Gemini и другие)
- 📡 Автоматический сбор данных — Сканирование PDF, GitHub-репозиториев и API метаданных
- 🎯 Прозрачная логика решений — Каждая рекомендация подкреплена конкретными доказательствами
- 📋 Множество форматов вывода — Rich-терминал, Markdown-отчёты или JSON-экспорт
- 🌐 Веб-интерфейс — Streamlit UI с отслеживанием прогресса в реальном времени
- 🐳 Деплой одной командой — Docker Compose для мгновенного запуска
- ⚙️ Учёт ограничений — Укажите свои GPU/инфраструктурные лимиты для точного анализа
🚀 Быстрый старт
Вариант 1: Живое демо (самый простой)
👉 rnd-risk-analyst.camp.aitalenthub.ru
Никаких настроек — просто вставьте ссылку на arXiv и получите результат!
Вариант 2: Docker (свой сервер)
# Клонировать репозиторий
git clone https://github.com/AI-Talent-Camp-2026/research-assistant.git
cd research-assistant
# Указать API-ключ
echo "OPENROUTER_API_KEY=your-key-here" > .env
# Запустить
docker-compose up -d
# Открыть http://localhost:3000
Вариант 3: Локальная разработка
# Установить uv (быстрый пакетный менеджер Python)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Настроить окружение
uv venv && source .venv/bin/activate
uv pip install -e .
# Запустить веб-интерфейс
streamlit run app.py --server.port 3000
# Или использовать CLI
rnd-risk-analyst analyze 2301.07041 --verbose
Примеры использования CLI
# Анализ по arXiv ID
rnd-risk-analyst analyze 2301.07041 --verbose
# Анализ по URL
rnd-risk-analyst analyze "https://arxiv.org/abs/2301.07041"
# Анализ по DOI
rnd-risk-analyst analyze "10.1038/nature12373"
# Экспорт в markdown
rnd-risk-analyst analyze 2301.07041 --format markdown --output report.md
# С учётом ограничений команды
rnd-risk-analyst analyze 2301.07041 --constraints constraints.json
🏗 Архитектура
Логика принятия решений
| Решение | Условие |
|---|---|
| 🔴 NO-GO | BLOCKER в любой критической категории (Код, Данные, Инфраструктура) |
| 🟡 CAUTIOUS | Нет блокеров, но ≥2 сигнала RISK или ≥1 неизвестный критический сигнал |
| 🟢 GO | Низкий риск — управляемые сложности, понятный путь к воспроизведению |
⚙️ Конфигурация
Переменные окружения
# Обязательно
OPENROUTER_API_KEY=sk-or-v1-... # Доступ к LLM через OpenRouter
# Опционально
LLM_MODEL=anthropic/claude-sonnet-4-20250514 # Модель по умолчанию
GITHUB_TOKEN=ghp_... # Повышенные лимиты GitHub API (60→5000/час)
🛠 Технологический стек
| Слой | Технология |
|---|---|
| Фронтенд | Streamlit — интерактивный веб-интерфейс |
| CLI | Typer + Rich — красивый терминальный вывод |
| LLM | LangChain + LangGraph |
| Провайдер LLM | OpenRouter — Claude, GPT-4, Gemini и др. |
| pymupdf4llm — структурированное извлечение текста | |
| Валидация | Pydantic v2 — строгая проверка данных |
| Поиск кода | GitHub API + PyGithub |
| API статей | arXiv API, Crossref API |
| Деплой | Docker Compose + GitHub Actions CI/CD |
| Пакетный менеджер | uv — быстрое управление пакетами |
| Качество кода | black, ruff, mypy, pytest |
📊 Статистика проекта






| Метрика | Значение |
| :-----: | :------: |
| **Строк Python-кода** | 4 279 |
| **Строк написано** | 30 882+ |
| **Время разработки** | 5 дней |
📁 Структура проекта
research-assistant/
├── app.py # Streamlit веб-интерфейс
├── Dockerfile # Образ контейнера
├── docker-compose.yml # Деплой одной командой
├── .github/workflows/
│ └── deploy.yml # CI/CD пайплайн
├── src/rnd_risk_analyst/ # Основной пакет
│ ├── main.py # Точка входа CLI
│ ├── config.py # Настройки
│ ├── commands/
│ │ ├── analyze.py # Пайплайн анализа
│ │ └── export.py # Утилиты экспорта
│ ├── analysis/
│ │ ├── paper_fetcher.py # Получение статей arXiv/DOI
│ │ ├── pdf_processor.py # Обработка PDF
│ │ ├── github_analyzer.py # Анализ репозиториев
│ │ ├── risk_assessor.py # Извлечение рисков через LLM
│ │ ├── decision_engine.py # Логика GO/CAUTIOUS/NO-GO
│ │ └── prompts.py # Промпты для LLM
│ └── models/
│ ├── paper.py # Метаданные статьи
│ ├── risk_signal.py # Сигналы рисков
│ ├── report.py # Отчёт о воспроизводимости
│ └── constraints.py # Ограничения пользователя
├── tests/ # Юнит- и интеграционные тесты
├── specs/ # Спецификации фич
└── docs/ # Исследования и продуктовые доки
👥 Команда
### **Secondary Hipsters** 🎸
Сделано с ❤️ для [**AI Talent Camp 2026**](https://aitalenthub.ru)
| | Имя | Роль |
| :-: | :-: | :-: |
| 🧑💻 | **Иван Голов** | Ведущий разработчик · 26 коммитов |
| 🧑💻 | **Иван Мрасов** | Ведущий разработчик · 28 коммитов |
| 👩💻 | **Василиса Лукоянова** | Разработчик · 19 коммитов |
💬 Обратная связь
Есть идеи, нашли баг или хотите поделиться опытом?
- Telegram: @Ione_Golov
- GitHub Issues: Создать issue
**[🚀 Попробовать демо →](https://rnd-risk-analyst.camp.aitalenthub.ru)**
_Создано за 5 дней на AI Talent Camp 2026 · Февраль 2026_
Events History
Total: 86 events
Page 1 of 2