3,583 papers
arXiv:2610.32781 84 23 окт. 2026 г. FREE

Quote-Grounded Extraction: каждый факт принимается только с дословной цитатой и проверкой в несколько слоёв

КЛЮЧЕВАЯ СУТЬ
Обнаружено: спроси модель «эта страница подтверждает, что клиент X пользуется продуктом Y?» — и она охотно скажет «да». Один и тот же отзыв на четырёх страницах получил три «да» и одно «нет». Метод Quote-Grounded Extraction позволяет вытаскивать из сайтов и статей факты (кто чей клиент, кто с кем интегрирован), где у каждого факта есть дословная цитата, которую проверяют через Ctrl+F. Один вызов только предлагает кандидатов, другие только проверяют по одному узкому критерию. Если доказательство разорвано (заголовок называет продукт, отзыв называет компанию), включается шаг разрешения ссылки: модель перечитывает всю страницу. Этот шаг более чем вдвое увеличил число найденных связей.
Адаптировать под запрос
⚡

TL;DR

Quote-Grounded Extraction ("заземление цитатой") — это способ вытаскивать факты из текстов так, чтобы им можно было верить. Сначала модель щедро собирает кандидатов и к каждому обязана приложить дословную цитату. Потом факт проходит узкие проверки: цитату ищут в тексте как строку, затем модель перечитывает всю страницу, если цитата называет только одну сторону связи. В конце пять независимых вызовов голосуют по вопросам «да/нет».

Главная боль в том, что на вопрос «подтверждает ли эта страница, что клиент X пользуется продуктом Y?» модель слишком охотно отвечает «да». Одну и ту же фразу она оценивает по-разному: один и тот же отзыв на четырёх страницах получил три «да» и одно «нет». Чем больше текста модель читает и выдаёт за раз, тем хуже результат. При этом лишний «клиент» в списке вредит сильнее, чем пропущенный: он создаёт ложное доверие.

Метод разводит задачи. Один вызов только предлагает (щедро, с цитатой). Другие вызовы только проверяют (узко, по одному критерию). Если доказательство разорвано (отзыв называет больницу, а заголовок называет продукт), включается шаг «прочитай всю страницу». Итоговое решение принимает голосование, а доля «да» служит шкалой уверенности.

🔬

Схема метода

ШАГ 1: Собрать страницы (весь сайт вендора + поиск по вебу с бюджетом) → кэш текста
ШАГ 2: Извлечение (щедрое, 1 вызов на страницу) → связь + дословная цитата
ШАГ 3: Починка цитаты (если склеена из кусков) → цитата из оригинального текста
ШАГ 4: Разрешение ссылки (referent): если цитата называет не обе стороны,
        модель читает ВСЮ страницу → аргумент + да/нет + доказательная фраза из страницы
ШАГ 5: Проверки формы (без модели) → цитата есть в тексте? это организация, а не «больницы» или человек?
ШАГ 6: Панель: 5 одинаковых вызовов × вопросы да/нет → критерий пройден, если «да» ≥ половины
ШАГ 7: Принять с цитатой, URL, временем — или отклонить с кодом причины

Шаги 2–6 — отдельные запросы. Один запрос на всё не заменяет их, потому что метод держится на узости каждого вызова.

🚀

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

Задача: Маркетолог российского SaaS-сервиса готовит сравнение с «Битрикс24». Нужен список реальных клиентов конкурента с доказательствами. Источники: страницы кейсов, пресс-релизы, блог. Ошибка тут опасна: если в презентации назвать клиентом компанию, которая им не является, отдел продаж потеряет лицо.

Типичная проблема таких страниц: заголовок называет продукт («Как X внедрили Битрикс24»), а отзыв ниже называет только компанию («Мы сократили время обработки заявок вдвое»). Ни одна цитата не содержит обе стороны сразу.

Промпт 1 (извлечение, щедрый):

Ты извлекаешь факты о клиентах продукта «Битрикс24» из текста страницы.

Найди все организации, которые, возможно, используют «Битрикс24».
Если формулировка неоднозначна — всё равно включай, решать будем позже.

Для каждой связи верни:
- организация
- цитата: ОДИН непрерывный фрагмент, скопированный из текста дословно.
  Захвати соседний заголовок или предложения, чтобы в цитате
  оказались и название организации, и признак использования продукта
