3,583 papers
arXiv:2608.19025 82 19 авг. 2026 г. FREE

Self-Prompting + Cross-Model Consensus: как заставить LLM надёжно извлекать сложные данные из текста

КЛЮЧЕВАЯ СУТЬ
Одна и та же модель, один и тот же промпт, одна и та же статья — точность скачет с 95% до 78% просто от перезапуска. Метод позволяет получать надёжные данные из научных текстов и отчётов, даже когда сама модель непостоянна от запуска к запуску. Фишка: не улучшать промпт до идеала, а размножить прогоны и взять то, что повторилось чаще — 5 запусков + голосование большинством убирает случайный шум, а сверка ответов разных моделей (GPT, Claude, Gemini) ловит системные ошибки.
Адаптировать под запрос

TL;DR

Метод — это связка из трёх приёмов: LLM сама пишет себе рабочий промпт (изучив лучшие практики промптинга и термины предметной области), несколько черновиков промпта объединяются в один «мастер-промпт», а затем извлечение данных запускается пять раз подряд — и берётся тот ответ, который повторился чаще всего. Дополнительно результаты нескольких разных моделей (GPT, Claude, Gemini и др.) сравниваются между собой — там, где модели расходятся, это сигнал: случай спорный, нужен человек.

Главная боль: LLM непостоянна. Один и тот же промпт на одной и той же статье может дать правильный ответ в трёх запусках из пяти и неправильный — в двух. В исследовании только 76% извлечённых значений совпадали во всех пяти прогонах подряд, а у некоторых моделей точность прыгала с 95% в одном запуске до 78% в другом. При этом сырые числа модели находят почти всегда правильно (99%), а вот понять, к какому именно условию относится это число (какой образец, какая температура, какой метод измерения) — получается заметно хуже (81%).

Метод решает это не через более умный промпт, а через повторение и перекрёстную проверку: пять запусков одного промпта + голосование большинством снимает случайный шум, а сравнение нескольких моделей находит систематические ошибки — включая ошибки в исходных данных, которые люди пропустили.

🔬

Схема метода

ШАГ 1 (отдельный запрос модели): Попроси LLM изучить практики промптинга для себя + термины твоей темы → черновик промпта
ШАГ 2: Повтори шаг 1 ещё 2 раза (можно с той же моделью, можно с разными) → 3 черновика
ШАГ 3 (отдельный запрос): Дай модели все 3 черновика → «объедини лучшее из них в один мастер-промпт»
ШАГ 4: Прогони мастер-промпт на своём документе 5 раз (5 отдельных чатов/запусков) → возьми ответ, который совпал минимум в 3 из 5 запусков
ШАГ 5 (опционально, для важных решений): Прогони тот же мастер-промпт в 2-3 разных LLM → если ответы расходятся — это спорный случай, проверяй сам

🚀

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

Задача: Аналитик венчурного фонда разбирает 15 пресс-релизов и годовых отчётов конкурентов, чтобы вытащить в таблицу: выручку, маржинальность, число активных клиентов и валюту/период отчётности. Проблема та же, что в исследовании: сами цифры LLM найдёт легко, а вот привязать их к правильному периоду и валюте (рубли или доллары, квартал или год) — сложнее.

Промпт (шаг 1-3, самописание):

Изучи лучшие практики составления промптов для извлечения финансовых данных из отчётов.
Изучи типовую терминологию финансовой отчётности (EBITDA, маржинальность, ARR, период отчёта).
На основе этого напиши промпт, который извлекает из финансового документа:
выручку, маржинальность, число клиентов, валюту и отчётный период,
с обязательной цитатой из текста, откуда взято каждое значение.
Формат вывода — таблица.

Повтори это 3 раза (можно в новых чатах), затем:

Вот три промпта для извлечения финансовых данных: [вставить 3 черновика].
Объедини лучшие элементы каждого в один финальный промпт.

Результат: На выходе получится готовый мастер-промпт, заточенный под финансовые отчёты. Прогони его 5 раз на каждом отчёте (в идеале — в новых чатах, чтобы избежать влияния контекста), сведи в таблицу и возьми значение, которое совпало минимум 3 раза. Там, где ответы разошлись во всех пяти запусках — это будет сигнал: документ неоднозначный, смотри вручную.


🧠

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

LLM непостоянна между запусками — одна и та же модель может дать разные ответы на одинаковый вопрос, особенно если задача требует не просто найти число, а понять контекст (какому условию оно принадлежит). Это не баг, это природа генерации текста: модель каждый раз собирает ответ немного по-разному.

