3,583 papers
arXiv:2603.02789 74 3 мар. 2026 г. FREE

Image-First извлечение данных из документов: OCR больше не нужен для мощных мультимодальных моделей

КЛЮЧЕВАЯ СУТЬ
Парадокс: стандартный подход «сначала OCR, потом модель» оказался вреден для сильных моделей. GPT-4o и Gemini точнее вытаскивают данные прямо с картинки — без промежуточного распознавания текста. Метод Image-First позволяет загружать скан счёта или договора прямо в чат и получать структурированные данные — без предобработки. Фишка: OCR превращает документ в сплошной поток букв и теряет пространственную структуру — где шапка, где таблица, где итоги. Модель видит картинку и читает документ как человек. Но у Claude наоборот: добавляешь картинку к OCR-тексту — и точность проседает. Для него тестируй оба режима.
Адаптировать под запрос

TL;DR

Мощные мультимодальные модели (GPT-4o, Gemini, Claude) читают документы напрямую с картинки — не хуже, чем если сначала прогнать через OCR. Это значит: загружаешь скан счёта или договора прямо в чат, без предварительного распознавания текста.

Главная ловушка при извлечении данных из документов — размытая инструкция. Неясно описанная структура того, что надо вытащить, порождает ошибки: поле «итого» смешивается с «суммой НДС», строки таблицы объединяются. Модель не угадывает намерения — она следует схеме буквально.

Исследование нашло три рычага, которые вместе поднимают точность: чёткая схема (что именно извлечь и как называется), примеры правильного вывода (few-shot), и инструкции по мышлению (указание думать перед выводом и строго соблюдать формат).


🔬

Схема метода

ШАГ 1 (один промпт): Загружаешь картинку/скан документа
ШАГ 2 (тот же промпт): Указываешь схему полей — что извлечь и как структурировать
ШАГ 3 (тот же промпт): Задаёшь формат вывода (JSON, таблица, список)
ШАГ 4 (тот же промпт): Добавляешь пример правильного вывода + инструкцию думать перед ответом
→ Результат: структурированные данные из документа

Всё выполняется в одном запросе — картинка + промпт.


🚀

Пример применения

Задача: Ты получаешь от поставщика PDF-счёт на оплату. Надо вытащить реквизиты, позиции и суммы — без ручного ввода, прямо в ChatGPT/Claude/Gemini.

Промпт:

Перед тобой фотография/скан счёта на оплату.

Внимательно изучи документ и извлеки данные строго по схеме ниже.
Думай step by step: сначала найди каждое поле визуально, потом запиши значение.

СХЕМА ИЗВЛЕЧЕНИЯ:
Заголовок документа:
- Номер счёта: (как указан в документе)
- Дата выставления: (формат ДД.ММ.ГГГГ)
- Поставщик: (название организации)
- ИНН поставщика:
- Покупатель: (название организации)

Позиции (таблица):
| № | Наименование | Кол-во | Ед. | Цена | Сумма |

Итоги:
- Сумма без НДС:
- НДС (ставка и сумма):
- Итого к оплате:

ПРИМЕР ПРАВИЛЬНОГО ВЫВОДА:
Заголовок:
- Номер счёта: 125
- Дата: 15.05.2025
- Поставщик: ООО «Снабженец»
...

ПРАВИЛА:
- Если поле не найдено — пиши "не указано"
- Суммы — в рублях с копейками
- Не додумывай данные, которых нет на документе
- Проверь итоги арифметически перед выводом

Результат:

Модель пройдётся по документу визуально, найдёт каждое поле по схеме и выведет структурированную таблицу точно в заданном формате. Если поле нечитаемо или отсутствует — укажет «не указано». Суммы проверит арифметически сама.


🧠

Почему это работает

LLM с визуальным восприятием читает документ как человек: видит структуру, шрифты, расположение блоков. OCR же переводит картинку в сплошной текст — и теряет пространственные связи. Строки таблицы превращаются в непонятный поток слов, вложенные ячейки склеиваются.

Мощные модели (особенно Gemini и GPT-4o) умеют интегрировать визуальную структуру и текст одновременно. Это их натуральная сильная сторона. OCR-текст добавляет не дополнительную информацию, а лишний шум.

Промпт работает через три усилителя: - Схема убирает двусмысленность — модель не гадает, что считать «суммой» - Пример вывода показывает формат паттерном, а не словесным описанием - Инструкция думать активирует пошаговую проверку перед финальным ответом