- тип доказательства: кейс / отзыв / логотип / пресс-релиз / другое

Не считай использованием: инвестиции, награды, участие в ассоциации,
партнёрство без внедрения.

Текст страницы:
[вставь текст]

Промпт 2 (разрешение ссылки, читает всю страницу):

Вот страница целиком и утверждение: «Компания {организация} использует
«Битрикс24»».

Прочитай страницу и ответь:
1. Аргумент: что на странице говорит за или против (2-3 предложения).
   Учти, что «мы» в отзыве может относиться к автору отзыва, а название
   продукта может быть только в заголовке.
2. Вердикт: ДА или НЕТ
3. Доказательная фраза: предложение, скопированное со страницы дословно.

Если прямого подтверждения нет — вердикт НЕТ.

Страница:
[вставь текст]

Результат: Промпт 1 вернёт список кандидатов с цитатами, среди них сомнительные. Промпт 2 для каждого сомнительного кандидата даст аргумент, «ДА/НЕТ» и фразу, которую можно проверить поиском по тексту (Ctrl+F). Принимаются только кандидаты с «ДА» и найденной фразой. Дальше пять запусков короткого судьи (шаблон ниже) отсеивают остальные сомнительные случаи.

🧠

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

Слабость модели. Вопрос «подтверждает ли страница это?» провоцирует согласие, и ответ плавает от запуска к запуску. Когда модель читает много и сразу выдаёт много, качество падает. Если просить «найди и сразу проверь», получаешь то и другое хуже.

Сильная сторона. Модель хорошо выполняет узкую задачу с чёткой формой: скопируй фрагмент, ответь «да/нет» на один вопрос. Копирование проверяется простым поиском строки. Результат повторяется, когда ответы нескольких независимых вызовов усредняются.

Как метод это использует. Цитата превращает вопрос «верю ли я модели?» в вопрос «есть ли эта фраза на странице?», а на него отвечает поиск по тексту. Разделение ролей снимает конфликт: извлекатель может ошибаться в сторону щедрости, потому что дальше стоят фильтры. Шаг с разрешением ссылки закрывает главную дыру узких проверок: они теряют доказательства, разбросанные по странице. В экспериментах этот шаг более чем вдвое увеличил число найденных связей.

Рычаги управления: - Число голосов (5) → уменьши до 3 для экономии, увеличь, если ответы всё ещё плавают. - Порог «половина голосов» → подними до «все пять», если ложное срабатывание дороже пропуска. - Список критериев → добавляй по одному вопросу на каждую замеченную ошибку, например «это награда, а не использование». - Объём текста, который видит судья → шире даёт меньше потерь верных фактов, уже даёт меньше шума. В исследовании узкий кусок страницы давал много ложных отказов. - Строгость извлечения → «щедро» для поиска возможностей, «строго» для отчёта, который уйдёт клиенту.

📋

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

Шаблон из трёх промптов, по одному на этап. Критерии судьи в статье приведены в таблице 8, которой нет в доступной части текста. Поэтому ниже примеры критериев по описанию в статье, адаптируй их.

Промпт A — Извлекатель (щедрый):

Ты извлекаешь связи вида «{субъект} {тип_связи} {объект}» из текста.


Найди все связи, которые, возможно, есть в тексте. При неоднозначности
извлекай — решение примем на следующем шаге.



- Для каждой связи дай ОДНУ непрерывную цитату, скопированную из текста дословно.
- Захвати соседний заголовок или предложения, чтобы в цитате были
  оба названия и признак связи.
- Не меняй, не склеивай, не сокращай цитату.



{что НЕ считается связью: например, инвестиция, награда, членство}



Список: [субъект | связь | объект | цитата]


Текст:
{текст}

Промпт B — Разрешение ссылки (читает всё):


Дано утверждение: «{субъект} {тип_связи} {объект}».
Прочитай страницу целиком.



Местоимения («мы», «наша команда») относятся к автору отзыва.
Название продукта может быть только в заголовке или подписи.
{правило_для_типа_страницы: страница самого вендора или чужая}



1. Аргумент: 2-3 предложения
2. Вердикт: ДА / НЕТ
3. Доказательная фраза: дословно со страницы
Нет прямого подтверждения — вердикт НЕТ.


Страница:
{страница}