Но LLM хорошо справляется с механическим поиском и сопоставлением паттернов — числа она находит почти безошибочно. Голосование большинством по пяти прогонам убирает случайный шум: если ошибка случайна, она не повторится 3+ раза, а если систематична (например, модель путает две таблицы) — повторится всегда, и это тоже полезная информация.

Рычаги управления: - Число прогонов (5→3) — для простых задач можно снизить, для критичных решений — увеличить. - Число моделей для перекрёстной проверки — больше моделей = больше шансов поймать ошибку, но дороже по времени. - Требование цитаты рядом с каждым извлечённым значением — заставляет модель показывать, откуда она взяла данные, что упрощает проверку. - Критерий "спорного случая" — можно заменить голосование большинством на "любое расхождение = проверка человеком" для более консервативного подхода.


📋

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

ЭТАП 1 — самостоятельная подготовка промпта:
Изучи лучшие практики промптинга для задачи "{тип_задачи}".
Изучи специфическую терминологию в области "{предметная_область}".
Составь промпт для извлечения из документа следующих данных: {список_полей}.
Для каждого извлечённого значения приведи цитату из текста, откуда оно взято.
Формат вывода: таблица с колонками {список_полей}.

(повторить 3 раза, затем:)

ЭТАП 2 — объединение:
Вот три варианта промпта: {промпт_1}, {промпт_2}, {промпт_3}.
Объедини лучшие элементы каждого в один финальный промпт.

ЭТАП 3 — извлечение (повторить 5 раз на одном документе):
{финальный_промпт}
Документ: {текст_или_файл}

ЭТАП 4 — свод:
Вот 5 результатов извлечения по одному документу: {результат_1...5}.
Для каждого поля укажи значение, которое совпало минимум в 3 из 5 случаев.
Если совпадений меньше 3 — отметь как "спорное, нужна проверка человеком".

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

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

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

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


⚠️

Ограничения

⚠️ Контекстная классификация слабее числовой: модель почти всегда правильно находит само число, но заметно чаще ошибается, определяя, к какому именно условию (образцу, методу, периоду) это число относится. Не доверяй классификации контекста без проверки.

⚠️ Самописанный промпт хуже промпта эксперта: даже лучшая модель, сочиняя себе промпт, теряла несколько процентов точности по сравнению с промптом, написанным человеком-экспертом. Самопромптинг — это "почти хорошо", не "равно хорошо".

⚠️ Автономный поиск источников ненадёжен: если попросить модель самой найти нужные статьи/документы (а не просто обработать те, что ты дал), она либо пропустит большинство релевантных источников, либо начнёт придумывать несуществующие ссылки. Документы для анализа лучше предоставлять самому.

⚠️ Больше вывода — не значит лучше: некоторые модели выдают много "лишних" строк данных, которые не отвечают на вопрос напрямую. Это создаёт видимость полноты, но добавляет работу по ручной фильтрации.

⚠️ Метод требует времени: пять прогонов на документ плюс этапы самопромптинга — это не один запрос, а серия действий. Для быстрых разовых задач это избыточно.


🔍

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

Команда взяла 18 настоящих научных статей 1980-2000-х годов о связывании кальция с белком тропонин — сложную тему с устаревшей терминологией, данными вразброс по таблицам и текстам, и даже отсканированными изображениями вместо текста. Семь топовых моделей (GPT, Claude Opus, Gemini, Qwen, Kimi, GLM, DeepSeek) тестировали через обычный браузерный интерфейс — то есть так, как работает большинство людей, а не через API.

Каждый из четырёх сценариев (экспертный промпт → самописанный промпт → автономный поиск источников → создание нового датасета в другой области) прогонялся по пять раз, а результаты сравнивались с эталонным набором данных, собранным людьми. Любопытная деталь: сами люди-эксперты не всегда соглашались друг с другом — их оценки совпадали лишь в 79% случаев, что показывает: даже "истина" в сложных научных задачах местами субъективна.

Главный неожиданный результат — точность одной и той же модели могла скакать почти на 17 процентных пунктов между запусками, и именно это оправдывает мажоритарное голосование по пяти прогонам как практический стандарт, а не излишество.


🔗

Ресурсы

Romanov V., Bax M., Niederer S. "Self-prompting and cross-model consensus enable reproducible data extraction from scientific literature with large language models". Imperial College London, University of Cambridge, Stanford University.


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

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

