PaperOrchestra
Ar9av/PaperOrchestraНабор навыков для любого coding-агента (Claude Code, Cursor, Cline и др.), реализующий мультиагентный пайплайн PaperOrchestra: от сырых исследовательских материалов до готовой LaTeX-статьи. Без API-ключей и LLM SDK.
Установка
git clone https://github.com/Ar9av/PaperOrchestra.gitREADME
PaperOrchestra
Подключаемый набор навыков, позволяющий любому coding-агенту в Claude Code, Cursor, Antigravity, Cline, Aider, OpenCode и других запускать мультиагентный пайплайн PaperOrchestra для превращения неструктурированных исследовательских материалов в готовую к публикации LaTeX-статью.
Song, Y., Song, Y., Pfister, T., Yoon, J. PaperOrchestra: A Multi-Agent Framework for Automated AI Research Paper Writing. arXiv:2604.05018, 2026. https://arxiv.org/pdf/2604.05018
Зачем это нужно
Статья описывает пятиагентный пайплайн:
- Outline (структура)
- Plotting (графики)
- Literature Review (обзор литературы)
- Section Writing (написание разделов)
- Content Refinement (доработка содержания)
Который существенно превосходит одноагентные решения и решения на основе поиска по дереву на бенчмарке PaperWritingBench (50–68% абсолютного преимущества по качеству обзора литературы; 14–38% по общему качеству). В Приложении F статьи опубликованы точные промпты для каждого агента.
Данный репозиторий превращает эти промпты, схемы, правила остановки и пайплайны верификации в набор навыков, исполняемых хост-агентом. Здесь нет API-ключей, нет зависимостей от SDK, нет встроенных LLM-вызовов. Навыки — это инструкционные документы плюс детерминированные вспомогательные скрипты; весь LLM-инференс и веб-поиск выполняет ваш coding-агент с помощью собственных инструментов.
Как устроены навыки
Каждый навык состоит из:
SKILL.md— подробный инструкционный документ, который хост-агент читает и выполняет.references/— справочные материалы: дословные промпты из статьи (Приложение F), JSON-схемы, рубрики, правила остановки, примеры выходных данных.scripts/— полностью детерминированные локальные вспомогательные скрипты: валидация JSON-схем, нечёткое сопоставление по Левенштейну, форматирование BibTeX, дедупликация, проверки корректности LaTeX, контрольные пороги покрытия. Без сети, без LLM, без API-ключей.
Всё остальное (LLM-инференс, веб-поиск, запросы к Semantic Scholar, компиляция LaTeX) делегируется хост-агенту через инструкции. Подробности по каждому хосту — в skills/paper-orchestra/references/host-integration.md (Claude Code, Cursor, Antigravity, Cline, Aider).
Семь навыков
| Навык | Шаг в статье | Кол-во LLM-вызовов | Роль |
|---|---|---|---|
paper-orchestra | оркестратор | — | Верхнеуровневый драйвер. Координирует остальные шесть. |
outline-agent | Шаг 1 | 1 | Идея + лог + шаблон + рекомендации → структурированный JSON-план (план графиков, план обзора литературы, план разделов). |
plotting-agent | Шаг 2 | ~20–30 | Выполнение плана графиков; отрисовка графиков и концептуальных диаграмм; опциональный цикл доработки с VLM-критикой; подписи ко всем рисункам. |
literature-review-agent | Шаг 3 | ~20–30 | Поиск кандидатов в вебе; верификация через Semantic Scholar (Левенштейн > 70, порог отсечения, дедупликация); черновик Введения + Related Work с интеграцией ≥90% цитат. |
section-writing-agent | Шаг 4 | 1 | Один мультимодальный вызов: черновик оставшихся разделов, построение таблиц из экспериментального лога, вставка рисунков. |
content-refinement-agent | Шаг 5 | ~5–7 | Симулированное рецензирование; принятие/откат по строгим правилам остановки; ограничения безопасности исключают манипуляцию оценщиком. |
paper-writing-bench | §3 | — | Обратное извлечение сырых материалов (Sparse/Dense идея, экспериментальный лог) из существующей статьи для формирования бенчмарк-кейсов. |
paper-autoraters | Прил. F.3 | — | Запуск собственных авторейтеров статьи: Citation F1 (P0/P1), качество обзора литературы (6 осей), SxS-качество статьи, SxS-качество обзора литературы. |
Шаги 2 и 3 выполняются параллельно (см. skills/paper-orchestra/references/pipeline.md).
agent-research-aggregator (опционально)
Предварительный навык, устраняющий разрыв между разрозненной историей AI coding-агентов
и структурированными входными данными (idea.md, experimental_log.md), которые ожидает PaperOrchestra.
Если вы проводили эксперименты через Claude Code, Cursor, Antigravity или OpenClaw,
но так и не оформили чистый лог экспериментов — этот навык выполнит извлечение за вас.
Он опционален. Если workspace/inputs/idea.md и
workspace/inputs/experimental_log.md уже существуют, навык пропускает себя
и пайплайн запускается напрямую. Он выполняется только при отсутствии входных данных
или когда вы явно указываете агенту на директорию.
Простейший способ использования: просто укажите агенту папку. Если у вас есть директория (корень проекта, кэш агента, любая папка с исследовательскими заметками), агрегатор сам разберётся с содержимым и структурирует его для PaperOrchestra. Первым делом он агрегирует — сканирует, извлекает и синтезирует — поэтому даже если данные разбросаны по множеству файлов и форматов, на выходе получаются чистые, пригодные для проверки входные данные ещё до начала написания.
Запускайте до paper-orchestra (или позвольте paper-orchestra вызвать его автоматически
при отсутствии входных данных).
Что он делает
[.claude/] [.cursor/] [.antigravity/] [.openclaw/]
│ │ │ │
└────────────┴──────────────┴───────────────┘
│
Phase 1: Discovery (deterministic)
│
Phase 2: Extraction (LLM — per batch)
│
Phase 3: Synthesis (LLM — one call)
│
Phase 4: Formatting (deterministic)
│
┌──────────┴──────────┐
workspace/inputs/ workspace/ara/
idea.md aggregation_report.md
experimental_log.md discovered_logs.json
raw_experiments.json
synthesis.json
Четыре фазы:
| Фаза | Инструмент | Что происходит |
|---|---|---|
| 1 Discovery | discover_logs.py | Обходит --search-roots и каталогизирует все релевантные лог-файлы агентов |
| 2 Extraction | LLM (батчами) | Извлекает структурированные данные экспериментов из каждого файла |
| 3 Synthesis | LLM (один вызов) | Объединяет извлечённые данные в единую идею и экспериментальный лог |
| 4 Formatting | детерминированный | Форматирует выходные данные в ожидаемую структуру PaperOrchestra |