Промпт C — Судья (запусти 5 раз независимо, каждый раз в новом чате или вызове):

Утверждение: «{субъект} {тип_связи} {объект}»
Фрагмент страницы: {фрагмент_вокруг_цитаты}
Дополнительно (если есть, от предыдущего шага): {аргумент_и_фраза}

Ответь только ДА или НЕТ по каждому критерию:
1. {критерий_1: страница представляет организацию как пользователя продукта?}
2. {критерий_2: субъект — конкретная организация, а не «клиники» вообще?}
3. {критерий_3: связь — не инвестиция, награда или членство?}
4. {критерий_4}
5. {критерий_5}
Формат: номер — ДА/НЕТ — причина в одну строку.

Правило итога: критерий пройден, если «ДА» набрало не меньше половины голосов. Связь принимается, если пройдены все применимые критерии. Доля «ДА» — твоя шкала уверенности: всё ниже порога отправляй на ручную проверку.

Что подставлять: {тип_связи} — то, что ищешь («использует», «интегрируется с», «поставляет»); {NotARelation} — явный список того, что похоже, но не считается; критерии — по одной проверяемой мысли в каждом.

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

Вот шаблон трёхшагового извлечения фактов с цитатами (извлекатель → разрешение ссылки → судья из 5 голосов).
Адаптируй под мою задачу: [твоя задача].
Задавай вопросы, чтобы заполнить поля.

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

LLM спросит, какие связи ты ищешь, что похоже на них, но не считается, и где доказательство бывает разорвано. Эти ответы нужны, чтобы написать список «не считается» и критерии судьи. На них держится точность метода. По остальному она возьмёт паттерн из шаблона.

⚠️

Ограничения

⚠️ Цитата ≠ истина: цитата доказывает только, что страница это заявила. Актуальность и реальность связи она не проверяет. Вендор мог написать про клиента, который давно ушёл.

⚠️ Потеря верных фактов: даже финальная схема пропускает примерно каждый третий верный факт. Чаще всего их отсекает судья, который видит лишь кусок страницы и не видит заголовок «Нам доверяют» над рядом логотипов.

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

⚠️ Разметка делалась моделями: «правильные ответы» проставила одна сильная модель, перепроверила другая. Часть вердиктов пришлось переворачивать, человек читал только выборку.

⚠️ Интеграции хуже клиентов: связи «продукт — продукт» проверяются заметно менее точно, чем «организация — продукт».

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

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

⚠️ Часть статьи недоступна: текст оборван на разделе про доверительный балл. Выводы о длинном контексте, разбросе между запусками и подборе промптов (раздел 6) здесь не разобраны.

🔍

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

Идея была простой: пусть любая связь попадает в граф знаний только с цитатой. Команда взяла 61 продукт для здравоохранения и каталог маркетплейса Elion с ручным списком клиентов и интеграций. Конвейер прошёл по всем страницам: 3284 страницы, 6428 кандидатов. Каждого кандидата разметила сильная модель (читала страницу целиком), а вердикт перепроверила другая модель. Из-за этого 14% вердиктов перевернули.

Метрик две. Против разметки по страницам точность 0.94, полнота 0.71. Против ручного списка каталога всего 0.34 и 0.41. Но из 803 пар, которых нет в списке, 716 (89%) подтверждены страницей. Значит, список неполон, а не метод плох.

Самый наглядный эксперимент был на 266 страницах 21 вендора. Без шага «разрешение ссылки» метод находил 133 связи, с ним — 291. Полнота выросла с 0.36 до 0.81, а точность тоже подросла (0.89 → 0.93). Ручной список этот выигрыш не заметил. Вывод для практики: если меряешь не тем, полезный шаг покажется бесполезным.

Агент поиска по вебу стоил $2.19 на все 61 вендора и нашёл доказательства для 37% клиентов, которых нет на сайте вендора. Из доли голосов панели авторы собрали доверительный балл (простая логистическая регрессия). При той же точности 0.94 он удерживает 0.77 верных связей против 0.63 у жёсткого правила. Одна лишь доля «да» среди пяти вызовов даёт почти тот же результат, что и вся модель. Для практика это значит, что считать голоса важнее, чем придумывать сложные формулы.

