Начало работы¶
1. Создайте директорию проекта¶
Каталог .snowcite/ и все сгенерированные файлы будут располагаться здесь.
Для работы с этим обзором достаточно перейти в этот каталог: snowcite
определяет активный проект по текущей рабочей директории.
2. Инициализация¶
Из Claude Code, находясь в my-review/:
Давайте начнём snowcite-проект. Я пишу бакалаврскую работу про состязательные атаки на языковые модели, на русском, по ГОСТ 7.32, используя Typst.
Claude соберёт необходимые данные через AskUserQuestion (автор, вуз,
сроки и т. д.), после чего вызовет init_project(metadata=...). Тул
выполнит следующее:
- создаст базу
.snowcite/papers.dbи каталог.snowcite/cache/; - запишет в корень проекта файл
CLAUDE.mdс параметрами, указанными при инициализации, — он будет управлять всеми последующими сессиями Claude в этой директории; - создаст файлы субагентов
.claude/agents/academic-reviewer.mdи.claude/agents/humanizer.md; - покажет предполагаемые изменения для
.claude/settings.json(создание нового файла или добавление недостающих записей), чтобы Claude мог запросить у вас решение: слияние, перезапись с резервной копией или пропуск.
3. Критерии ревью¶
Критерии задаются произвольным текстом: условия включения, исключения и, при желании, пользовательские кластеры для сводки.
Включать: работы 2023 года и позже, посвящённые состязательным атакам
на языковые модели или текстовые классификаторы.
Исключать: работы только по компьютерному зрению, аппаратные атаки.
Кластеры: attacks-optimization, attacks-jailbreak, defenses-detection,
defenses-certified, evaluation, surveys.
Claude вызовет set_review_criteria(criteria_text=...).
4. Поиск и ревью¶
Запусти поиск по arXiv, Semantic Scholar и OpenAlex по запросу
«adversarial attacks LLM 2023–2025», по 50 результатов на источник.
Claude вызовет search_papers(query, limit=50). По умолчанию
auto_save=True: результаты сохраняются сразу в базу, в ответ
возвращается сводка {saved, duplicates, new_ids, titles}, и тексты
абстрактов в контекст чата не попадают.
Для каждой работы в батче Claude самостоятельно принимает решение и
указывает уровень уверенности через поле reviewed_by (auto_high —
явное совпадение, auto_low — менее определённое), либо откладывает
пограничные случаи на ваше рассмотрение. После каждого батча сохраняется
rolling summary — рабочая сводка объёмом до 500 слов.
5. Snowball¶
После первого прохода подберите дополнительные работы по цитированиям:
Новые работы попадают в состояние unreviewed, сводка помечается
устаревшей. Цикл повторяется до тех пор, пока набор не стабилизируется.
6. План и черновик¶
Claude вызовет save_outline(sections=[...]) с названиями разделов,
привязанными идентификаторами статей и целевыми объёмами в словах.
После утверждения (approve_outline) аналогично строится короткий
черновик — 3–5 предложений на раздел — через save_skeleton(...) и
approve_skeleton(). На этом этапе вы видите общую структуру документа
в объёме порядка 500 слов.
7. Развёрнутый текст по разделам¶
Claude подготовит текст, вызовет check_section_drift для проверки
соответствия плану и сохранит результат через save_section. Затем
запустится субагент academic-reviewer: он читает раздел и абстракты
назначенных статей в изолированном контексте и возвращает структурированный
список замечаний — необоснованные утверждения, некорректные ссылки,
возможные сфабрикованные цитаты, логические разрывы. Вы выбираете, какие
замечания учитывать, и сохраняете пересмотренную версию.
8. Финальная правка¶
Когда все разделы написаны:
polish_document выравнивает переходы между разделами и устраняет
дублирование тезисов. Затем запускается субагент humanizer — он
помечает неестественные формулировки и предлагает замены на уровне
отдельных фраз. Вы принимаете или отклоняете каждое предложение.
9. Компиляция¶
typst compile отрабатывает, и файл review.pdf появляется рядом с
исходником.