TL;DR
AuditForecast — техника, которая заставляет LLM сначала посчитать базовую вероятность через понятную модель или историческую статистику, а потом добавлять к ней отдельные поправки за конкретные новости и факторы — каждую поправку как отдельное число, а не как часть общего впечатления. Финальный прогноз получается не угадыванием, а умножением: базовые шансы × поправка1 × поправка2 × ...
Когда вы просите LLM (или человека-аналитика) оценить вероятность события, она обычно перечисляет аргументы за и против в прозе, а потом выдаёт число — 65%, просто потому что "показалось". Спросите тот же вопрос ещё раз, и получите 55% или 75% — никакой стабильности, никакой возможности понять, откуда взялась цифра. Хуже того: один и тот же факт может незаметно "засчитаться" два раза — один раз в общей картине, второй раз как отдельный аргумент, и итоговая уверенность окажется завышенной.
AuditForecast решает это в три шага: сначала фиксируется базовая вероятность от понятной модели или референсного класса похожих случаев, потом отдельно ищутся факторы, которые эта база НЕ учла, и каждому присваивается множитель ("усиливает ДА", "усиливает НЕТ" или "нейтрален"), а в конце все множители механически умножаются на базовые шансы.
Схема метода
ШАГ 1 (Базовая вероятность):
Определить референсную модель / базовую статистику для вопроса → p0 (число от 0 до 1)
ШАГ 2 (Поиск факторов вне базы):
Найти факторы, которые модель из шага 1 НЕ учитывает
→ проверка "это точно не входит в базу?" (scope check)
→ проверка "этот фактор не повторяет уже учтённый?" (independence check)
→ список отдельных факторов с доказательствами
ШАГ 3 (Оценка и умножение):
Каждому фактору — множитель:
>1 = усиливает "ДА"
<1 = усиливает "НЕТ"
=1 = нейтрален
→ Финальные шансы = (базовые шансы) × (множитель1) × (множитель2) × ...
→ Перевести шансы обратно в вероятность
Все три шага можно выполнить в одном промпте — LLM способна вести рассуждение по этой структуре последовательно, без внешних инструментов.
Пример применения
Задача: Оценить вероятность, что ЦБ РФ снизит ключевую ставку на ближайшем заседании — классический вопрос, которым завален весь деловой Telegram перед каждым заседанием.
Промпт:
Оцени вероятность, что ЦБ РФ снизит ключевую ставку на следующем заседании.
Действуй по такой структуре:
ШАГ 1. БАЗОВАЯ ВЕРОЯТНОСТЬ:
Определи разумную базовую модель — например, консенсус-прогноз аналитиков,
или историческую частоту снижений ставки в похожих условиях инфляции.
Дай базовую вероятность p0 и объясни, на чём она основана.
ШАГ 2. ФАКТОРЫ ВНЕ БАЗЫ:
Перечисли факторы, которые эта базовая оценка ещё НЕ учитывает —
например, последние заявления представителей ЦБ, свежие данные по инфляции,
курс рубля за последнюю неделю.
Для каждого фактора проверь:
— Это действительно не входит в базовую оценку?
— Этот фактор не повторяет уже названный?
ШАГ 3. МНОЖИТЕЛИ И ИТОГ:
Для каждого фактора дай множитель:
>1 если усиливает вероятность снижения, <1 если снижает эту вероятность,
=1 если нейтрален. Обоснуй каждое число.
Переведи базовую вероятность в шансы (p/(1-p)), умножь на все множители,
переведи обратно в вероятность. Покажи весь расчёт.
Результат: Модель выдаст структурированный отчёт из трёх частей: сначала базовую вероятность с обоснованием (например, "консенсус аналитиков даёт 30%"), затем список из 2-4 факторов с явными числовыми множителями и объяснением каждого, и в конце — открытый расчёт (шансы × множители = финальные шансы → финальная вероятность). Вы увидите не просто цифру, а весь путь, как она получена, и сможете поспорить с любым конкретным шагом.
Почему это работает
Когда LLM просят просто "дай вероятность", она смешивает все аргументы в одно общее впечатление — это похоже на то, как человек, взвесив кучу за и против в голове, называет число, которое просто "звучит правильно". Проблема в том, что такое число нестабильно и непрозрачно: спроси ещё раз — получишь другое, и никто не поймёт, почему.
Зато LLM хорошо справляется с узкими, конкретными подзадачами: назвать базовую статистику, отдельно оценить один фактор, сравнить его с уже названными. Каждая такая мини-задача — это не "общее впечатление", а конкретное решение с понятными входами.
Метод берёт эту сильную сторону и строит на ней процесс: вместо одной большой размытой оценки — цепочка маленьких точных решений (какая база? какой фактор? какой множитель?), которые потом механически перемножаются. Ошибиться в одном шаге легко заметить и исправить, ошибиться во всём "впечатлении" — невозможно даже обнаружить.
Рычаги управления: - Строгость базовой модели — для простых вопросов достаточно "исторической частоты похожих случаев", для сложных стоит попросить LLM явно описать формулу или модель. - Число факторов — ограничьте до 2-3 для быстрой прикидки, разрешите больше для важного решения. - Шкала множителей — задайте свою: например, "используй только 0.5/1/1.5/2/3" вместо произвольных чисел — так проще сравнивать факторы между собой. - Проверка на независимость — если видите, что два фактора описывают, в сущности, одно и то же (например, "рост инфляции" и "риторика ЦБ про инфляцию"), явно попросите модель объединить их — иначе вероятность может исказиться в одну сторону.
Шаблон промпта
Оцени вероятность события: {вопрос о будущем событии}.
Действуй по такой структуре, не смешивай шаги:
ШАГ 1. БАЗОВАЯ ВЕРОЯТНОСТЬ:
Найди подходящую базовую модель или референсный класс похожих случаев
для этого вопроса. Дай базовую вероятность p0 и объясни на чём она основана.
Если есть {дополнительные данные}, используй их для расчёта.
ШАГ 2. ФАКТОРЫ ВНЕ БАЗЫ:
Перечисли факторы, которые базовая оценка ещё не учла.
Для каждого фактора проверь:
— Это правда не входит в базовую оценку из шага 1?
— Этот фактор не дублирует уже названный?
ШАГ 3. МНОЖИТЕЛИ И ИТОГ:
Для каждого фактора дай множитель к шансам:
>1 усиливает "да", <1 усиливает "нет", =1 нейтрален. Обоснуй числа.
Переведи p0 в шансы, умножь на все множители, переведи обратно в вероятность.
Покажи весь расчёт явно.
Подставляй: {вопрос о будущем событии} — конкретное бинарное событие с датой (не "будет ли компания успешной", а "выйдет ли компания на прибыль до конца года"); {дополнительные данные} — любые цифры, которые у вас есть под рукой (курсы, статистика, отчёты).
🚀 Быстрый старт — вставь в чат:
Вот шаблон структурированного прогнозирования AuditForecast. Адаптируй под
мою задачу: {опиши свой вопрос о будущем событии}.
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит, какую базовую модель разумно использовать для вашего конкретного вопроса и есть ли у вас свежие данные — потому что без этого шаг 1 нельзя выполнить точно. После уточнений она проведёт вас по всем трём шагам с вашими реальными данными.
Ограничения
⚠️ Нужен явный численный или референсный якорь. Метод работает хуже для вопросов без естественной базовой модели — например, субъективных оценок ("будет ли фильм хорошим"). Для таких случаев шаг 1 превращается в такое же гадание, от которого метод должен избавлять.
⚠️ Риск двойного счёта остаётся на совести проверки. Если LLM не заметит, что фактор из шага 2 уже "спрятан" в базовой модели шага 1, множитель задвоит один и тот же аргумент и завысит уверенность. Явно просите модель перепроверять это на каждом факторе.
⚠️ Точность базы зависит от свежести знаний модели. В исследовании модель искала актуальные данные через веб-поиск в реальном времени. В обычном чате без доступа к интернету базовая вероятность может опираться на устаревшие данные — для быстро меняющихся тем (курсы валют, новости) подкладывайте свежую информацию сами.
Ресурсы
AuditForecast: A Structured Scaffold for Agentic Forecasting — Yuanpu Cao, Yongkang Du, Yurui Chang, Lu Lin, Jinghui Chen, Pennsylvania State University. Тестировалось на живых площадках прогнозирования Polymarket, Kalshi (через ProphetArena) и на бенчмарке FutureX, с моделями GPT-5.4, GPT-5.4-mini и Gemini-3-flash.