Неожиданности: чаще всего верные связи теряет критерий «страница представляет организацию как пользователя». Он зависит от контекста вне цитаты. А примерно одна цитата из одиннадцати оказывалась склейкой из двух кусков: модель пропускала символы между ними.

💡

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

🔧 Техника: расширь контекст судьи → меньше потерь верных фактов

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

Дополнительно: предыдущий шаг прочитал страницу целиком и подтвердил связь. Его аргумент: {аргумент}. Его доказательная фраза: {фраза}. Учти это, но проверь, что фраза действительно есть в фрагменте или логична с ним.

Авторы так и делали: передавали судье аргумент и фразу с пометкой «утверждение предыдущего шага».

Экстраполяция: правила агента-исследователя в системном промпте или CLAUDE.md

В статье такой промпт не проверяли, это перенос идей агентного шага на инструкции:

Ты исследуешь клиентов компании {компания} в вебе.

Лимиты: не больше 25 поисков и 15 прочтений страниц.
Каждый вызов инструмента начинай с одной строки «Причина: …».
Читай только страницы, URL которых вернул поиск.
Не читай: соцсети, сайты вакансий, магазины приложений, агрегаторы {список}.
Каждую найденную связь записывай с дословной цитатой и URL.
Если цитаты нет — связь не записывай.
В конце верни страницы, которые стоит сохранить, и причину по каждой.
🔗

Ресурсы

  • Работа: Every Edge Needs a Quote: Building a Quote-Grounded Knowledge Graph of Healthcare Software Adoption with Language-Model Agents — Juan Felipe Duran, Arthur Tobler, Martin Vallières (McGill University, Montreal; Toboggan Labs). Препринт.
  • Каталог: Elion — elion.health
  • Атрибуция: Rashkin et al. (идея привязки утверждений к источникам)
  • ReAct-агент: Yao et al.
  • Инструменты: LangGraph, OpenRouter, Braintrust, Firecrawl, Graphiti, Neo4j

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

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

Обнаружено: спроси модель «эта страница подтверждает, что клиент X пользуется продуктом Y?» — и она охотно скажет «да». Один и тот же отзыв на четырёх страницах получил три «да» и одно «нет». Метод Quote-Grounded Extraction позволяет вытаскивать из сайтов и статей факты (кто чей клиент, кто с кем интегрирован), где у каждого факта есть дословная цитата, которую проверяют через Ctrl+F. Один вызов только предлагает кандидатов, другие только проверяют по одному узкому критерию. Если доказательство разорвано (заголовок называет продукт, отзыв называет компанию), включается шаг разрешения ссылки: модель перечитывает всю страницу. Этот шаг более чем вдвое увеличил число найденных связей.

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

Это конвейер. Каждый этап делает одно дело и не лезет в чужое. Процесс такой: щедрый сбор кандидатов с цитатой → проверка цитаты как строки (без модели) → перечитывание всей страницы, если цитата называет только одну сторону → пять независимых судей отвечают «да/нет». Цитата превращает вопрос «верю ли я модели?» в вопрос «есть ли эта фраза на странице?». Второй вопрос закрывает обычный поиск по тексту. Доля «да» среди пяти голосов служит шкалой уверенности. Всё, что ниже порога, идёт на ручную проверку.

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

Модель тупит, когда читает много и сразу выдаёт много. Просишь «найди и сразу проверь» — получаешь и то и другое хуже. А вопрос «подтверждает ли страница?» сам толкает на согласие, и ответ скачет от запуска к запуску. Зато модель хорошо делает узкие задачи с чёткой формой: «скопируй фрагмент» или «ответь да/нет на один вопрос». Копирование проверяется поиском строки. Разброс гасится усреднением пяти независимых вызовов. Извлекателю разрешено ошибаться в сторону щедрости, потому что дальше стоят фильтры, а фильтрам не нужно ничего искать. Лишний «клиент» в списке вредит сильнее пропущенного: он создаёт ложное доверие. Цена метода: даже финальная схема теряет примерно каждый третий верный факт.

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

Сбор доказуемых фактов из текстов → конкретно списки клиентов конкурента, интеграции, партнёрства, особенно когда ошибка в списке стоит репутации (презентация, отчёт для клиента, база знаний). Для строгого отчёта ставь порог «все пять голосов». Для поиска возможностей хватит «половины». Не подходит: когда нужна актуальность. Цитата доказывает только, что страница это заявила. Клиент мог давно уйти. Для тысяч страниц нужна автоматизация: вручную в чате метод тянет десятки страниц. Связи «продукт — продукт» проверяются хуже, чем «организация — продукт». Сайты-агрегаторы в исследовании выдавали выдуманные связи, так что такие источники лучше исключать.