Рычаги управления: - Детальность схемы → чем больше документов разного типа, тем точнее описывай каждое поле - Пример вывода → замени на реальный пример из своей практики — точность вырастет - Правило арифметики → убери, если не нужна проверка; оставь — поймает ошибки модели - «Не додумывай» → критично для юридически значимых документов


📋

Шаблон промпта

Перед тобой {тип документа} (изображение/скан).

Внимательно изучи документ и извлеки данные строго по схеме.
Думай шаг за шагом: сначала найди каждое поле визуально, потом запиши.

СХЕМА ИЗВЛЕЧЕНИЯ:
{блок 1 — название раздела}:
- {поле 1}: ({пояснение формата})
- {поле 2}:
- {поле 3}:

{блок 2 — таблица если нужна}:
| {колонка 1} | {колонка 2} | {колонка 3} |

ИТОГИ:
- {итоговое поле 1}:
- {итоговое поле 2}:

ПРИМЕР ПРАВИЛЬНОГО ВЫВОДА:
{короткий пример заполненной схемы}

ПРАВИЛА:
- Если поле не найдено — пиши "не указано"
- {специфичные правила для типа данных}
- Не додумывай данные, которых нет в документе

Что подставлять: - {тип документа} — счёт, договор, накладная, анкета, таблица - {блок 1} — логические разделы: «шапка», «реквизиты», «данные клиента» - {поле N} — конкретные поля с пояснением формата даты, единиц, написания - {пример} — отрезок реального правильного вывода (3-5 строк достаточно) - {специфичные правила} — формат суммы, язык, округление

🚀 Быстрый старт — вставь в чат:

Вот шаблон для извлечения данных из документов. 
Адаптируй под мою задачу: {твоя задача}.
Задавай вопросы, чтобы заполнить схему.

[вставить шаблон выше]

LLM спросит какие конкретные поля нужны, какой формат вывода предпочтителен и есть ли пример документа — потому что без этого схема останется абстрактной и точность упадёт.


⚠️

Ограничения

⚠️ Тип документа имеет значение: Чем сложнее структура — вложенные таблицы, многоколоночные схемы, рукописные пометки — тем чаще модель ошибается при визуальном считывании. OCR здесь всё ещё даёт преимущество.

⚠️ Модель определяет потолок: Эффект «картинка без OCR работает» устойчиво подтверждается для топовых моделей (Gemini 1.5/2.0, GPT-4o, Nova Pro). Для слабых моделей и открытых (Llama 4) OCR всё ещё помогает — результат без него хуже.

⚠️ Claude ведёт себя иначе: Claude 3.5 Sonnet при добавлении картинки к OCR-тексту теряет точность — вероятно, хуже сшивает два потока. Если используете Claude — тестируйте оба режима.

⚠️ Few-shot в полную силу не проверяли: Исследователи сами признают, что влияние примеров в промпте систематически не тестировалось. Промпт с примером в шаблоне — разумная ставка, но не доказанная цифрами.


🔍

Как исследовали

Команда SAP и Stanford взяла два внутренних корпоративных датасета — документы цепочки поставок (C1) и финансовые документы (C2) — с ручными аннотациями и прогнала через 11 актуальных моделей в трёх режимах: только картинка, только OCR-текст, картинка + OCR. Измеряли F1 — насколько точно модель нашла нужные поля и правильно ли их заполнила.

Интересна была не сама точность, а сравнение режимов. Оказалось: у Gemini и Nova Pro изображение без OCR работает так же хорошо или лучше, чем с OCR. И это воспроизводилось при повторных запусках — не случайный выброс. Зато Pixtral и Claude при добавлении картинки к OCR начинали работать хуже, что исследователи объяснили конфликтом между текстовым и визуальным каналом.

Любопытная деталь: у open-source Llama 4 маленькая модель (Scout, 40T токенов обучения) побила большую (Maverick, 22T токенов). Больше параметров — не всегда лучше, если тренировочные данные беднее. Наконец, команда взяла лучший случай (Gemini 1.5 Pro, image-only) и улучшила промпт — три изменения дали прирост с 76.8% до 78.9%, обогнав все режимы с OCR. Это и стало финальным аргументом: правильный промпт важнее OCR.


💡

Адаптации и экстраполяции

💡 Адаптация для договоров и оферт: Та же схема работает для юридических документов. Схема будет другой — стороны, предмет, сроки, условия расторжения — но механика идентична.