Одна и та же модель, один и тот же промпт, одна и та же статья — точность скачет с 95% до 78% просто от перезапуска. Метод позволяет получать надёжные данные из научных текстов и отчётов, даже когда сама модель непостоянна от запуска к запуску. Фишка: не улучшать промпт до идеала, а размножить прогоны и взять то, что повторилось чаще — 5 запусков + голосование большинством убирает случайный шум, а сверка ответов разных моделей (GPT, Claude, Gemini) ловит системные ошибки.

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

Не пытайся написать идеальный промпт с первого раза — заставь модель саму изучить практики промптинга и термины темы, написать 3 черновика, а потом объединить их в мастер-промпт. Дальше — не верь одному ответу, прогони мастер-промпт 5 раз и бери значение, которое совпало минимум в 3 из 5. Совпало 3+ раза — можно доверять, разошлось везде — сигнал для проверки человеком.

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

Числа модель находит почти идеально — 99% точности. А вот понять, к какому образцу, условию или периоду это число относится — уже 81%, и здесь модель начинает путаться. Случайная ошибка не повторится в 3 запусках подряд, а системная — повторится всегда, и это тоже полезная информация. Голосование большинством не делает модель умнее, оно просто отсеивает шум от сигнала.

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

Извлечение структурированных данных из документов → научные статьи, финансовые отчёты, пресс-релизы, особенно когда важно не просто найти цифру, а правильно привязать её к условию (образец, период, валюта, метод измерения). НЕ подходит для быстрых разовых задач — метод требует 5+ прогонов и несколько этапов подготовки промпта, это не вопрос-ответ за 10 секунд.

Мини-рецепт

1. Пусть модель сама себе напишет промпт: попроси изучить практики промптинга + термины твоей темы, повтори 3 раза — получишь 3 черновика.
2. Слей черновики в один: дай модели все 3 варианта, попроси объединить лучшее в мастер-промпт.
3. Прогони 5 раз: запусти мастер-промпт на документе в 5 разных чатах (не в одном — чтобы избежать влияния контекста).
4. Голосуй большинством: для каждого поля бери значение, которое совпало минимум в 3 из 5 прогонов.
5. Для важных решений — сверь модели: прогони тот же промпт в 2-3 разных LLM. Расхождение = спорный случай, проверяй сам.

Примеры

[ПЛОХО] : Извлеки из этого отчёта выручку, маржинальность и число клиентов — один запрос, один прогон, веришь первому ответу.
[ХОРОШО] : Изучи лучшие практики извлечения финансовых данных. Составь промпт для выручки, маржинальности, числа клиентов, валюты и периода, с цитатой из текста для каждого значения — повтори 3 раза, объедини в мастер-промпт, прогони 5 раз на отчёте, возьми значение, совпавшее минимум 3 раза. Где разошлось везде — смотри отчёт вручную.
Источник: Self-prompting and cross-model consensus enable reproducible data extraction from scientific literature with large language models
ArXiv ID: 2608.19025 | Сгенерировано: 2026-08-20 05:22

Проблемы LLM

ПроблемаСутьКак обойти
Одна и та же модель даёт разные ответы на одинаковый запросСпрашиваешь модель дважды про один и тот же документ — получаешь разные значения. Это не баг, а природа генерации текста: модель каждый раз собирает ответ немного по-другому. Из-за этого нельзя доверять одному прогону при извлечении данныхПрогони один и тот же запрос 5 раз (в новых чатах). Возьми значение, которое совпало минимум в 3 из 5 запусков. Случайная ошибка не повторится столько раз, систематическая — повторится всегда
Модель путает, к какому условию относится найденное значениеСамо число или факт модель находит почти всегда правильно. А вот привязать его к правильному контексту — какому образцу, периоду, методу оно принадлежит — получается заметно хуже. Проблема для любой задачи, где нужно не просто найти данные, а разложить их по правильным ячейкам таблицыТребуй цитату из текста рядом с каждым извлечённым значением — так проще проверить привязку. Дополнительно сравни ответы 2-3 разных моделей: расхождение — сигнал, что контекст спорный, нужна проверка человеком
Модель ненадёжно ищет документы самаЕсли попросить модель самостоятельно найти нужные статьи или отчёты (а не дать их напрямую), она либо пропускает большинство релевантных источников, либо выдумывает несуществующие ссылкиНе проси модель искать документы. Находи и предоставляй их сам, а модели давай только задачу извлечения данных из уже готового текста

Методы