Мини-рецепт

1. Собери тексты: сохрани страницы кейсов, отзывов, пресс-релизов и блога в текстовом виде.
2. Запусти щедрого извлекателя: по одной странице за вызов. Пусть берёт всё сомнительное и к каждой связи прикладывает одну дословную цитату с названием организации и признаком использования.
3. Напиши список «не считается»: инвестиции, награды, членство в ассоциации, партнёрство без внедрения. На нём держится точность.
4. Проверь цитаты без модели: ищи каждую в тексте страницы через Ctrl+F. Нет в тексте — отбрасывай. Убедись, что субъект — конкретная организация, а не «клиники вообще».
5. Перечитай страницу целиком: если цитата называет только одну сторону связи, дай модели всю страницу. Пусть вернёт аргумент, ДА/НЕТ и фразу дословно. Нет прямого подтверждения — НЕТ.
6. Позови судью пять раз: каждый раз в новом чате. Задай 3-5 вопросов да/нет, по одной мысли в каждом. Критерий пройден, если «да» не меньше половины.
7. Прими или отклони: принятый факт хранит цитату, ссылку и дату. Отклонённый хранит код причины. Это пригодится, когда добавишь новый критерий под очередную ошибку.

Примеры

[ПЛОХО] : Вот страница. Скажи, правда ли, что компания «Ромашка» использует Битрикс24, и приведи доказательства
[ХОРОШО] : Шаг 1, щедрый сбор: Найди все организации, которые, возможно, используют «Битрикс24». Если неоднозначно — включай. Для каждой дай ОДНУ дословную цитату, захвати соседний заголовок, чтобы были и организация, и продукт. Не считай использованием: инвестиции, награды, членство в ассоциации. Шаг 2, для сомнительных: Вот страница целиком и утверждение: «Компания Ромашка использует Битрикс24». Дай: 1) аргумент за и против в 2-3 предложениях, учти, что «мы» в отзыве — это автор отзыва, а продукт может быть назван только в заголовке; 2) вердикт ДА или НЕТ; 3) фразу со страницы дословно. Нет прямого подтверждения — вердикт НЕТ. Шаг 3, судья (5 раз, в новых чатах): Утверждение: «Ромашка использует Битрикс24». Фрагмент: [вокруг цитаты]. Ответь ДА или НЕТ по каждому пункту: 1) страница представляет организацию как пользователя продукта; 2) Ромашка — конкретная компания; 3) это не награда, не инвестиция и не членство. Формат: номер — ДА/НЕТ — причина в одну строку. Итог: в список конкурентов попадают только связи, где фраза нашлась через Ctrl+F и судьи сказали «да» в большинстве. Остальное идёт на ручную проверку.
Источник: Every Edge Needs a Quote: Building a Quote-Grounded Knowledge Graph of Healthcare Software Adoption with Language-Model Agents
ArXiv ID: 2610.32781 | Сгенерировано: 2026-10-26 15:10

Проблемы LLM

ПроблемаСутьКак обойти
Модель слишком охотно соглашается с утверждениемСпрашиваешь: «Подтверждает ли текст, что X связан с Y?». Модель чаще отвечает «да». Одну и ту же фразу она оценивает по-разному от запуска к запуску. Лишнее «да» опасно: оно создаёт ложное доверие. Проблема касается любой проверки фактов по текстуНе верь одному ответу. Запусти 5 независимых вызовов с одним вопросом. Считай долю «да». Добавь правило: «Нет прямого подтверждения — ответ НЕТ». Требуй дословную фразу из текста
Проверка по куску текста теряет доказательстваНазвание организации стоит в отзыве. Название продукта стоит в заголовке выше. Проверяющий видит только кусок и отвечает «нет». Верные факты отсекаются. Так бывает с отзывами, таблицами, списками логотипов под общим заголовкомЕсли в цитате нет обеих сторон связи, дай модели всю страницу. Попроси: аргумент, затем вердикт, затем фразу со страницы. Подскажи: «"мы" в отзыве — это автор отзыва, продукт может быть только в заголовке»
Задача «найди и сразу проверь» выполняется хуже обеих частейПросишь в одном запросе найти кандидатов и отсеять неверных. Модель читает много и выдаёт много. Поиск становится скупым, проверка небрежной. Качество падает по обоим пунктамРаздели на разные вызовы. Один только ищет, щедро. Другие только проверяют, по одному критерию. Подробнее в методе «Разделение ролей»

