ИИ-анализ PDF: как это устроено и как получить максимум
Что реально происходит с файлом после загрузки: почему документ уходит в модель целиком, что делается с теми, кто не влезает, и почему договор разбирается по другому алгоритму.
Вопрос, который задают про анализ документов чаще всего: он правда читает файл целиком или выдёргивает случайные предложения, как сервисы разбора текста десятилетней давности? Ответ зависит от того, что происходит между загрузкой и результатом, и это можно объяснить конкретно, без общих слов про искусственный интеллект. Ниже разбор пути документа от PDF до готового анализа: сколько текста реально доходит до модели, что происходит с файлом, который не помещается, как устроен поиск по документу в чате, и почему договор идёт по совершенно другому маршруту, чем научная статья.
Что делает анализатор PDF
Вы загружаете файл, сервис возвращает структурированный разбор: обзор, разбивку по разделам, ключевые тезисы и цифры. Рядом появляется чат по документу. Принципиальный момент, который отличает это от сервисов прошлого поколения: модель не выдёргивает первые предложения абзацев и не считает частоту слов. Она читает текст и разбирается, как он устроен, где заканчивается один раздел и начинается другой, какой пункт кому подчинён. Именно поэтому пункт 3.2 в результате оказывается внутри раздела 3, а не рядом с ним.
Короткая инструкция: как проанализировать PDF
Кто реально этим пользуется
Файл, который попадает в анализатор, бывает разным: научная статья на 40 страниц, годовой отчёт на 300, список литературы к курсу, техническое задание, отчёт для клиента, который к концу дня должен превратиться в брифинг на два абзаца. Разбор, чат и объяснение простыми словами работают одинаково независимо от типа документа, потому что модель читает структуру и смысл, а не подстраивается под жанр файла. Меняется то, что вы спрашиваете дальше: исследователю нужен аргумент и доказательства под ним, аналитику нужны цифры и их источник в тексте, студенту нужен материал, который реально можно пройти за ночь перед экзаменом, менеджеру продукта нужно техзадание, превращённое в три пункта, по которым можно действовать, не открывая исходный файл.
Что на самом деле значит «читать структуру»
Документ с нумерованными разделами, вложенными пунктами или приложением, которое переопределяет термин из второго раздела, для читателя, который знает формат, не выглядит стеной абзацев, и модель работает так же. Ссылка «см. примечание 14» в финансовом отчёте связывается с самим примечанием, а не остаётся оторванной цитатой. Указатель «см. 3.2» внутри седьмого раздела технического задания попадает в разбор на нужное место, а не выбрасывается как шум. В этом и есть разница между чтением и сопоставлением предложений по образцу: второй подход считает каждый абзац одинаково не связанным с остальными, а большинство реальных документов устроены ровно наоборот, и не случайно.
Весь документ уходит в модель целиком
Это главное, чего обычно не ожидают, поэтому с цифрами. У модели, которая стоит за анализом, окно контекста примерно на миллион токенов входа. Сервис использует из него около 786 тысяч, оставляя запас на служебную часть запроса и на погрешность оценки длины. 786 тысяч токенов это порядка полумиллиона слов. Для сравнения: «Война и мир» это около 580 тысяч слов. То есть почти любой реальный документ, договор на 80 страниц, диссертация, годовой отчёт, уходит в модель одним куском, целиком, без нарезки. Модель видит весь текст сразу и поэтому может связать вывод на 200-й странице с оговоркой на 12-й. Стоит такой запрос порядка восьми центов, и это не та величина, ради которой стоило бы экономить на полноте.
Как вытащить цифры из длинного отчёта, не потеряв, откуда они
В годовом отчёте на 200 страниц прогноз по выручке лежит в резюме для руководства, реальная разбивка по кварталам — в таблице на 60-й странице, а сноска на 140-й меняет то, как эту цифру нужно читать. Именно так сноска и теряется, если резать документ на куски для анализа: кусок 6 не знает, что существует кусок 14. Поскольку весь отчёт уходит в модель одним проходом, вопрос в чате про прогноз выручки поднимает и таблицу, и сноску вместе, а не только тот кусок, где случайно встретилось слово «выручка». Та же логика работает для раздела методологии научной статьи и её результатов или для условий договора и приложения, которое тихо переопределяет одно из них.
Что происходит с документом, который не влезает
Если текст всё-таки длиннее лимита, включается map-reduce. Документ режется на куски примерно по 250 тысяч токенов с перекрытием в полторы тысячи, каждый разбирается отдельно, потом результаты сводятся в один анализ. Перекрытие нужно, чтобы мысль, разорванная границей куска, не потерялась в обоих. Это заметно хуже единого прохода: на стыке кусков модель теряет часть связей, потому что вторую половину аргумента она читает уже без первой перед глазами. Поэтому map-reduce включается только тогда, когда иначе никак, а не как основной режим. На практике до него доходят единицы документов из сотни.
Что такое 200+ страниц на практике
Двести страниц звучат как случайный порог, пока не представить, что в него на самом деле попадает: докторская диссертация, полный комплаенс-регламент, год ежемесячных отчётов, сшитых в один файл, PDF размером с роман, который кто-то экспортировал со сканера. Всё это укладывается в один проход с запасом: бюджет — это порядка полумиллиона слов, а типичный документ на 200 страниц занимает где-то 60–100 тысяч слов. Map-reduce, запасной режим для того, что не влезает, нужен для более редкого случая: многотомный отчёт или год расшифровок, сшитых в один файл, что-то в районе миллиона слов и больше.
Уровни детализации меняют не то, что вы думаете
Краткий, средний и подробный уровень управляют длиной ответа, а не длиной прочитанного. Модель в любом случае получает весь документ, меняется только бюджет на выход: примерно 16 тысяч токенов на кратком, 32 тысячи на среднем и около 60 тысяч на подробном. Разница практическая: «краткий» не значит «модель прочитала по диагонали», это значит «прочитала всё и написала сжато». Путаница тут стоит дорого. Люди ставят подробный уровень в надежде, что тогда модель прочитает внимательнее, хотя читает она одинаково, а меняется только развёрнутость.
Договор идёт по другому маршруту
Обычный разбор устроен так: выбрать из документа главное. Для статьи это ровно то, что нужно. Для договора это катастрофа. Пункт про неустойку не входит в «главное» по мнению модели, если весь остальной документ про поставку оборудования, а именно этот пункт стоит вам денег. Поэтому для юридических документов в сервисе отдельный режим, который устроен наоборот: не выбрать важное, а вытащить всё. Каждый пункт, каждое обязательство, без отбора по важности. Внутри у извлечённого пункта лежит и дословный текст из документа, и пересказ простыми словами, и категория (обязательство, право, платёж, расторжение, неустойка, конфиденциальность, применимое право, разрешение споров), и пометка о серьёзности.
Пометка о серьёзности ничего не отфильтровывает
Про эту пометку надо сказать отдельно, потому что она выглядит как фильтр и им не является. Каждому пункту проставляется уровень внимания: высокий, средний, низкий. Он влияет только на то, как пункт показан. Он никогда не используется, чтобы пункт выкинуть. В исчерпывающем режиме в результат попадают все пункты независимо от пометки. Логика простая: если бы модель решала, какой пункт договора вам не нужен, это был бы ровно тот режим отбора важного, ради ухода от которого весь этот маршрут и сделан.
Как включить разбор договора
В настройках разбора есть галочка «Это юридический документ». Ставьте её для договоров, соглашений и NDA: она включает исчерпывающий режим, который разбирает документ по каждому пункту, а не выбирает главное. Галочка — единственный способ включить исчерпывающий режим: без неё договор уйдёт по обычному маршруту, потому что сервис не пытается угадать по тексту или имени файла, юридический это документ или нет.
Договоры и юридический режим настолько частая причина заходить в PDF-анализатор, что для них есть отдельное полное руководство: как разбираются пункты, что означает пометка о риске, как обрабатываются длинные контракты.
Полное руководство по анализу договора
Длинный договор: сегменты по 60 тысяч токенов
Исчерпывающий разбор упирается не во вход, а в выход. Модель может прочитать хоть полмиллиона слов, но выписать все пункты подряд она успевает примерно на 65 тысяч токенов ответа, дальше ответ обрывается. Поэтому решение о нарезке принимается по прикидке объёма выхода: если ожидаемый ответ укладывается, договор разбирается одним запросом. Если нет, он режется на сегменты примерно по 60 тысяч токенов с перекрытием в две тысячи. Перекрытие тут больше, чем в обычном map-reduce, и причина буквально записана в коде рядом с константой: разорвать пункт договора пополам недопустимо. В обычном тексте потерянная на стыке фраза это неприятность. В договоре это потерянное обязательство.
Повторное чтение при длинных сегментах
Если модель выписывает пункты сегмента и упирается в потолок ответа на середине, сервис замечает обрыв, разрезает этот сегмент пополам и перечитывает каждую половину заново. Если и половина не укладывается, она режется ещё раз, и так до трёх уровней вглубь. Это дольше и дороже, чем принять первый ответ как есть, зато список пунктов договора остаётся полным: ни один пункт не теряется молча из-за потолка на ответ модели.
Если сегмент всё-таки не разобрался
Отказы случаются: модель вернула мусор вместо структуры, отвалилась сеть, что угодно. Тут тоже есть выбор между тихим и громким провалом. Сервис вставляет на место несработавшего сегмента заметный маркер с высоким уровнем внимания и прямым текстом: этот кусок, страницы такие-то, разобрать автоматически не удалось, посмотри его руками. Провалившийся сегмент виден в результате. Он не исчезает так, будто там ничего и не было.
Почему пункты не задваиваются на стыках
Логичный вопрос после двух предыдущих разделов: если сегменты перекрываются на две тысячи токенов, пункты из зоны перекрытия попадут в оба сегмента. Так и есть, и поэтому при сборке результата дубли выбрасываются: пункты сравниваются по заголовку и по началу дословного текста, приведённым к общему виду. Важная тонкость, тоже записанная в коде: выбрасываются только почти точные повторы, которые появились именно из-за перекрытия. Это не отбор «неважного», два разных пункта с похожими формулировками оба останутся. Заодно на собранном результате находятся перекрёстные ссылки: пункты, которые ссылаются на другие пункты. Это ровно то место, где договоры и подкладывают свинью, когда общий раздел переопределяется приложением.
Чат по документу: поиск по смыслу
Сразу после успешного анализа по документу строится поисковый индекс, отдельно от самого анализа. Текст режется на куски примерно по 500 токенов с небольшим перекрытием, каждый превращается в вектор, набор чисел, кодирующий смысл, а не буквы. Когда вы задаёте вопрос в чате, он тоже становится вектором, и в модель уходят шесть кусков, ближайших к нему по смыслу. Отсюда главное практическое следствие: запрос про «расторжение» находит пункт про «прекращение обязательств», хотя ни одно слово не совпало. Индекс живёт сутки и удаляется вместе с несохранённым анализом.
Как получить от чата больше, чем ответ на один вопрос
Чат не ограничен одним вопросом об одном факте. Попросите перечислить все места, где встречается конкретный термин или цифра по всему документу, сравнить два раздела между собой или набросать краткий план одной части для своих заметок. Каждый ответ опирается на тот же поиск по всему документу, поэтому уточняющий вопрос не требует заново пересказывать контекст, как при вставке текста в обычный чат-бот. Лимит в два, четыре или неограниченное число вопросов по тарифу действует на весь разговор про документ, а не на то, насколько узко сформулирован каждый вопрос.
Против Ctrl+F и чтения по диагонали
Где анализатор выигрывает безоговорочно, так это отбор: решить, какие из двадцати PDF во входящих заслуживают внимания, или сориентироваться в длинном отчёте перед тем, как читать нужные разделы. Ctrl+F быстрый и бесплатный, но находит только те слова, которые вы уже знаете. Он не ответит, в чём главный аргумент статьи, и не найдёт пункт об ответственности, если он назван иначе. Конкретный пример: поиск по слову «неустойка» пропустит пункт, который называется «заранее оцененные убытки», и пропустит его именно тогда, когда это важнее всего. Разбор читает пункт по тому, что он делает, а не по тому, как назван, и относит его к нужной категории независимо от формулировки, которую выбрал автор договора. Где анализатор проигрывает: документ, на который надо опереться абсолютно точно. Договор перед подписанием читают целиком, и разбор тут отправная точка, а не замена чтению.
Как получить лучший результат по формату файла
Лучше всего работают файлы, экспортированные из текстового редактора: Word, Google Docs, LaTeX. В таких файлах разметка уже есть, и структура достаётся аккуратно. Для сканов и фотографий документа результат зависит от качества распознавания текста: простой тест перед загрузкой: попробовать выделить текст мышкой. Если выделяется, файл текстовый и разбирается по максимуму точно. Сложные таблицы с объединёнными ячейками, схемы и диаграммы разбираются по содержанию текста; для проверки конкретных цифр из таблицы удобно уточнить их в чате. Скан, сфотографированный под углом или на телефон с низким разрешением, распознаётся хуже, чем та же страница, пропущенная через планшетный сканер или выгруженная встроенным сканером офисного принтера, потому что качество распознавания текста целиком зависит от чёткости исходного изображения, а не от того, что происходит на этапе анализа. Если тест с выделением текста мышкой ничего не даёт, это сигнал поискать скан почище, а не рассчитывать, что разбор компенсирует то, что дал бы обычный текстовый слой.
Объяснение вместо краткого разбора
Отдельный сценарий, который путают с кратким разбором: проблема не в длине документа, а в плотности. Три страницы медицинского заключения или патентной формулы читаются дольше, чем тридцать страниц отчёта. Сокращать тут нечего, нужно переложить на человеческий язык. Это другой запрос к модели и другой результат.
Как объяснить PDF простыми словами
Разобраться со статьёй, на внимательное чтение которой нет времени
Плотный раздел методологии или результат, перегруженный доказательствами, не нужно сокращать. Его нужно пересказать простым языком, и это другая задача, чем краткий разбор. Попросите чат провести через конкретный раздел, доказательство или незнакомый термин так, как спросили бы коллегу по лаборатории, который уже прочитал статью. Ответ строится на тексте и обозначениях именно этой статьи, а не на общих знаниях модели о теме, поэтому объясняет, что утверждает конкретно эта работа и как она к этому приходит, а не общий учебниковый пересказ темы.
Список литературы к курсу перед экзаменом
Хрестоматия курса или стопка заданных глав сжимается в такой же разбор, как и любой другой документ: обзор, структура по разделам, тезисы, которые реально стоит запомнить. Основную работу здесь делает чат, потому что подготовка к экзамену — это в основном вопросы, а не чтение: попросите объяснить термин, который никак не укладывается, разобрать пример из текста другим способом или собрать все упоминания одного понятия по всей длинной главе. Трёх разборов в сутки на бесплатном «Учебном» тарифе хватает, чтобы проходить по главе за вечер, не платя ничего.
Превратить отчёт в то, что можно передать дальше
Отчёт для клиента или техническое задание обычно нужно превратить в нечто короче для того, кто оригинал читать не будет: брифинг, три пункта для летучки, резюме для письма. Большую часть этой работы уже делает разбор по разделам, а короткая версия по одному разделу, одному требованию или одному решению, запрошенная в чате, избавляет от пятого за неделю перечитывания источника. Если результат дальше должен попасть в документ, готовый разбор выгружается сразу в DOCX или Markdown, без перепечатывания с нуля.
Сравнение нескольких документов
Каждый анализ разбирает один документ и держит по нему один чат. Чтобы сравнить несколько отчётов, разберите каждый отдельно, а затем сопоставляйте уже готовые разборы между собой. Так проще держать в голове источник каждого тезиса. Частый случай: три предложения от поставщиков или четыре квартальных отчёта подряд, где реальная задача — найти, что изменилось между ними. Разобрать каждый отдельно и читать готовые разборы рядом получается быстрее, чем открывать все четыре PDF и искать глазами абзац, который сдвинулся.
Один PDF, несколько документов, сшитых вместе
Договор с приложениями, отчёт вместе со всеми аппендиксами, набор форм, сшитый в один файл перед загрузкой: всё это не нужно предварительно разбивать. Модель читает файл целиком так, как он структурирован, включая заголовки разделов, и разбор отражает эту структуру, а не считает 80 страниц приложения продолжением основного текста. Если вопрос в чате касается конкретной части, упоминание нужного приложения или аппендикса в вопросе даёт более точный ответ, чем вопрос про документ вообще.
Как получить точный результат
Что реально влияет. Загружайте текстовый PDF, а не скан, если есть выбор: это влияет сильнее всех остальных пунктов вместе взятых. Для договора ставьте галочку юридического режима руками, особенно если документ на русском. Не жмите подробный уровень в надежде на внимательность, читает модель одинаково. Если анализ упустил нужное, не перезапускайте его целиком, спросите в чате: поиск по смыслу найдёт кусок, который не попал в краткий разбор.
Языки и перевод
Документ на одном языке, а разбор нужен на другом, это обычная ситуация: английская статья, разбор по-русски. Перевод происходит внутри того же прохода, отдельным шагом его заказывать не нужно. Чат тоже отвечает на языке вопроса независимо от языка документа. Исчерпывающий режим для договоров от языка вообще не зависит: он включается только галочкой «Это юридический документ», а не разбором ключевых слов, так что работает одинаково что для английского контракта, что для русского. Техническая спецификация на немецком, которую нужно разобрать по-английски, или договор на испанском, который срочно нужно понять русскоязычному офису, — оба случая проходят один и тот же единственный проход: модель читает документ на исходном языке и пишет разбор на том языке, который вы попросили, без отдельного шага перевода документа перед анализом.
Что важно знать перед началом работы
Разбор отражает содержимое документа как есть: если в тексте написана неточность, она попадёт и в разбор, потому что модель пересказывает документ, а не проверяет факты внешним источником. Для договоров разбор ускоряет чтение и раскладывает пункты по полочкам, но финальную юридическую оценку того, что конкретный пункт значит в связке с остальными, должен делать человек.
Экспорт результата
Готовый разбор выгружается в PDF, DOCX и Markdown на тарифе Pro. Markdown удобен, если разбор едет в заметки или вики, DOCX, если его дальше правят руками.
Что происходит с файлом
Несохранённый анализ вместе с поисковым индексом удаляется через сутки автоматически. Сохранённый живёт, пока вы сами его не удалите. Текст документа уходит в модель через провайдера, иначе она не смогла бы по нему ответить, и так устроен любой сервис этого класса. Здравое правило: документы под настоящим NDA не грузите никуда, включая нас. Договор, который вам и так прислали на согласование, это риск другого порядка.
Лимиты по тарифам
Гость без регистрации: один документ в сутки, до 5 МБ, два вопроса в чате, результат не сохраняется. Бесплатный «Учебный» после регистрации: три документа в сутки, до 15 МБ, четыре вопроса, результаты сохраняются. Pro: без лимита на количество документов и вопросов, файлы до 300 МБ, экспорт в PDF, DOCX и Markdown. Мегабайты плохо переводятся в страницы: текстовый PDF на триста страниц может весить пару мегабайт, а скан десяти страниц все двадцать.
Какой тариф подходит, зависит от того, как часто документы вообще появляются на столе, а не от того, насколько важен конкретный файл. Проверить сервис на одном файле, договоре, который только что прислали, отчёте, который нужен сегодня, укладывается в гостевой доступ без каких-либо обязательств. Глава или документ в день на протяжении семестра или загруженного квартала — это ровно то, под что сделан «Учебный», и он бесплатен постоянно, а не как пробный период с датой окончания. Pro окупается, когда документы перестают быть редкостью: ежедневные отчёты, стопка договоров за неделю, всё, где дневной лимит становится реальным узким местом, а не сама работа.
Какая модель под капотом
Gemini 2.5 Flash Lite через OpenRouter. Не самая мощная модель на рынке, и это осознанный выбор. Для задачи «прочитать документ, понять структуру, вернуть разбор» разница между быстрой моделью и самой тяжёлой заметна на редких случаях: противоречивая структура, узкий жаргон нескольких областей сразу. Для обычного договора или отчёта эта разница не окупает пятикратную разницу во времени ответа. Зато миллион токенов контекста у этой модели позволяет то, ради чего всё и затевалось: не резать документ на куски.
С чем сравнивать
Сравнения с другими сервисами вынесены на отдельную страницу, вместе с тарифами и с тем, что входит в каждый. Держать их здесь смысла нет: это руководство про то, как устроен разбор.
Cruxly: тарифы и сравнение с аналогами
Частые ошибки
Грузить скан и ждать точности текстового PDF. Не ставить юридическую галочку на русском договоре и получить обычный общий анализ вместо разбора по пунктам. Считать уверенный тон признаком точности: тон у модели всегда уверенный. Принимать разбор договора за юридическое заключение. Задавать чату вопросы, на которые уже ответил анализ.
Если из всего этого запомнить один пункт, пусть это будет разница между двумя маршрутами. Обычный разбор выбирает из документа главное, и для статьи или отчёта это именно то, что нужно. Разбор договора вытаскивает всё подряд, потому что там понятие «главное» определяете вы, а не модель. Всё остальное, перечитывание недобравших сегментов, перекрытия, маркеры на месте провалов, растёт из одной мысли: молча потерянный пункт договора выглядит точно так же, как отсутствующий. Возьмите документ, который сейчас лежит нечитанным, и прогоните его. На договоре не забудьте галочку.
Частые вопросы
Попробуйте на своём документе
Загрузите PDF и получите структурированный анализ за пару минут, без регистрации.