Моя хитроумная модель не смогла обыграть подбрасывание монеты
Я построил нечто изощрённое и втайне этим гордился. Оно делало множество хитроумных вещей. В нём был заключён огромный объём труда. А потом я наконец прогнал тот единственный тест, которого месяцами избегал: я сравнил его с самой тупой из возможных альтернатив. И тупая альтернатива справилась примерно так же.
Это сравнение оказалось, если оглянуться назад, одним из самых полезных, что я сделал за весь проект. И оно же было тем, что я инстинктивно откладывал; а когда я понял, почему именно я его избегал, я осознал кое-что неуютное о том, как я сам себя обманывал.
Базовый уровень, который я всё откладывал
Базовый уровень — это тривиальная, бездумная альтернатива всему тому, что вы построили. Наивный вариант по умолчанию. Очевидная тупая штука. Версия, не содержащая ни капли хитроумности — подбросить монету, сделать самое скучное, что только можно, или попросту не действовать. Это тот пол, который ваша изощрённость обязана превзойти; планка, которая говорит: «ты должен сработать хотя бы вот настолько хорошо, чтобы вообще иметь хоть какую-то заслугу».
Я всё откладывал свой. Всегда находилась причина — сперва добавить ещё фич, ещё что-нибудь подкрутить, базовый уровень подождёт. Но за всеми этими причинами какая-то часть меня уже подозревала, что он покажет, и не хотела этого выяснять. Уклонение от базового уровня было не оплошностью. Это было, теперь я могу признать, тихим актом самозащиты.
Изощрённость — это не то же самое, что ценность
Ловушка, в которую я угодил, проста: путать сложность с вкладом. Моя система была замысловатой. Она делала хитроумные вещи хитроумными способами. Она была зримым, неоспоримым результатом огромных усилий. И ничто из этого — ни на йоту — не является доказательством того, что она и впрямь лучше подбрасывания монеты.
Вот что мне далось дольше всего. Усилие ощущается как ценность. Изощрённость ощущается как ценность. Сам объём вложенной мысли ощущается так, будто он непременно должен был что-то породить. Но ощущения — это не измерения. Единственное, что устанавливает, стоит ли чего-нибудь ваша хитроумность, — это то, обыгрывает ли она ту альтернативу, которую вы могли бы получить бесплатно. Пока вы не прогнали это сравнение, вся ваша изощрённость недоказана, как бы внушительно она ни выглядела.
Сравнение, которого я избегал
Так что я наконец его прогнал. Я взял наивный базовый уровень — версию без всей моей выстраданной машинерии — и поставил его результаты рядом с результатами моего замысловатого творения. Они оказались примерно одинаковыми. Месяцы накопленной изощрённости почти ничего не дали мне сверх тривиального варианта по умолчанию, написать который заняло один вечер.
Это было обескураживающе так, что трудно передать. Но это был и, безо всякой конкуренции, самый информативный единичный результат, который я получил за долгое время. Потому что он сказал мне нечто правдивое и важное, о чём я старательно не спрашивал: моя сложность не отрабатывала своего содержания. Вся эта замысловатая работа была, судя по данным, украшением. И куда лучше узнать это из дешёвого сравнения, чем ещё год продолжать строить поверх допущения, будто твоя хитроумность помогает.
Почему базовый уровень не подлежит обсуждению
Вот принцип, который мне следовало усвоить с самого начала: число в отрыве от контекста не значит ничего. «Оно достигло вот столько» — это не утверждение, несущее хоть какую-то информацию, пока вы не можете завершить фразу «…по сравнению с чем?». Базовый уровень и есть это «по сравнению с чем». Это то, что превращает бессмысленное абсолютное число в осмысленное относительное.
Без базового уровня вы попросту не способны отличить настоящий вклад от замысловатого шума. А в отсутствие такого сравнения человеческая природа гарантирует, что вы почти всегда разрешите неопределённость в свою пользу. Вы посмотрите на свой внешне впечатляющий результат и решите, что он впечатляющий, — ведь вы его сделали, и это было трудно. Базовый уровень — это то, что вас останавливает. Это разница между знанием и надеждой.
Сложность должна отрабатывать своё содержание
Я вынес из этого что-то вроде правила. Каждая частица изощрённости в системе обязана оправдывать собственное существование, доказуемо обыгрывая то более простое, что она собой заменила. Если сложный компонент не может обыграть тупой базовый уровень, то это вовсе не изощрённость. Это просто дорогое украшение — и хуже, чем нейтральное, потому что оно добавляет издержки, хрупкость и поверхность для багов, не давая ничего взамен.
Правильный вариант по умолчанию — простой. Сложность — это долг, который вы на себя берёте, и, как любой долг, он должен быть выплачен результатами, а не приятным ощущением, что построил нечто замысловатое. Сложная вещь, не обыгрывающая простую, строго хуже простой, потому что вы платите больше за то же самое — или за меньшее — и называете лишние издержки прогрессом.
Базовый уровень как проверка эго
Если честно, самая глубинная причина, по которой я так долго избегал прогонять базовый уровень, в том, что базовый уровень — это, по сути, машина для протыкания вашей гордости. Ему всё равно, сколько часов вы потратили. Он совершенно безразличен к тому, насколько изящна ваша архитектура, насколько хитроумен ваш подход, насколько много себя вы вложили. Он задаёт один плоский, беспощадный вопрос — «и впрямь ли всё это помогло?» — и довольно часто ответ, который он возвращает, — нет.
Именно поэтому он так ценен. Базовый уровень — самое дешёвое из доступных лекарств от самообмана, а самообман — одна из самых дорогих болезней, какие можно носить в себе в этой работе. Прогонять его больно, и боль — в этом и суть. Сравнение, которое вы меньше всего хотите провести, очень часто и есть то, в котором вы больше всего нуждаетесь.
Более глубокий урок: начинай с тупого, заслужи сложность
Так что я вывернул весь свой процесс наизнанку. Теперь я стараюсь сперва построить самую тупую штуку, какая в принципе могла бы сработать, честно её измерить и относиться к этому измерению как к планке. Всё более изощрённое, что я мог бы добавить впоследствии, обязано взять эту планку, чтобы оправдать своё место в системе. Если не может — ему там не место, как бы сильно я его ни любил.
Большинство моих самых хитроумных идей, подвергнутые этому испытанию, планку не взяли. И то, что я узнал это рано — прежде чем выстроил целые соборы дальнейшей сложности поверх них, — сберегло мне колоссальное количество впустую потраченных усилий. Скромный базовый уровень, от которого я месяцами уклонялся, оказался одним из самых ценных моих инструментов. Просто так вышло, что именно он говорил мне правду, — а это ровно та причина, по которой я и не хотел им пользоваться.
— Никаких сигналов, никакой доходности, не является инвестиционным советом.