МетодСуть
Мажоритарное голосование по нескольким прогонамПрогони один и тот же промпт на одном документе 5 раз в отдельных чатах. Собери все 5 ответов и возьми значение, которое встретилось минимум 3 раза. Почему работает: случайная ошибка модели не повторится в большинстве прогонов, а систематическая ошибка (например, путаница двух таблиц) повторится почти всегда — и это тоже полезный сигнал. Когда применять: нужна точность в извлечении данных, есть время на 5 прогонов. Когда не работает: разовая простая задача, где скорость важнее точности
Перекрёстная проверка разными моделямиПрогони одну и ту же задачу в 2-3 разных моделях (например, GPT, Claude, Gemini). Сравни ответы. Почему работает: у разных моделей разные систематические слабости — если все сходятся, ошибка менее вероятна; если расходятся — это явный сигнал спорного случая, включая случаи, где исходные данные сами по себе неоднозначны. Когда применять: важные решения, где ошибка дорого стоит. Когда не работает: нет доступа к нескольким моделям или бюджет ограничен
Модель сама пишет себе промптПопроси модель изучить лучшие практики промптинга и термины предметной области, затем составить рабочий промпт под задачу. Повтори это 3 раза (можно в новых чатах) — получишь 3 черновика. Дай их все модели с просьбой «объедини лучшее в один финальный промпт». Почему работает: несколько независимых черновиков покрывают разные формулировки и нюансы задачи, объединение сохраняет лучшие элементы каждого. Когда применять: незнакомая предметная область, нет эксперта для написания промпта. Когда не работает: есть промпт от человека-эксперта — он всё равно точнее
Требование цитаты рядом с каждым значениемВ промпте явно проси: «для каждого извлечённого значения приведи цитату из текста, откуда оно взято». Почему работает: заставляет модель показать источник данных, а не просто выдать число — это резко упрощает проверку правильности и привязки к контексту. Когда применять: любая задача извлечения данных из текста. Когда не работает: задачи без исходного текста (генерация, а не извлечение)

Тезисы

ТезисКомментарий
Модель находит данные легче, чем понимает к чему они относятсяСамо число или факт — это механическое сопоставление паттернов, модель делает это почти без ошибок. А привязка числа к правильному условию (образцу, периоду, методу) требует понимания структуры документа и связей между частями текста — здесь точность заметно ниже. Применяй: при извлечении структурированных данных всегда отдельно проверяй не только сами значения, но и их привязку к контексту — например, через обязательную цитату или перекрёстную проверку моделями
📖 Простыми словами

Self-promptingand cross-modelconsensus enable reproducible data extraction from scientific literature withlargelanguagemodels

arXiv: 2608.19025

Большие языковые модели постоянно лажают на извлечении сложных данных не из-за глупости, а из-за случайной природы генерации. Модель легко находит цифру, но путает контекст: привязывает выручку не к тому кварталу или путает валюту. Главная проблема здесь — нулевая воспроизводимость: один прогон выдаёт норму, а на втором начинается галлюцинаторный цирк, где данные собираются от балды.

Это как посадить пятерых стажёров за мутный финансовый отчёт и попросить каждого выписать маржу. Если 4 из 5 назвали одно и то же число — ты спокойно берёшь его в работу. Но если ответы разошлись, тут без вариантов: включается ручной контроль, потому что помощники явно запутались в хитрых формулировках.

Чтобы не страдать, используют связку из трёх шагов. Сначала нейросеть сама формулирует себе чёткую инструкцию через self-prompting, изучив термины области, и собирает черновики в один мастер-промпт. Дальше ты делаешь 5 прогонов подряд и забираешь результат простым большинством голосов. Финальный фильтр — cross-model consensus: прогоняешь задачу через разные LLM вроде GPT, Claude и Gemini, а человека зовёшь только тогда, когда модели не договорились между собой.

Авторы тестировали эту схему на зубодробительных научных статьях, но принцип абсолютно универсален. Связка идеально ложится на финансовые отчёты, венчурный due diligence, парсинг договоров и вытаскивание метрик конкурентов из PDF. Везде, где цена ошибки в одной цифре — слитый бюджет, этот пайплайн отсекает 95% рутины без написания сложного кода.

Хватит верить первому попавшемуся ответу ChatGPT и надеяться на волшебный идеальный промпт. Связка из авторских промптов и консенсуса нескольких LLM превращает нестабильную нейронку в строгий измерительный прибор. Забирай готовые данные на автомате, а людей оставляй только на разруливание спорных моментов.

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

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

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