TL;DR
Слепота к знаменателю (denominator blindness) — системная ошибка LLM при открытых исследовательских задачах. Когда просишь AI собрать «все» данные о чём-то, оно находит часть, принимает её за весь объём и отчитывается о 100% выполнении. Forage V2 решает это через разделение ролей: отдельный Оценщик (Evaluator) и отдельный Исполнитель (Planner), которые не видят работу друг друга.
Главная находка: AI не может честно оценивать свою собственную полноту. В экспериментах один агент самостоятельно отчитался о 100% охвата при реальных 15.9%. Проблема не в качестве текста — в том, что AI путает «всё, что я нашёл» с «всем, что существует». Это не баг конкретной модели, это структурное следствие совмещения ролей исполнителя и судьи в одном агенте.
Метод работает в два разделённых потока: Оценщик независимо оценивает что значит «полно» и проверяет границы задачи — без доступа к тому, как работает Исполнитель. Исполнитель максимизирует результат, опираясь только на метрики с разрывами, но не на логику оценки. V2 добавляет к этому накопление знаний: после каждого прохода оба агента независимо извлекают уроки в общую базу, которую наследуют следующие запуски.
Схема метода
ПРОГОН N:
Оценщик (старт) → оценивает, что значит "полно", фиксирует знаменатель
↓ (только метрики и пробелы — без кода друг друга)
Исполнитель → собирает данные, заполняет пробелы
↓
Оценщик (проверка) → измеряет охват, ревизирует знаменатель, решает: стоп/продолжить
↓
Повтор до достаточного охвата или лимита раундов
ПОСЛЕ ПРОГОНА:
Оба агента независимо → извлекают уроки в базу знаний (advisory, не правила)
СЛЕДУЮЩИЙ ПРОГОН:
Старт с накопленной базой → сразу рабочее состояние, не с нуля
Важно: в полном виде архитектура требует кода и нескольких файлов. Но ключевые принципы — разделение оценки и исполнения, самопроверочный чеклист, накопление уроков — воспроизводимы в обычном чате отдельными промптами.
Пример применения
Задача: Ты готовишь конкурентный анализ для стартапа в сегменте HR-автоматизации в России. Нужно собрать всех игроков. Стандартный запрос — AI выдаст 10-15 названий и скажет «готово». Половина упущена.
Промпт — Шаг 1 (Оценщик, отдельный запрос):
Ты — Оценщик рынка. Твоя задача НЕ называть компании, а оценить
границы задачи.
Задача для анализа: {рынок HR-автоматизации в России}
Ответь на эти вопросы ДО начала сбора:
1. Какие категории игроков входят в этот рынок? (перечисли типы,
не конкретные компании)
2. По каким критериям компания считается или не считается игроком?
3. Оцени: сколько ВСЕГО компаний должно быть в полном списке?
(диапазон, с обоснованием)
4. Какие ниши или сегменты я могу пропустить, если искать поверхностно?
5. Какие источники дадут наиболее полную картину?
(не ищи компании — только источники)
Закончи фразой: "Знаменатель задачи: примерно Х компаний в Х категориях."
Промпт — Шаг 2 (Исполнитель, новый запрос):
Вот параметры задачи от Оценщика:
{вставить ответ из шага 1}
Теперь собери список. Твоя цель — охватить ВСЕ категории и сегменты,
которые определил Оценщик. Структурируй по категориям.
Промпт — Шаг 3 (Оценщик снова, самопроверка):
Вот собранный список: {вставить результат шага 2}
Ты — Оценщик. Изначально мы ожидали {Х компаний в Х категориях}.
Ответь:
- Какие категории из шага 1 НЕ получили достаточного охвата?
- Какие сегменты явно недопредставлены?
- Нужно ли пересмотреть знаменатель вверх — появились новые категории?
- Оцени реальный охват: сколько % от полного рынка мы покрыли?
НЕ добавляй компании — только укажи пробелы.
Результат:
Шаг 1 даёт явную карту задачи до начала сбора — с реальной оценкой объёма. Шаг 2 собирает данные под эту карту. Шаг 3 честно измеряет пробелы без иллюзии полноты. После шага 3 можно снова пройти шаг 2, прицельно добирая пробелы. База уроков — записывай в отдельный документ: что нашёл, какие источники работают, какие пустые.
Почему это работает
Слабость LLM: Когда AI одновременно выполняет задачу и оценивает, насколько хорошо справился, он использует один и тот же «кадр» для обоих суждений. Найденное становится ориентиром для оценки полноты. Это не обман — это структурная ловушка: нельзя одновременно быть участником и беспристрастным судьёй.
Сильная сторона LLM: Модель хорошо следует ролевым инструкциям. Если явно зафиксировать, что Оценщик НЕ видит как работал Исполнитель — AI честно выстраивает независимую оценку. Роль создаёт когнитивный барьер, которого не было без неё.
Как метод использует это: Разделение в разные промпты (или разные чаты) убирает структурный конфликт интересов. Оценщик оценивает задачу до и после сбора, независимо от того, как именно собирали. Самопроверочный чеклист — вопросы "а не занизил ли я знаменатель?" — форсирует ревизию, которую AI без явного запроса не делает.
Рычаги управления: - Знаменатель — чем конкретнее ты сформулировал ожидаемый объём в шаге 1, тем честнее оценка в шаге 3. Попроси дать диапазон с нижней и верхней границей. - Категории — количество типов игроков в шаге 1 задаёт глубину. Можно попросить Оценщика расширить их явно: «добавь смежные рынки». - Раунды — два прохода (сбор → оценка → точечный досбор) дают заметно лучше одного. - Роль аудитора — вместо "Оценщик" можно написать "скептичный инвестор, который проверяет полноту анализа перед питчем" — роль с личностью работает острее.
Шаблон промпта
Шаг 1 — Оценщик (запускается первым, отдельно):
Ты — Оценщик задачи. Работа: определить границы ДО начала сбора.
Задача: {описание задачи}
Ответь:
1. Какие категории/типы объектов входят в область задачи?
2. Критерии включения и исключения объекта в список
3. Ожидаемый полный объём: {X–Y объектов} — с обоснованием
4. Какие ниши легко пропустить при поверхностном поиске?
5. Лучшие источники для полного охвата (не сами объекты)
Итог: "Знаменатель задачи: {X объектов} в {N категориях}."
Шаг 2 — Исполнитель:
Параметры задачи от Оценщика:
{вывод из шага 1}
Задача: собери {тип объектов} по всем указанным категориям.
Структурируй по категориям из оценки.
Не оценивай полноту — только собирай.
Шаг 3 — Оценщик, аудит:
Исходная оценка: {знаменатель из шага 1}
Собранный список: {результат шага 2}
Проверь:
- Какие категории недопредставлены?
- Какие сегменты пропущены?
- Нужно ли пересмотреть знаменатель вверх?
- Реальный охват: примерно __% от полного объёма
Не добавляй объекты — только укажи пробелы для следующего прохода.
Шаг 4 (опционально) — Исполнитель, точечный досбор:
Оценщик выявил пробелы: {пробелы из шага 3}
Добери только эти сегменты. Не трогай уже собранное.
База знаний (ведёшь вручную):
Задача: {название}
Дата: {дата}
Что работало:
- {источник X} дал наибольший охват по {категории}
Что не работало:
- {источник Y} блокирует / даёт неполные данные
Знаменатель уточнён: {итоговая оценка}
Реальный охват: ~{%}
Плейсхолдеры: {описание задачи} — что именно собираешь и для чего; {тип объектов} — компании, статьи, аргументы, инструменты; {знаменатель} — диапазон из шага 1.
🚀 Быстрый старт — вставь в чат:
Вот шаблон метода Forage для открытых исследовательских задач.
Адаптируй под мою задачу: {твоя задача}.
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит про тип задачи, область поиска и ожидаемый объём — потому что от этого зависит насколько конкретно сформулировать знаменатель в шаге 1. Она возьмёт структуру трёх шагов и адаптирует под твою тему.
Ограничения
⚠️ Открытые задачи: Метод работает для задач с размытым полным объёмом — рынки, конкуренты, источники, аргументы. Для задач с известным ответом (столицы, факты) — избыточен.
⚠️ Ручная оркестровка: Полный метод требует 3-4 отдельных запроса и ручного копирования между шагами. В чате без кода это занимает на 5-10 минут больше стандартного подхода.
⚠️ Перекрёстный перенос знаний: Авторы честно признают: база знаний, накопленная по одной задаче (NVIDIA GPU), не проверялась на других доменах. Работает в рамках одного домена. Придётся вести отдельные базы для разных тем.
⚠️ Знаменатель не верифицируем: Оценщик сам оценивает полноту — у него нет доступа к «реальному ответу». Это лучше, чем ничего, но не гарантия. В экспериментах три независимых прогона сошлись на одном числе (266) — это признак стабильности, не абсолютной точности.
⚠️ Слабые модели без базы знаний: Перенос работает от сильной модели к слабой. Запуск слабой модели без накопленных знаний даёт заметно хуже: разброс 90.7–96.5% охвата против 99.7–100% с базой знаний от более сильной модели.
Ресурсы
- Forage V2: Knowledge Evolution and Transfer in Autonomous Agent Organizations — Huaqing Xie (Independent Researcher)
- Ссылка на V1: Xie [2026] — оригинальная работа по denominator blindness
- Связанные находки: Anthropic [2025b] — наблюдение об агентах, которые "уверенно хвалят посредственную работу"; ByteDance Research WideSearch [2025] — 5.1% реального охвата при высокой уверенности агентов