Методы

МетодСуть
Разделение ролей: щедрый поиск, потом узкие проверки — меньше пропусков и меньше ложных фактовПервый запрос ищет кандидатов. Пиши: «Если неоднозначно — всё равно включай, решим позже». Следующие запросы только проверяют, по одному критерию. Почему работает: модель сильна в узких задачах с чёткой формой («скопируй», «да/нет»). Ошибка поиска в сторону щедрости не страшна, потому что дальше стоят фильтры. Добавь: явный список «что НЕ считается связью» (награда, инвестиция, членство). Когда да: извлечение фактов, отзывов, сущностей из документов. Когда нет: один короткий вопрос по короткому тексту
Дословная цитата к каждому факту — проверка без доверия к моделиТребуй: «К каждому факту дай ОДНУ непрерывную цитату, скопированную дословно. Не склеивай и не сокращай». Потом ищи цитату в тексте простым поиском (Ctrl+F). Почему работает: вопрос «верю ли я модели?» превращается в вопрос «есть ли эта фраза в тексте?». На второй вопрос отвечает поиск, а не модель. Просьба захватить соседний заголовок помогает уместить в цитату обе стороны связи. Ограничение: цитата доказывает только, что текст это заявил. Актуальность факта она не проверяет
Чтение всей страницы с аргументом перед вердиктом — возвращает разорванные доказательстваБерёшь только сомнительные кандидаты, у которых цитата называет одну сторону. Даёшь модели весь документ и утверждение. Формат ответа: 1. Аргумент (2-3 предложения) 2. Вердикт ДА/НЕТ 3. Доказательная фраза дословно. Почему работает: аргумент заставляет собрать улики из разных мест до вердикта. Фраза снова проверяется поиском. Эффект: находит заметно больше верных связей, иногда вдвое больше, чем проверка по куску. Когда да: отзывы, кейсы, страницы с общими заголовками. Когда нет: связь целиком умещается в одно предложение
Голосование пяти независимых вызовов — доля «да» как шкала уверенностиЗадай один и тот же короткий набор вопросов «да/нет» пять раз. Каждый раз новый вызов или чат. Критерий пройден, если «да» набрало не меньше половины. Факт принят, если пройдены все критерии. Доля «да» показывает уверенность. Всё ниже порога идёт на ручную проверку. Почему работает: ответы одного вызова плавают, а усреднение гасит случайный шум. Настройка: 3 голоса для экономии. Порог «все пять», если ложное «да» дороже пропуска. Не работает: если модель ошибается систематически. Все пять ошибутся одинаково
📖 Простыми словами

Every Edge Needs a Quote: Building a Quote-Grounded Knowledge Graph of Healthcare Software Adoption withLanguage-ModelAgents

arXiv: 2610.32781

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

Это как нанять стажёра проверять отчёты о расходах: если верить ему на слово, компания быстро обанкротится. Он мамой клянётся, что чек был, но показать его не может. Метод Quote-Grounded Extraction включает режим въедливого аудитора: никакого доверия на слово — каждый факт обязан иметь прямую цитату, причём буква в букву.

Схема простая и беспощадная. Сначала модель набрасывает гипотезы, но к каждой связке жестко крепит цитату. Затем включается тупой скрипт и делает посимвольный поиск строки в исходнике: ошиблась хоть в знаке препинания — факт летит в корзину. А в финале запускается консилиум из 5 независимых вызовов, которые анонимно голосуют бинарным «да/нет», чтобы исключить случайные заскоки генерации.

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

Короче: никогда не проси нейросеть «просто извлечь данные» в один проход — она наврёт и не покраснеет. Разделяй сбор и аудит, привязывай всё к цитатам и заставляй модели перепроверять друг друга голосованием. Иначе вместо базы надёжных знаний ты построишь карточный домик, который рухнет при первой же проверке фактов.

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

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

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