Перед тобой договор (изображение/скан).

Извлеки данные строго по схеме. Думай шаг за шагом.

СХЕМА:
Стороны:
- Заказчик (название, ИНН):
- Исполнитель (название, ИНН):

Предмет договора: (одно предложение — суть обязательства)
Срок действия: (дата начала — дата окончания)
Стоимость: (сумма, валюта, НДС)
Условия оплаты: (предоплата/постоплата, срок)
Штрафные санкции: (если указаны)
Особые условия: (нестандартные пункты, если есть)

ПРАВИЛА:
- Юридические термины переписывай дословно, не перефразируй
- Если пункт неоднозначен — цитируй фрагмент оригинала
- Не указано — если поле отсутствует в документе

🔧 Техника: добавить «проверь себя» → меньше галлюцинаций

После основного извлечения добавь: «Перечитай документ ещё раз. Проверь каждое поле — оно реально есть в тексте? Если нет — исправь на "не указано"». Это снижает риск того, что модель додумает несуществующие данные.


🔗

Ресурсы

Работа: OCR or Not? Rethinking Document Information Extraction in the MLLMs Era with Real-World Large-Scale Datasets

Авторы: Jiyuan Shen, Peiyue Yuan, Atin Ghosh (SAP), Yifan Mai (Stanford University), Daniel Dahlmeier (SAP)

Контакты: jiyuan.shen, peiyue.yuan, atin.ghosh, d.dahlmeier @sap.com · yifan@cs.stanford.edu

Инструмент оценки: VHELM (Vision Language Models Holistic Evaluation) — Lee et al., 2024


📋 Дайджест исследования

Ключевая суть

Парадокс: стандартный подход «сначала OCR, потом модель» оказался вреден для сильных моделей. GPT-4o и Gemini точнее вытаскивают данные прямо с картинки — без промежуточного распознавания текста. Метод Image-First позволяет загружать скан счёта или договора прямо в чат и получать структурированные данные — без предобработки. Фишка: OCR превращает документ в сплошной поток букв и теряет пространственную структуру — где шапка, где таблица, где итоги. Модель видит картинку и читает документ как человек. Но у Claude наоборот: добавляешь картинку к OCR-тексту — и точность проседает. Для него тестируй оба режима.

Принцип работы

Три рычага, которые вместе двигают точность: Схема полей убирает двусмысленность — модель не гадает, что считать «суммой»: итого, НДС или сумма строки. Без схемы она угадывает. Угадывает плохо. Образец вывода показывает формат паттерном — это сильнее, чем словесное описание. «Выведи в JSON» — абстракция. Реальный короткий пример — якорь. Инструкция думать перед ответом запускает пошаговую проверку. Модель сначала находит каждое поле визуально, потом пишет значение — меньше ошибок при сложных таблицах.

Почему работает

OCR — это перевод. Картинку переводишь в текст, теряешь информацию о расположении. Строки таблицы превращаются в непонятный поток. Вложенные ячейки склеиваются. Модель потом пытается восстановить структуру из плоского текста — задача сложнее, чем просто читать картинку. GPT-4o и Gemini обучены читать визуальную структуру и текст одновременно. Картинка для них — не обходной путь, а основной формат документа. OCR к этому ничего не добавляет — только шум. Почему Claude ведёт себя иначе? Вероятно, хуже сшивает два потока сразу — картинку и текст. Когда их два, внимание размазывается. Это не баг документа — это особенность конкретной модели.

Когда применять

Обработка деловых документов — счета, договора, накладные, анкеты, отчёты — особенно когда нужно вытащить структурированные данные в таблицу или JSON. Работает уверенно для GPT-4o, Gemini 1.5/2.0, Nova Pro. НЕ подходит для: — слабых и открытых моделей (Llama 4 и аналоги) — там OCR всё ещё помогает — документов с вложенными таблицами и многоколоночными схемами — модель чаще ошибается — рукописных пометок — их модель читает хуже OCR — Claude 3.5 Sonnet — добавление картинки к OCR-тексту там проседает: тестируй оба варианта отдельно

Мини-рецепт

1. Загрузи картинку напрямую: скан, фото, скриншот — без конвертации в текст. Просто прикрепи файл. Никакого OCR.

2. Опиши схему полей: не просто «извлеки данные», а конкретно — какие разделы, какие поля, в каком формате. Чем сложнее документ, тем детальнее схема.

