Я огненный Овен под Марсом, и даже я не стану делать вид, что будущее можно прочесть с карты. Калиброванная неопределённость делает работу, которую обещает предсказание. Разница видна через полгода, когда то, что ты записал, ещё можно оценить. Деплой, собеседование, переезд, тяжёлый разговор с коллегой. Вопрос один и тот же.
Иллюзия точечных оценок
Самая частая ошибка не в предвзятости. В ложной точности ответа.
Опытный инженер говорит: «Уверен на 70%, что выкатимся до конца Q2». Цифра звучит дисциплинированно. Истории оценок за ней нет. Тот же инженер говорил «70%» и в прошлом квартале, и в позапрошлом, и три раза из четырёх результат оказывался в разных корзинах. «70%» здесь это переодетое в проценты ощущение.
Та же ловушка работает далеко за пределами окна деплоя. Друг «почти уверен», что новый режим сна выдержит рабочую неделю. Знакомый «достаточно уверен», что виза успеет к дате. Основатель «на 70% уверен», что раунд закроется за шесть недель. Журнала прогнозов нет ни за одной цифрой.
Точечные вероятности без журнала это театр. Они носят костюм строгости (десятичная дробь, знак процента), а самой калибровки за ними нет.
Та же беда живёт ниже по AI-стеку. Retrieval возвращает score: 0.83, и команда обращается с ним как с истиной. Модель отдаёт confidence: 0.91, и поверх неё строят процесс утверждения. Ни одна из цифр не сверена с реальными исходами. Поверхностная форма привычки, которой ещё нет.
Лекарство не в том, чтобы перестать пользоваться числами. Пользоваться диапазонами вместо точек, пока журнал калибровки не оправдает точность. «20–35%» защитима. «27%» без журнала это костюм.
Сначала опорный класс, потом история
Вторая по частоте ошибка: начинать с внутреннего взгляда. История проекта, история отношений, история деплоя.
Опорный класс лечит. Изначальная рамка пришла от Канемана и Ловалло, а наиболее жёстко её внедрил Бент Флайвбьорг на больших инфраструктурных проектах: инсайдеры систематически переоценивали успех, а внешние базовые частоты рассказывали историю поспокойнее и поточнее.
Процедура короткая.
- Назови два-четыре класса, к которым относится случай. Не метафорических. Наблюдаемых, со счётными исходами. «Запуски consumer-SaaS соло-основателем без платного привлечения». «Первый внешний наём через реферал в компании до 30 человек». «Друзья, замолчавшие на десять дней после напряжённого разговора». «Инди-романы, доведённые от плана до готового черновика за двенадцать месяцев».
- Оцени априорные шансы целевого исхода по этим базовым частотам. Используй диапазоны.
- Корректируй умеренно (не больше чем на 30–40 процентных пунктов) и только если доказательство по конкретному случаю одновременно сильное и различающее.
- Если подходящего опорного класса нет, уверенность автоматически падает.
Дисциплина живёт в порядке. Сначала запиши априор, потом рассказывай историю. Стоит истории попасть в голову, и каждый класс начнёт казаться «другим в нашем случае», и внешний взгляд рационализируется в ничто. Я делал это с собой на переезде, на собеседовании, на вопросе «приедут ли родители весной». Записать априор до нарратива. Это единственное, что у меня сработало.
Та же дисциплина делает eval-наборы полезными в LLM-системах. Сначала выбираешь опорный набор, потом смотришь на систему. Не наоборот.
Премортемы и фальсификаторы
Премортем оказался самым дешёвым улучшением качества решений из всего, что я запускал. Технику связывают со статьёй Гэри Клейна в HBR за 2007 год. Дисциплина старше. Это намеренная инверсия обычной позы на старте проекта. Работает на переезде, на тяжёлом разговоре с коллегой, на вопросе «потянем ли мы новую аренду из подушки безопасности».
Процедура простым текстом:
1. Сцена: прошло шесть месяцев, проект провалился.
2. Каждый участник пишет в одиночку самую сильную и конкретную причину провала.
3. Зачитываем ответы вслух. Кластеризуем.
4. Каждый кластер становится фальсификатором или смягчающим шагом в живом плане.Складываются два эффекта. Первый. Вопрос «почему провалилось» рождает более честные гипотезы, чем «что может пойти не так», потому что в воображаемой ленте провал уже факт. Никто не спорит, может ли это случиться, спорят только о том, как именно. Второй. Причины, пережившие кластеризацию, превращаются в фальсификаторы: наблюдения, которые, если случатся, означают, что план сломан. Фальсификаторы превращают расплывчатый риск в опережающий индикатор, за которым реально можно следить.
Это стыкуется с тем, как я веду feature flags и постепенные роллауты в агентных системах. Условия выключения флага обычно пишут небрежно. Их нужно писать как фальсификаторы. «Если за две недельные когорты подряд уровень регрессий превысит 4%, роллаут провален и мы откатываемся». Это можно прогнозировать. «Будем приглядывать за регрессиями» нельзя. Та же форма работает за пределами кода. «Если на третий день курса антибиотика появится тошнота, я возвращаюсь к врачу». Это фальсификатор. «Посмотрю, как буду себя чувствовать» нет.
Воздержание считается
Третья частая ошибка: отвечать, когда честный ответ звучит так. «Пока не знаю, и вот что бы это решило».
В большинстве организаций и в большинстве личных разговоров воздержание считается режимом отказа. В дисциплинированном прогнозе это функция. Две причины.
Калибровка. Тот, кто воздерживается на действительно недоопределённых случаях, выдаёт лучшие Brier-метрики, чем тот, кто отвечает на всё пожатым «50%».
Качество решений. Вопрос «какое доказательство это решит?» переводит ситуацию из «что я думаю?» в «куда мне дальше посмотреть?». Это тот вопрос, который реально двигает проекты вперёд и тихо снимает большинство семейных споров о гипотетическом будущем.
Технический аналог, который полезно знать, называется conformal prediction. Доступное описание есть в tutorial Ангелопулоса и Бейтса 2021 года. На выходе не одна метка с уверенностью. Множество меток, гарантированно содержащее истину как минимум в (1 − α) случаев. Один элемент в множестве. Уверенный прогноз. Шесть. Модель честно признаётся: «без новых доказательств я их не различу». Размер множества и есть сигнал воздержания.
Conformal-инфраструктура не нужна. Принцип такой: размер ответа должен соответствовать размеру неопределённости. Короткий однострочный прогноз для уверенного случая. Двух-трёхветочный для среднеизвестного. Явное «воздерживаюсь, потому что X, Y, Z это решат» для недоопределённого. Эта идея соседствует с моим взглядом на безопасность продукта без театра. Отказ ответить иногда и есть самый сильный ответ системы.
Калибровка как привычка
Прогноз не закончен, пока не получил оценку.
Метрика, к которой я возвращаюсь, называется Brier score. Кратко описан на странице Wikipedia. Чем ниже, тем лучше. Ноль идеален. Удобное свойство: метрика раскладывается на калибровку и разрешение. Можно ошибаться потому, что вероятности не совпадают с наблюдаемыми частотами, или потому, что прогнозы не отделяют вероятное от маловероятного. Два разных лекарства.
Чтобы отслеживать калибровку, инфраструктура не нужна. Хватит markdown-таблицы из четырёх колонок:
| Дата | Вопрос | Прогноз | Исход | Заметка |
|------------|-------------------------------------|-------------|---------|-----------------------|
| 2026-03-01 | Кандидат X согласится до 03-15? | 35-50% | да | согласился 03-09 |
| 2026-03-04 | Деплой пройдёт чисто 03-08? | 60-75% | нет | пул соединений к БД |
| 2026-03-09 | Друг ответит в ближайшие 48 часов? | 40-55% | нет | ответил на пятый день |
| 2026-03-12 | Хозяин продлит на тех же условиях? | 55-70% | да | поднял на CPI |Через два месяца записей проступают систематические перекосы. Переоценка темы, в которой «разбираешься». Недооценка темы, которой боишься. Точечные оценки, прячущие широкий разброс. Диапазоны, прячущие отсутствующий опорный класс. Те же перекосы, что вылезают на деплоях, вылезают на хозяевах квартир, на друзьях и на вопросе, окупится ли концерт группы по выручке с входа.
Журнал я держу живым файлом. Новая запись занимает меньше минуты. Дисциплина не в записи. Она в перечитывании, раз в месяц, в спокойное воскресенье, когда прошломесячные прогнозы лежат рядом с прошломесячными исходами.
Если это звучит занудно, альтернатива простая. Версия тебя, которая никогда не узнает, точны ли её прогнозы. Публичные суперпрогнозисты, описанные в Good Judgment Project, в среднем выше остальных по подвижному интеллекту и активной открытости ума. Сильнейший единичный предиктор попадания в топ 2%: привычка постоянно обновлять оценки, примерно втрое сильнее IQ. И они ведут счёт.
Сценарии в простом тексте
Сюжет с одной историей. Самый дорогой default в неформальном прогнозе. «Думаю, нас сольют». «Думаю, раунд закроется за шесть недель». «Думаю, забастовка кончится к пятнице». Одна история со скрытым мотивом подменяет работу по генерации конкурирующих гипотез.
Лекарство: таблица сценариев. Пишется один раз, с тремя-пятью ветками, которые осмысленно конкурируют:
| Сценарий | Диапазон вероятности | Сильнейшее «за» | Сильнейшее «против» | Опережающий индикатор |
|---|---|---|---|---|
| Статус-кво продолжается | 30–45% | послужной список бездействия | недавняя смена стимулов | нет решения в ближайшие 14 дней |
| Осторожное улучшение | 25–35% | мелкие видимые жесты на прошлой неделе | история регрессий | один содержательный запрос отвечен |
| Эскалация или разрыв | 10–20% | паттерн ультиматумов | спокойный недавний тон | одностороннее действие со стороны |
| Стратегическая дистанция | 10–20% | ресурсы явно ограничены | зависимость от этой ветки | падает вовлечённость, не контакт |
| Внешний шок | 5–10% | три конкурента шевелятся | сектор в остальном тих | третья сторона делает вопрос неактуальным |
Та же форма ложится на календарь регулятора, поиск работы, медицинский режим или замолчавшую семейную переписку. Меняешь строки. Колонки остаются.
Два правила оправдывают таблицу.
Диапазоны вероятностей, а не одиночные числа, пока нет журнала, дающего точность. Сумма середин диапазонов должна быть в районе 100%. Точно 100 не выйдет (это диапазоны), но если колонка даёт в сумме 50%, неполной оказалась подборка сценариев, не арифметика.
Один фальсификатор на строку. Сценарий без фальсификатора это желание или страх, не сценарий. Колонка с опережающим индикатором делает работу. Она называет наблюдение, которое если случится на следующей неделе, сместит вероятность ветки вверх или вниз.
Приятный побочный эффект простого текста. Таблицу можно вставить в тред, передать коллеге, скормить модели за вторым мнением, без шага экспорта. Та же текстовая дисциплина, которая делает spec-driven development переживающим переключения контекста, делает то же со сценарными таблицами.
Попробуй на чём-нибудь маленьком
Вся дисциплина рассыпается, если применять её только к редким крупным вопросам. Не накопишь данных для калибровки. Не разовьёшь мышцу. Не узнаешь, какие перекосы твои.
Начни с того, чему можно поставить оценку за две недели. Квартальный ревью, оффер, стыковочный рейс, субботний концерт, который должен окупиться по выручке с входа. Что угодно, чей исход наступит раньше, чем ты забудешь, что делал прогноз.
Если две из трёх через две недели окажутся сильно мимо, урок в зазоре, не в смущении. Перечитай исходные записи. Какой шаг ты пропустил? Начал с истории вместо опорного класса? Дал точечную оценку вместо диапазона? Забыл фальсификатор?
Будущее остаётся непредсказуемым. И это нормально. Задача не в пророчестве. Задача в том, чтобы построить более спокойный и чуть более честный интерфейс к хаотичному миру и оставить достаточно следов, чтобы будущая версия тебя могла поставить оценку нынешним прогнозам и чему-то научиться.
Связанное чтение
- Building agentic AI systems that hold up
- LLM evals in production
- Hallucination prevention in LLM products
- Product safety without theatre
- Spec-driven development
- Как доводить разработку с AI до зелёного CI и не ломать код
- Building legal answering systems