3. Добавь короткий образец правильного вывода: 3-5 строк из реального заполненного результата. Не описывай словами формат — покажи паттерн.

4. Поставь инструкцию думать: Думай шаг за шагом: сначала найди каждое поле визуально, потом запиши значение.

5. Добавь правила для крайних случаев: Если поле не найдено — пиши «не указано». Не додумывай данные, которых нет в документе. Для юридически значимых документов это критично.

Примеры

[ПЛОХО] : Вытащи данные из этого счёта — без схемы, без образца, непонятно что и в каком формате нужно
[ХОРОШО] : Загружаешь картинку счёта + промпт: Перед тобой скан счёта на оплату. Думай шаг за шагом: сначала найди каждое поле визуально, потом запиши. СХЕМА: - Номер счёта: - Дата: (формат ДД.ММ.ГГГГ) - Поставщик: - ИНН поставщика: Таблица позиций: | № | Наименование | Кол-во | Цена | Сумма | Итого к оплате: ОБРАЗЕЦ ВЫВОДА: - Номер счёта: 125 - Дата: 15.05.2025 - Поставщик: ООО Снабженец ... ПРАВИЛА: поле не найдено — пиши «не указано». Не додумывай данные, которых нет в документе.
Источник: OCR or Not? Rethinking Document Information Extraction in the MLLMs Era with Real-World Large-Scale Datasets
ArXiv ID: 2603.02789 | Сгенерировано: 2026-03-04 05:23

Проблемы LLM

ПроблемаСутьКак обойти
Claude теряет точность при двойном входе: картинка + текст OCRКогда отправляешь Claude одновременно изображение документа и его OCR-текст, точность падает, а не растёт. Модель хуже справляется с двумя потоками вместе, чем с одним. Актуально для Claude 3.5 Sonnet и вероятно для всей линейкиДля Claude — только один формат на выбор. Либо картинка, либо текст. Тестируй оба варианта на своих документах. Не жди, что «больше данных = лучше результат»
📖 Простыми словами

OCR or Not? Rethinking Document Information Extraction in the MLLMs Era with Real-WorldLarge-Scale Datasets

arXiv: 2603.02789

Суть в том, что старая связка «сначала распознаем текст через OCR, потом скармливаем его нейронке» официально отправляется на свалку. Современные мультимодальные модели вроде GPT-4o или Claude 3.5 научились видеть документы напрямую, как мы с тобой. Им больше не нужны костыли в виде текстовых подложек — они анализируют визуальные пиксели, понимая не только буквы, но и то, где они находятся. Это фундаментальный сдвиг: нейронка теперь воспринимает документ как единое целое, а не как мешок с буквами.

Это как если бы ты пытался собрать шкаф из Икеи по аудиозаписи инструкции, где диктор просто зачитывает список деталей и действий. Вроде всё понятно, но картинки нет — и ты тупишь. Раньше OCR превращал стройную таблицу в кашу из слов, убивая всю структуру. Теперь модель просто смотрит на схему и сразу понимает, какой винт куда вкручивать. Визуальный контекст решает всё: положение печати, жирный шрифт заголовка и границы ячеек дают больше инфы, чем голый текст.

Что реально работает в этом подходе: прямое визуальное извлечение (никаких посредников), сохранение пространственных связей (модель видит, что сумма стоит именно напротив этой позиции) и мультимодальный синтез. Исследование на огромных датасетах показало, что топовые модели выдают результат не хуже, а часто и лучше, чем классические OCR-системы. Если раньше таблица со сложной вложенностью была для AI непроходимым лабиринтом, то сейчас это просто понятная картинка.

Тестировали это на чеках, счетах и договорах, но принцип универсален. Эта логика работает для любой фигни, где оформление имеет значение: от рукописных заметок на полях до сложных инфографик и медицинских выписок. Больше не нужно настраивать сложные пайплайны и платить за отдельные сервисы распознавания. Эра OCR заканчивается, наступает эпоха нативного понимания документов. Если твой софт до сих пор сначала «читает» текст, а потом его «думает» — это технологический долг.

Короче: забудь про предварительную обработку сканов и PDF. Просто кидай картинку в модель и проси вытащить данные — результат будет чище, а геморроя в разы меньше. Прямое зрение AI убивает индустрию классического распознавания, потому что оно понимает смысл, а не просто копирует символы. Кто продолжит цепляться за старые парсеры, тот просто будет тратить лишние деньги за худший результат.

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с