ESPNPackers LB Zaire Franklin leads NFL Week 6's best arrivalsESPN DeportesAsí vivimos Rays vs Guardians, J5 Serie de CampeonatoCNN TürkVictoria Secret Fashion Show Saat Kaçta? Victoria Secret Fashion Show Hangi Kanalda, Nereden İzlenir?The Jerusalem PostIsraeli national wanted in $16.7 million Dubai fraud case arrested in ColombiaPunchGbadamosi reacts to controversial loss at African Boxing Champs한겨레[단독] 41억 철도 공사의 비밀… 탈락한 사장님의 ‘위장취업’ZDF heuteAktuelle Pressemitteilungen des ZDFUOLLula pergunta a Flávio sobre advogar para assassino de criança; Flávio defende advocaciaColliderShrek Officially Returns With New ReleaseThe Sydney Morning HeraldMeet the new Kerrigans: The Castle stage show’s cast revealedCBC NewsThe National | Alberta military base tragedyImpress Watchシチズン、グラデーションダイヤルのレトロなクロノグラフ
The Daily Newsstand · Free, Always
Monday, October 19, 2026

67 логических ошибок

Translate

Достаточно, часто при коммуникации Вам, мой читатель, встречались манипуляции из разряда "сегодня в школу не пошел, завтра в университет, потом на работу не устроишься и тебя аннигилируют на Солнце", ну или "мир существует потому что есть растения, растения существуют потому что есть мир" и прочие такие приколы. Нутро подсказывает, что что-то тут не так, и есть инструменты позволяющие разобраться в этом лучше. Причём стоит понимать, что логика она нужна и может быть везде: в речи, в программировании, в электрике и сантехнике, поэтому нужно начать хотя бы с суждений.

Содержание

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

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

Небольшое введение

6 лет назад мне довелось прочитать "Риторика" от Аристотеля, тогда я лучше стал понимать силлогистику (раздел науки о построении умозаключений) как таковую, больше я уделял внимание софистике (мышление логическими ошибками) и после в долгий ящик забросил это дело. Однако, на практике применяю постоянно, так как логика позволяет не давать Вами в большинстве случаев манипулировать за счет различения энтимем и прочих софизмов. Понятное дело, что чашу как Сократу выпить Вам не предложат древние греки, но вопросы более точно задавать сможете. Причём без понимания логики в программировании, коммуникации или менеджменте развиваться труднее. Например руководителю или инженеру важно понимать связь между сказанным у коллег, чтобы точнее интерпретировать вопрос, суждение или просто-напросто распознавать ложь.

Натыкался вот на такой видос, где рассматривали логические ошибки с позиции политики и экономики, поэтому там форма чуть более развлекательная, а вот коллегам программистам хочется дать предметный инструмент, поэтому материал изначально выпущен и продублирован на портале, где коллекционирую знания, но я так подумал, что на хабре ему также имеет место быть (причем я что-то подобное встречал, ну повторенье - Мать ученья, Вы всегда можете задизлайкать в щи эту публикацию, главное чтобы материал Вам пригодился).

Категории ошибок

Можно выделить следующие категории логических ошибок:

  • Атака на человека: разбирают не довод, а того, кто его высказал: происхождение позиции, тон, биографию, право говорить.

  • Увод в сторону: предмет спора подменяют другим более удобным, более громким или таким, на который нельзя возразить, не выглядя плохо.

  • Схема вывода: ломается сама форма рассуждения: посылка выдаётся за вывод, следствие за причину, незнание за доказательство.

  • Обобщение и границы: незаконный переход между уровнями: от частного к общему, от части к целому, от непрерывного к двум вариантам.

  • Причины и данные: неверный вывод из наблюдений: о причине, о вероятности, о выборке. Семья, на которой ломаются разборы инцидентов.

  • Язык и авторитет: довод опирается не на утверждение, а на слово, которым его назвали, или на источник, от которого оно исходит.

Категории ошибок: Атака на человека

Переход на личность (argumentum ad hominem · ad hominem · argumentum ad personam):

Тезис и его автор разные объекты проверки. Ad hominem подменяет вопрос "на чём держится утверждение" вопросом "что за человек его произнёс". Сведения о человеке бывают релевантны, когда тезис опирается на его свидетельство, квалификацию или интерес, но тогда вывод ограничен доверием к источнику и звучит как "нужна независимая проверка", а не "утверждение ложно". Признак ошибки: если убрать характеристику автора, от возражения не остаётся ничего.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

В счёте за квартиру дважды посчитана вода.

Ты в цифрах всегда путаешься, тебе ли считать.

Прошлые ошибки в подсчётах не меняют содержимого квитанции: строки либо задвоены, либо нет, и это видно любому, кто откроет счёт, независимо от того, кто первым заметил.

Ситуация на работе

Что ответить

На ревью замечание о гонке при доступе к общему кешу закрывают фразой "ты у нас три месяца, ещё не видел нашей нагрузки".

Стаж автора замечания не отменяет отсутствия синхронизации: гонка либо воспроизводится тестом с двумя параллельными записями, либо нет.

Допустим, я в этом регулярно ошибаюсь. Посмотри конкретно эти две строки - что в них не так?

Сам такой (tu quoque · argumentum ad hominem tu quoque · appeal to hypocrisy):

Требование объявляют несостоятельным на том основании, что сам требующий его нарушает.

Непоследовательность человека это факт о человеке, а не о норме. Из того, что советующий не следует собственному совету, следует максимум оценка его дисциплины; обоснование самого совета остаётся ровно там, где было. Претензия при этом не бесполезна: в споре о справедливом применении правила ссылка на исключения релевантна, потому что там обсуждается не истинность нормы, а её равномерность. Различие проходит по вопросу диалога: "верно ли правило" или "одинаково ли оно применяется".

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Не стоит есть на ходу, потом полдня тяжесть в желудке.

Ты сам вчера доедал бутерброд по дороге.

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

Ситуация на работе

Что ответить

Предложение "на каждый багфикс заводить регресс-тест" встречают ответом "а сам вчера смержил хотфикс без теста".

Нарушение автором правила это отдельная тема про равные исключения для всех; вопрос, ловит ли регресс-тест повторное появление бага, этим ответом не затронут.

Верно, вчера правило нарушил я. Тогда закроем исключения для всех, включая меня. По самому правилу возражения есть?

Соломенное чучело (straw man · straw man argument):

Позицию заменяют более удобной для опровержения версией, опровергают замену и объявляют вопрос закрытым.

Опровержение попадает по формулировке, которую автор не выдвигал. Подмена бывает нескольких видов: усиление ("иногда" превращается во "всегда"), ослабление точного критерия до расплывчатого, выбор самого слабого представителя позиции, цитата без оговорок об области и времени, склейка позиций разных людей в одну. Надёжный признак: победа объявлена, а исходная формулировка ни разу не была воспроизведена. Проверка в том, чтобы сформулировать позицию так, чтобы её автор с формулировкой согласился.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Предлагаю раз в неделю сверять расходы по карте.

То есть теперь надо записывать каждую жвачку и жить с калькулятором в руке.

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

Ситуация на работе

Что ответить

"Обязательное ревью для изменений в модуле биллинга" на встрече превращается в "вы хотите согласовывать каждую строчку и остановить релизы".

Дальше обсуждают уже остановку релизов; охват только биллинг или весь репозиторий не уточняется ни разу.

Это не мой тезис. Мой такой: … . Возражай ему или скажи, что в моей формулировке непонятно.

Ну или: я этого не говорил, я говорил: ...

Генетическая ошибка (genetic fallacy · fallacy of origins · argumentum ad originem)

Утверждение принимают или отвергают по происхождению, а не по содержанию.

Происхождение идеи - свидетельство о процессе её получения: кто был заинтересован, насколько тщательно проверяли, какие данные были доступны. Это влияет на приоритет проверки, но не заменяет саму проверку. Ошибка возникает, когда после указания на источник содержание уже не рассматривают. Отдельно стоит provenance данных: там источник датасета прямо определяет репрезентативность и законность использования, и ссылка на происхождение работает как аргумент по существу.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Соль лучше добавлять ближе к концу варки.

Это бабушкина примета, у неё половина советов взялась ниоткуда.

Происхождение совета говорит о том, насколько его проверяли, но не о том, меняется ли время размягчения овощей в солёной воде. Ответ даёт кастрюля, а не биография источника.

Ситуация на работе

Что ответить

"Эту схему кеширования предложил маркетинг, значит, технически она бессмысленна".

Источник предсказывает, чьи интересы за предложением стоят, но не отвечает на вопрос, что произойдёт с кешем при смене цены.

При этом та же ссылка на источник законна, когда речь о датасете: откуда собраны данные - это и есть содержательный вопрос о выборке.

Откуда идея это отдельный разговор. Что конкретно в ней не работает?

Ошибка психолога (psychologist's fallacy)

Собственную интерпретацию чужого состояния выдают за само это состояние и дальше спорят с ней.

Наблюдатель описывает переживание другого человека со своей позиции - зная исход, контекст и располагая словарём, которых у самого человека в тот момент не было, и приписывает это описание ему как факт. В споре ход работает как атака: оппоненту сообщают, что он на самом деле чувствует, имеет в виду или боится, после чего опровергают приписанное. Проверяемым остаётся только сказанное; внутренние мотивы это гипотеза, которую подтверждает или отвергает сам человек, а не наблюдатель.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Мне неудобно ходить в этот зал: до него сорок минут в одну сторону.

На самом деле тебе просто лень тренироваться, время тут ни при чём.

Дорога проверяется картой, "лень" - приписанное состояние, о котором собеседник ничего не говорил. Спор с приписанным состоянием не сокращает сорок минут.

Ситуация на работе

Что ответить

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

Разбирающий видит полную картину и знает исход; у дежурного в три часа ночи были частичные метрики и ранбук без нужной ветки.

Пока причина не подтверждена самим человеком и таймлайном, это реконструкция наблюдателя, а не факт инцидента - и она мешает найти настоящий дефект процесса.

Это твоя реконструкция моего состояния. Я сказал другое: … . Давай обсуждать сказанное.

Обстоятельственный аргумент к человеку (circumstantial ad hominem · argumentum ad hominem circumstantiae)

Тезис объявляют ложным, потому что положение или выгода автора побуждают его так говорить.

Конфликт интересов - основание для проверки, а не вывод о ложности. Корректная форма ограничена доверием: свидетельство заинтересованной стороны нельзя считать независимым, поэтому нужна перепроверка. Некорректная делает лишний шаг и заменяет перепроверку готовым выводом. Признак ошибки: после указания на интерес никто ничего не проверяет, вопрос считается решённым.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Фильтр для воды нам не нужен: по анализу в доме вода в норме.

Понятно, тебе просто денег жалко, вот и говоришь.

Нежелание тратиться объясняет, почему человеку удобен такой вывод, но состав воды определяется анализом, а не состоянием бюджета. Заинтересованность - повод заказать свой анализ, а не считать чужой ложным.

Ситуация на работе

Что ответить

"Он продвигает managed-базу, потому что раньше работал у облачного провайдера". Прошлое место работы - причина запросить у него расчёт TCO и сценарий на self-hosted, а не причина считать приведённые цифры эксплуатационной стоимости неверными.

"Интерес у меня есть, я его не скрываю. Поэтому проверь цифры - вот исходники расчёта, посчитай сам."

Полиция тона (tone policing · tone argument)

Ответ по существу откладывают, ссылаясь на форму, громкость или эмоциональность высказывания.

Форма подачи и содержание реплики - независимые характеристики. Требование говорить спокойнее бывает законным как отдельный запрос о нормах общения, но оно не отвечает на фактическое утверждение и не меняет его истинности. Ошибка возникает, когда соблюдение формы становится условием обсуждения содержания: тогда любое возмущение автоматически обесценивает то, что за ним стоит, и у стороны с более спокойным голосом появляется бесплатный способ не отвечать.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Ты второй раз забыл забрать посылку, её отправили обратно.

Пока ты говоришь на повышенных тонах, я это не обсуждаю.

Посылка уехала к отправителю независимо от громкости разговора. Тон обсуждать можно, но как вторую тему, а не вместо первой.

Ситуация на работе

Что ответить

В канале инцидента на сообщение капсом "ключ от прода лежит в публичном репозитории" отвечают "давайте без паники".

Норма спокойной коммуникации разумна и обсуждается на ретро; ключ при этом остаётся действующим - сначала отзыв и ротация, потом разговор о тоне.

"Согласен, скажу спокойнее. Повторяю: … . Что мы с этим делаем прямо сейчас?"

Ошибка ассоциации (guilt by association · association fallacy · damning by association)

Тезис или вещь дискредитируют через того, кто их ещё разделяет или использует.

Из совпадения одного признака у двух объектов не следует перенос остальных свойств. Чтобы соседство что-то значило, нужен названный механизм переноса: общий автор, общая зависимость, общий процесс изготовления, общий источник финансирования. Без механизма это ассоциация в голове слушателя, а не свойство обсуждаемого предмета. Зеркальный вариант - "одобрение по ассоциации", когда рядом ставят уважаемое имя, - ошибочен ровно так же.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Этот способ мыть окна без разводов работает.

Так советуют в том блоге, где простуду предлагают лечить луком.

Совпадение источника не переносит на способ ни одного свойства. Окно после мытья либо в разводах, либо нет, и это видно без сведений об остальных советах блога.

Ситуация на работе

Что ответить

"Эту библиотеку тянет к себе контора, которая слила данные пользователей, значит, она небезопасна".

Перенос требует канала: общий maintainer, скомпрометированная цепочка поставки, общая уязвимая зависимость. Проверяются CVE, подпись релиза и аудит кода, а не список пользователей.

"Что именно переносится и по какому каналу? Если это общая зависимость - назови её, посмотрим вместе."

Аргумент к достижениям (appeal to accomplishment)

Право на суждение выводят из послужного списка: сначала добейся - потом рассуждай.

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

Ситуация в жизни

Что Вам говорят

Почему это ошибка

В этом рецепте многовато молока на такой объём.

Ты хоть раз готовил на двадцать человек? Откроешь ресторан - тогда и обсудим.

Пропорция молока к весу продуктов проверяется весами и пробой. Опыт готовки на двадцать человек делает мнение говорящего более вероятным, но не отменяет возможности пересчитать граммы прямо сейчас.

Ситуация на работе

Что ответить

На архитектурном ревью: "я вывел в прод три системы такого масштаба" вместо расчёта новой схемы шардирования.

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

"Опыта у тебя больше - тем проще объяснить: на каком шаге мой расчёт ломается?"

Ответ придворного (courtier's reply)

Критику отклоняют указанием на то, что оппонент недостаточно изучил предмет, - не отвечая при этом на саму критику.

Требование эрудиции ставится вместо ответа. Возражение либо указывает на конкретный дефект - противоречие, пропущенные данные, неверный переход, - либо нет, и это видно из самого возражения. Ссылка на непрочитанное работает как бесконечно отодвигаемое условие: список обязательного чтения всегда можно продлить ещё на один том. Честная версия того же суждения называет, что именно в непрочитанном снимает возражение, и даёт ссылку.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Курс обещает результат за неделю, а из чего этот результат складывается - на странице не сказано.

Ты не прошёл ни одной ступени и не читал методичку, значит, судить не можешь.

Замечание касается ровно того, что опубликовано: описания результата на странице нет. Методичка могла бы это исправить, но тогда достаточно показать в ней нужный абзац.

Ситуация на работе

Что ответить

"Сначала прочитай все design doc за три года и код планировщика, потом поговорим про твой вопрос о таймаутах".

Если ответ в документах есть - хватит ссылки на раздел. Требование прочитать всё целиком не только уходит от ответа, но и маскирует, что документация на вопрос не отвечает.

"Дай ссылку на раздел, где это разобрано, - прочитаю и сниму вопрос."

Булверизм (bulverism)

Ложность позиции считают уже установленной и сразу переходят к объяснению, почему оппонент до неё дошёл.

Суждение состоит из двух шагов, и первый пропущен: вместо "покажу, что тезис ложен" - "раз он ложен, объясню, из какого страха, воспитания или травмы он вырос". Психологическое объяснение можно построить для любого убеждения, включая истинные, поэтому оно не различает истину и ложь и в принципе не может служить опровержением. Термин предложен в эссе К. С. Льюиса. От генетической ошибки отличается тем, что происхождение здесь не выдвигается как аргумент против тезиса, а занимает место аргумента, которого никто не привёл.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Эта подписка невыгодна: за год выходит дороже, чем покупать по отдельности.

Ты просто вырос в семье, где на всём экономили, отсюда и страх подписок.

Даже если биография описана верно, она объясняет, почему такой вывод человеку близок, но не проверяет арифметику. Годовая сумма складывается независимо от чьего-либо детства.

Ситуация на работе

Что ответить

"Ты против оркестратора, потому что обжёгся на прошлой работе и теперь его боишься". Возможно, и так - но довод был назван: стоимость эксплуатации кластера для трёх сервисов. Пока цифры не разобраны, диагноз мотивации лишь закрывает собой отсутствие ответа.

"Допустим, причины у меня именно такие. Довод я всё же привёл: … . Покажи, где он неверен."

Категории ошибок: Увод в сторону

Увод в сторону (красная селёдка) (red herring · ignoratio elenchi · отвлекающий манёвр)

Вместо ответа вводится другая, более выигрышная тема, и обсуждение уезжает за ней.

Реплика не поддерживает и не опровергает исходный тезис - она заменяет предмет. Лжи в ней может не быть вовсе: всё сказанное верно, просто про другое. Рабочий тест: после ответа исходный вопрос можно задать заново слово в слово. Если можно - он не закрыт, и разговор продолжается уже не о нём.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

В счёте за интернет второй месяц подряд стоит аренда роутера, который мы вернули.

Зато скорость выросла, у соседей такой нет.

Скорость и лишняя строка в счёте - независимые факты. Вопрос о возврате платы остался ровно там же, где был, но обсуждать теперь предлагается тариф.

Ситуация на работе

Что ответить

На разборе инцидента спрашивают, почему алерт молчал сорок минут, а отвечают рассказом о том, как быстро потом откатились.

Откат правда был быстрым - к дыре в мониторинге это не относится. В споре об оценке тот же ход: "сколько займёт миграция схемы" - "зато после неё код станет чище". В приоритизации: "почему эта задача выше остальных" - "её очень ждёт крупный клиент".

"Это тоже стоит обсудить, записал отдельным пунктом. Возвращаюсь к исходному: почему алерт молчал сорок минут?"

Нагруженный вопрос (loaded question · complex question · plurium interrogationum · сложный вопрос)

Вопрос устроен так, что любой прямой ответ подтверждает непроверенную предпосылку.

Спорное утверждение спрятано не в посылке, а в структуре вопроса: спрашивают "почему", "когда", "насколько", хотя "правда ли" ещё не установлено. И "да", и "нет" одинаково принимают предпосылку, поэтому отвечающий проигрывает до того, как открыл рот. Нарушен порядок: предпосылку положено обосновывать отдельно, а не проносить внутри вопросительной формы.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Обсуждаем, кто по вечерам моет посуду.

Почему ты вечно всё оставляешь на меня?

"Вечно" и "всё" не обсуждались и не проверялись. Ответ "потому что поздно прихожу" их подтверждает, ответ "это неправда" выглядит как уход от вопроса. Оба варианта заранее проигрышные.

Ситуация на работе

Что ответить

На ревью: "Почему ты опять игнорируешь наши договорённости по неймингу?" - в вопрос уже зашиты и "опять", и "игнорируешь", хотя спор идёт про один метод. Внутренние опросы болеют тем же: "Насколько вам помог новый процесс релизов?" предполагает, что помог; нейтрально - "как изменилось время от мержа до продакшена". На ретро: "Что нам мешало нормально тестировать?" уже утверждает, что не тестировали.

"Отвечу, но сначала разберу вопрос: какие конкретно случаи ты считаешь пропущенными и было ли это игнорированием или осознанным решением?"

Апелляция к эмоциям (appeal to emotion · argumentum ad passiones · appeal to pity · appeal to fear)

Место недостающего основания занимает вызванное чувство - страх, жалость, стыд или насмешка.

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

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Договорились: заявку на отпуск подаём за две недели.

Ты серьёзно откажешь? У меня билеты куплены, я весь год ждал этой поездки.

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

Ситуация на работе

Что ответить

"Не заворачивай PR, человек сидел над ним до трёх ночи" - усилие относится к разговору о нагрузке, а не к корректности кода. Зеркальный вариант через страх: "не купим этот сканер - следующая утечка нас похоронит"; вместо вероятности, ущерба и эффективности контроля предъявлена картинка катастрофы. Насмешка работает так же: "монолиты пишут только динозавры" заменяет сравнение архитектур репутационной ценой.

"Ситуация тяжёлая, и с ней я помогу отдельно. По самому решению: какие у нас цифры и что будет, если мы ошибёмся?"

Вырывание из контекста (quoting out of context · contextomy · quote mining · ошибка акцента)

Фрагмент чужой фразы сохраняют дословно, а условие, оговорку и область отбрасывают - смысл меняется на удобный.

Каждое слово цитаты подлинное, искажение делает вырезка. Пропадают модальность ("возможно" превращается в "есть"), условие ("если нагрузка вырастет вдвое"), отрицание, масштаб, дата. По функции это соломенное чучело, собранное из настоящих слов оппонента, и потому его труднее оспорить: на возражение отвечают "я процитировал дословно".

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Сказано было: "Если гости не придут, горячее можно не готовить - обойдёмся салатами".

Ты сам говорил, что готовить не надо.

Отброшено условие "если гости не придут". Условное разрешение превратилось в безусловное утверждение, хотя цитата формально не искажена.

Ситуация на работе

Что ответить

В треде обсуждали: "этот сервис можно вынести в отдельный репозиторий, когда стабилизируется контракт". Через месяц в задаче стоит ссылка на тот же тред с формулировкой "команда согласовала вынос". Так же читают замеры: "эффект виден в разведочном прогоне и исчезает после поправки" становится "бенчмарк показал ускорение". В постмортеме - "мы же сами писали, что риск приемлемый" без второй половины фразы "на текущем трафике".

"Дай, пожалуйста, ссылку на сообщение целиком - там было условие, и оно как раз сейчас не выполняется."

Раздувание конфликта (conflict inflation · раздувание разногласия)

Частное расхождение растягивают до тотального, и вместо одного спорного пункта обсуждают конфликт вообще.

У разногласия есть границы: предмет, объём, условия. Приём стирает их двумя способами. Первый: локальное "не согласен с этим пунктом" переводят в "ты против всего подхода" - и дальше спорят с позицией, которой никто не занимал. Второй: из того, что специалисты расходятся в деталях, выводят, что в вопросе не установлено ничего. В обоих случаях разговор уезжает туда, где проверять уже нечего.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Давай в этот раз поедем к твоим родителям не на все выходные, а на субботу.

То есть тебе тяжело с моей семьёй? Давай тогда сразу решим, общаемся мы с ними или нет.

Возражение касалось длительности одной поездки. Расширенная версия из него не следует, зато её невозможно закрыть за один разговор - и исходный вопрос про субботу так и остаётся нерешённым.

Ситуация на работе

Что ответить

На ревью замечание к одному запросу ("здесь не хватает индекса") превращают в "ты не доверяешь нашей модели данных, давай пересматривать схему целиком": обсуждение съедает полдня, индекс так и не добавлен. Второй вид встречается в спорах о технологиях: "одни замеры говорят, что gRPC быстрее, другие - что разница в пределах шума, значит, померить это в принципе невозможно". Из разброса выводят непознаваемость, хотя расхождение как раз показывает, какой замер нужно поставить.

"Притормозим: я спорю про одну строку, а не про схему. По остальному у нас расхождений нет - верно?"

Апеллирование к морали (appeal to morality · moralistic fallacy · argumentum ad moralem)

Вместо того как обстоит дело, обсуждают, каким оно обязано быть.

Моральная оценка подменяет описательный тезис: "так поступать нельзя" отвечает на вопрос "как надо", но не на вопрос "что произошло" и не на вопрос "что будет". Это зеркало натуралистической ошибки: там из "есть" выводят "должно", здесь из "должно" - "есть". Побочный эффект в диалоге: возражение оппонента переводится в разряд проступка, и защищаться приходится не по существу.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Если выехать в шесть вечера в пятницу, простоим в пробке часа два.

Нормальные люди не строят жизнь вокруг пробок.

Реплика оценивает того, кто считает время в пути, а не сам прогноз. От оценки пробка не рассосётся, а вопрос о времени выезда остался без ответа.

Ситуация на работе

Что ответить

"Хорошие инженеры не пишут код без тестов" вместо ответа на вопрос, укладываемся ли мы в срок с тестами на этот модуль: разговор переезжает с планирования на то, кто здесь хороший инженер. То же в разборе инцидента: "дежурный обязан был проверить дашборд" - про норму, а не про то, почему в четыре утра дашборд не отличал деградацию от штатного пика. В спорах о техдолге: "нельзя оставлять такое после себя" вместо оценки стоимости и риска.

"С тем, как правильно, я не спорю. Сейчас мне нужен факт: что именно произошло и с какими числами."

Пресекающее мысль клише (thought-terminating cliché · semantic stop sign · мыслепрекращающее клише)

Готовая формула-заглушка закрывает тему, не отвечая ни на один вопрос.

Фраза выглядит как вывод, но не содержит ни посылки, ни данных: "так исторически сложилось", "это же очевидно", "бизнес так решил", "не мы такие". Работает за счёт социального сигнала: продолжать после неё неловко - выглядит спором с общеизвестным. Отличие от обычного тезиса в том, что клише нельзя ни проверить, ни опровергнуть: в нём нет содержания, которое могло бы оказаться ложным.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Почему мы каждый год продлеваем страховку у этого агента, если у соседнего дешевле?

Так заведено, не выдумывай.

"Так заведено" описывает привычку, а не причину. Разница в цене не объяснена, но продолжать разговор стало неудобно - а это и есть работа приёма.

Ситуация на работе

Что ответить

На вопрос "зачем здесь ретрай с интервалом 50 мс" отвечают "легаси, не трогай" - и через год следующий человек задаст его снова. Типовые заглушки: "это архитектурное решение", "так у всех", "нет времени на это" в ответ на "сколько это стоит", "сеньоры лучше знают". Диагностика: если реплика одинаково подходит к любому вопросу в этом месте, она не отвечает ни на один.

"Возможно, решение и правда верное - мне нужна причина, чтобы случайно его не сломать. Кто это вводил и из-за чего?"

Апелляция к камню (appeal to the stone · argumentum ad lapidem)

Тезис объявляют абсурдным, не приводя против него ни одного довода.

Ответ состоит из одной оценки: "чушь", "несерьёзно", "это не взлетит". Ни одна посылка не оспорена, контрпример не предъявлен, область применимости не сужена - бремя доказательства молча возвращают тому, кто его уже нёс. Название идёт от Сэмюэла Джонсона, пнувшего камень в ответ на аргумент Беркли: демонстрация вместо опровержения. Ход дёшев для отвечающего и дорог для автора, которому приходится угадывать, с чем именно не согласны.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Кажется, счётчик воды врёт: расход вырос втрое, а живём мы так же.

Да ерунда, счётчики не врут.

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

Ситуация на работе

Что ответить

К RFC приходит комментарий "это оверинжиниринг" - без указания, какое требование лишнее и что вместо него дешевле. На груминге оценку в пять дней встречают репликой "да там на час работы", не разобрав ни одного пункта декомпозиции. В обсуждении инцидента: "такого не может быть" вместо запроса логов. Разговор при этом формально идёт по теме, но без единого проверяемого утверждения.

"Допускаю, что я неправ. Скажи конкретно: какой шаг лишний или какое допущение здесь не выполняется?"

Два заблуждения не делают истину (two wrongs make a right · two wrongs don't make a right · два зла не делают добра)

Свой сомнительный ход оправдывают чужим таким же - и разбирают уже чужой.

Из "другой сделал то же самое" не следует, что действие допустимо: оба факта могут быть верны и оба - нарушением. В диалоге приём работает как увод: предмет спора из "что делаем с этим" превращается в "а кто ещё так делал". Чужой прецедент релевантен другому вопросу - о справедливости применения нормы или о приоритете исправлений, - но не вопросу о том, было ли нарушение здесь.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Ты встал на место для инвалидов.

Тут все так ставят, вон ещё две машины рядом.

Две соседние машины не делают место разрешённым. Из повторяемости нарушения следует, что проблема массовая, а не что её нет.

Ситуация на работе

Что ответить

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

"Если там то же самое - заведём второй тикет, спасибо. Этот всё равно надо закрыть: откат или фикс?"

Категории ошибок: Схема вывода

Особое прошение (special pleading · особое исключение · исключение для себя)

Общее правило признаётся, но для своего случая вводится исключение без независимого критерия.

Правило применяется ко всем, кроме удобного случая. Ломается не схема вывода, а основание: признак, который спасает частный случай, называется уже после того, как известно, кому он выгоден, и не выводится ни из какого критерия, который был бы принят заранее. Проверка одна: был бы этот критерий записан в правило до того, как выяснилось, чей случай он спасает? Если да - это правило с областью действия, а не особое прошение.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

В подъезде мусор из общего бака выносят по графику, дежурят все по очереди.

Да, но у меня маленький ребёнок и я работаю из дома, так что моё дежурство пусть возьмут соседи.

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

Ситуация на работе

Что ответить

"Все сервисы проходят security review перед релизом" - и сразу "наш экспериментальный, нам не надо". Исключение легитимно, только если policy заранее задаёт область по данным, доступу и аудитории, со сроком, владельцем и автоматическим истечением. Тот же приём: "этот тест flaky только у нас, отключим у себя", "code freeze не про нашу команду", "линтер здесь мешает, поставим ignore".

Попросить сформулировать исключение как правило: "Запиши критерий так, чтобы он сработал для любого, кто под него попадёт, и назови срок действия".

Круговая аргументация (circular reasoning · begging the question · petitio principii · предвосхищение основания · круг в доказательстве)

Заключение используется как собственное основание - прямо или через цепочку переименований.

Схема: A, потому что B; B, потому что A. В сжатом виде: A, потому что A, где второе A переформулировано другими словами. Такой вывод формально валиден - из A действительно следует A, - и именно поэтому опасен: он проходит проверку на форму и не даёт того, ради чего вывод строится, то есть независимой опоры. Диагностика графом: нарисуйте рёбра "утверждение ← основание"; если из тезиса есть путь обратно в тезис, независимого начала нет.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Этот кулинарный сайт - надёжный источник рецептов.

Откуда знаешь? - Там все рецепты правильные. - А откуда знаешь, что правильные? - Так сайт же надёжный.

Основание - тот же тезис другими словами. Проверка должна опираться на что-то внешнее: сверку со вторым источником или собственный результат по рецепту, а не на само проверяемое утверждение.

Ситуация на работе

Что ответить

Метрика качества модели: "модель хорошая, потому что совпадает с разметкой; разметка хорошая, потому что модель уверенно её воспроизводит". Без независимого gold set система подтверждает сама себя. Тот же круг в эксплуатации: "алерт настроен верно, потому что ложных срабатываний не было; ложных не было, потому что он настроен верно" - при том, что алерт может не срабатывать вообще.

"Назови основание, которое я могу проверить, не принимая заранее исходный тезис".

Подтверждение следствия (affirming the consequent · утверждение следствия · converse error)

Из "если A, то B" и наблюдения B делают вывод об A, хотя у B бывают другие достаточные причины.

Схема: "если A, то B; B; следовательно A" - то есть A → B, B ⊢ A. Она не сохраняет истину: достаточно контрмодели, где A ложно, а B истинно по другой причине; импликация при этом остаётся истинной, посылки истинны, вывод ложен. Источник ошибки - чтение "если" как "только если": достаточное условие принимают за необходимое. Ближайшая валидная форма - modus ponens: A → B, A ⊢ B.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Если идёт дождь, асфальт мокрый.

Асфальт мокрый - значит, шёл дождь.

Асфальт мокрый и после поливальной машины, прорыва трубы, мытья двора. Следствие редко уникально для одной причины, поэтому наблюдение следствия не выделяет причину из списка.

Ситуация на работе

Что ответить

"Если сертификат истёк, TLS handshake падает. Handshake падает - значит, истёк сертификат". А падает он ещё и из-за несовпадения cipher suite, неверного SNI, разъехавшегося времени на хосте. То же в наблюдаемости: "деплой ставит маркер; маркер есть - значит, был деплой", хотя маркер мог быть создан вручную или повторно.

"Какие ещё причины дают тот же симптом? Перечислим их и отсечём измерением, а не догадкой".

Смещение бремени доказательства (shifting the burden of proof · onus probandi · перенос бремени доказательства)

Тезис выдвигает один, а доказывать его ложность требуют от другого.

Первичное бремя несёт тот, кто выдвигает содержательный тезис. Ответ "докажи, что это не так" подменяет посильную задачу - предъявить одно свидетельство - практически невыполнимой: исчерпать все возможные случаи. Бремя при этом не приклеено к человеку навечно: после предъявления достаточных свидетельств оно переходит, и вторая сторона обязана оспорить данные, показать альтернативу, ограничить вывод или дать контрсвидетельство. Ошибка - не в движении бремени, а в отправке его туда, где нет утверждения.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Мой пропавший ключ лежит в этой коробке.

Не веришь - открой сам и докажи, что его там нет.

Утверждение о содержимом сделал первый, и проверка стоит ему одного движения. Требование к собеседнику доказывать отсутствие превращает необоснованное заявление в позицию по умолчанию: пока не опровергнуто - считается верным.

Ситуация на работе

Что ответить

"Эта библиотека небезопасна, докажите обратное", "мой патч ничего не ломает, найдите, где ломает". Инженерный порядок обратный: изменение обосновывает автор изменения - тестом, бенчмарком, планом отката. В safety и security есть законная асимметрия: недоказанность вреда не обязывает бездействовать, решение принимается по цене ошибок первого и второго рода - но предосторожность не делает угрозу доказанной.

"Тезис твой - покажи свидетельство. Появится оно, отвечу по существу".

Подтверждение исключения (affirming a disjunct · утверждение дизъюнкта · ложно исключающее или)

Из "A или B" и подтверждения A выводят, что B ложно, хотя "или" может быть включающим.

Схема: "A или B; A; следовательно не B" - то есть A ∨ B, A ⊢ ¬B. Для включающего ∨ форма не сохраняет истину: A и B могут быть истинны вместе, посылки при этом остаются истинными, а вывод ложен. Валидна она только для явно исключающего "ровно одно из двух": A ⊕ B, A ⊢ ¬B. Для обычного "или" валиден отрицающий модус: A ∨ B, ¬B ⊢ A.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

В субботу к нам заглянет Аня или Борис.

Аня уже написала, что придёт, - значит, Бориса не будет, третий стул не ставим.

Фраза не обещала, что придёт ровно один. Пока не сказано "кто-то один из двух", приход Ани не сообщает о Борисе ничего.

Ситуация на работе

Что ответить

"Причина инцидента - ошибка конфигурации или ошибка кода. Конфиг оказался кривой, значит, код чист" - и расследование закрывают, а вторая причина остаётся в проде до следующего раза. Тот же дефект в коде: const allowed = isEmployee || hasBetaAccess; а ниже if (isEmployee) assert(!hasBetaAccess); - assert упадёт на сотруднике, у которого есть и бета-доступ.

"Это "или" исключающее? Кто и где это зафиксировал? Пока не зафиксировано - проверяем оба варианта".

Апелляция к незнанию (appeal to ignorance · argumentum ad ignorantiam · аргумент от незнания)

Отсутствие доказательства выдают за доказательство отсутствия - или наоборот.

Две зеркальные схемы: "не доказано, что P, следовательно не P" и "не доказано, что не P, следовательно P". Обе невалидны: незнание - состояние знающего, а не свойство мира. Отсутствие свидетельства становится свидетельством отсутствия только при выполненных условиях: искали подходящим методом, метод с высокой вероятностью обнаружил бы объект, область поиска покрыта, результат воспроизводим. Тогда вывод формулируется вместе с этими границами и не расширяется за них.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

В этой квартире завелись мыши.

Никто ни разу мышь не видел - значит, никаких мышей нет.

Никто и не искал: ловушек не ставили, за плиту и под мойку не заглядывали. "Мы не наблюдали" и "их нет" - разные утверждения; второе требует поиска, который обнаружил бы мышей, если бы они были.

Ситуация на работе

Что ответить

"В логах ничего нет - значит, ошибки не было". Может не быть логирования на этом пути, уровень может стоять на WARN, запись могла потеряться при ротации или семплировании. Корректная формулировка после проверки: "после полного сканирования образа известным набором сигнатур свидетельств этих конкретных CVE нет" - ограниченный вывод, а не "образ безопасен".

"Что именно искали, каким методом - и обнаружил бы этот метод искомое, если бы оно там было?"

Отрицание предшествующего (denying the antecedent · отрицание основания · inverse error)

Из "если A, то B" и "не A" выводят "не B", принимая достаточное условие за необходимое.

Схема: "если A, то B; не A; следовательно не B" - то есть A → B, ¬A ⊢ ¬B. Контрмодель строится мгновенно: пусть B истинно по другой причине при ложном A - обе посылки истинны, вывод ложен. Импликация запрещает ровно одну комбинацию (A истинно, B ложно) и о случае ложного A не говорит ничего. Ближайшая валидная форма - modus tollens: A → B, ¬B ⊢ ¬A.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Если товар хрупкий, на коробку клеят специальную наклейку.

Наклейки нет - значит, товар не хрупкий, можно ставить снизу.

Наклейку могли забыть, она могла отклеиться, партию могли собрать по старой инструкции. Правило гарантировало наклейку у хрупкого, а не прочность у всего, что без наклейки.

Ситуация на работе

Что ответить

"Если запрос от администратора, отчёт доступен. Запрос не от администратора - значит, доступа нет", хотя право может быть у аудитора или владельца ресурса. То же при диагностике: "релиза не было - значит, деградация не от изменений"; конфиг, фича-флаг, данные и зависимости меняются без релиза.

"Это условие достаточное или необходимое? Назови другие пути к тому же результату".

Доказательство через утверждение (повторение) (proof by assertion · proof by repetition · argumentum ad nauseam · доказательство повторением)

Тезис повторяют без изменений и настойчивее вместо того, чтобы дать ему основание.

Повторение не добавляет к утверждению ни одного нового факта: после десятого раза множество свидетельств ровно такое же, как после первого. Приём работает на психологии - знакомая формулировка кажется более правдоподобной, - а не на логике. Это близкий родственник круга: там тезис подпирает сам себя переименованием, здесь он занимает место основания за счёт частоты и громкости.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Через мост ехать до дачи быстрее, чем в объезд.

Почему? - Потому что быстрее. Я тебе двадцать раз говорил: просто быстрее, и всё.

На пятом повторении данных о времени в пути столько же, сколько на первом: ноль. Вопрос решается одним замером на двух маршрутах, а не настойчивостью.

Ситуация на работе

Что ответить

"Эта библиотека нам не подходит" в третьем письме подряд без единого числа; "у нас так принято" вместо ADR; "микросервисы быстрее" на каждом дизайн-ревью. Повтор допустим только как ссылка на ранее предъявленный аргумент ("см. замер в треде выше") - иначе это заполнение канала, после которого решение принимает не тот, кто прав, а тот, кто дольше пишет.

"Тезис я услышал и запомнил. Теперь основание: данные, замер или ссылка".

Ложное опровержение (ignoratio elenchi · irrelevant conclusion · missing the point · мнимое опровержение · незнание опровержения)

Опровергают не тот тезис, который был выдвинут, и объявляют исходный опровергнутым.

Настоящее опровержение требует противоречия тому же предмету, по тому же предикату, в том же отношении, в то же время и в той же модальности - и без включения исходного тезиса в основание. Ложное опровержение доказывает нечто соседнее: более слабое утверждение, другую тему, частный случай - и переносит эффект победы на исходный тезис. Схема при этом может быть безупречной: сбой не в форме вывода, а в адресации - заключение истинно и не касается спора.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Чайник подтекает, его пора чинить.

Да брось, отличный чайник, мы его пять лет назад покупали, он до сих пор кипятит воду за три минуты.

Никто не спорил, что чайник кипятит и служит пять лет. Опровергнуть требовалось "подтекает", а опровергнуто "плохой" - тезис, которого не выдвигали.

Ситуация на работе

Что ответить

"Для этого потока нужна идемпотентность" - "Kafka сложная технология": ответ может быть верным и не касаться требования. Тот же приём в разборе инцидента: на "алерт сработал на сорок минут позже события" отвечают "зато починили за два часа, MTTR хороший". Метрика реальная, тезис другой - и в постмортеме остаётся невыясненная дыра в детектировании.

"Зафиксируем исходный тезис дословно. Что именно в нём отрицает твой довод?"

Ошибка "я имею мнение" (I am entitled to my opinion · entitled to my opinion · право на мнение вместо основания · subjectivist fallacy)

Право высказывать мнение выдают за основание считать это мнение истинным.

Смешиваются две разные вещи: свобода иметь и высказывать позицию - её никто не оспаривает - и обоснованность позиции, которая как раз и обсуждается. Фраза "это моё мнение" не добавляет ни одного свидетельства и при этом закрывает разговор: спор о фактах переводится в спор о правах, где любое возражение выглядит посягательством на личность. По сути это форма отказа от бремени доказательства - "моё мнение", сказанное вместо "вот почему".

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Это молоко пастеризованное, кипятить его перед кашей не нужно.

Не знаю, я считаю, что любое молоко надо кипятить. Я имею право на своё мнение.

Право никто не оспаривал; обсуждался вопрос о фактах - что именно делает пастеризация. Ссылка на право не отвечает на него и лишает разговор предмета: обсуждать больше нечего, хотя вопрос решается одной строчкой на упаковке.

Ситуация на работе

Что ответить

На код-ревью: "мне кажется, слои стоит разделить" - "а мне кажется, не стоит, это дело вкуса". Часть решений действительно вкусовые, и такие закрывают линтером или монеткой. Но "мне так кажется" вместо аргумента про связность, тестируемость или стоимость будущего изменения - не позиция, а отказ её обосновывать. Симметрично звучит "это моё архитектурное видение" в ответ на бенчмарк.

"Право на мнение бесспорно, я спрашиваю не о праве. На чём это мнение держится?"

Пустая истина (vacuous truth · пустая истинность · истинность на пустом множестве)

Утверждение истинно лишь потому, что случаев, способных его опровергнуть, не существует, - а звучит как содержательное подтверждение.

В классической логике импликация A → B истинна всегда, когда A ложно; соответственно ∀x(Sx → Px) истинно, если ни один x не удовлетворяет Sx. "Все единороги в моём подъезде вежливы" - истина. Формальной ошибки здесь нет: правило корректно, и отказ от него ломает больше, чем чинит. Ловушка в интерпретации: пустую истину читают как эмпирическое подтверждение и добавляют экзистенциальный смысл, которого в формуле нет - из ∀x(Sx → Px) не следует ∃x(Sx ∧ Px). Признак пустоты: при пустом S истинно и противоположное правило ∀x(Sx → ¬Px), а два взаимоисключающих подтверждения одновременно не бывают содержательными.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Все просроченные продукты я выбрасываю в тот же день.

Проверила холодильник - просрочки нет. Значит, правило работает и соблюдается идеально.

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

Ситуация на работе

Что ответить

Тест, у которого фильтр отсеял все входные записи, проходит зелёным: "для всех записей выполняется инвариант" истинно на пустой выборке. Так же ведёт себя алерт "за сутки ни одного нарушения SLA", если метрика перестала поступать, и политика "все запросы роли X логируются", если роль X никому не выдана. Лечится проверкой мощности: сначала assert на количество попавших под условие объектов, потом assert на свойстве.

"Сколько случаев реально попало под условие? Если ноль - утверждение истинно и не сообщает ничего".

Ошибка ошибки (fallacy fallacy · argument from fallacy · argumentum ad logicam · ошибка обращения к ошибке)

Из того, что аргумент в пользу тезиса плох, выводят, что сам тезис ложен.

Схема: "аргумент A обосновывает C; в A найдена ошибка; следовательно, не C". Не сохраняет истину: разрушен мост, а не берег - у истинного утверждения бывают отвратительные обоснования, и найденная ошибка возвращает тезис в статус "не доказан", а не "опровергнут". Бремя тем самым не исчезает, а перекладывается на того, кто теперь утверждает ¬C. Для человека, выучившего каталог, это самая опасная позиция: список названий превращается в оружие - вместо проверки тезиса начинается охота за ярлыками, каждое опознанное имя ощущается победой, а разговор о том, как обстоит дело, подменяется разговором о том, как оппонент неправильно говорит. Каталог создавался как инструмент самопроверки; в чужих руках он чаще работает как способ не отвечать по существу.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

На таком уклоне машину надо ставить на ручник.

Ты сказал "все так делают" - это апелляция к большинству, классическая ошибка. Значит, ручник не нужен.

Довод действительно был слабым, но уклон никуда не делся. Корректный итог - "это основание не годится, дай другое", а не "тезис ложен"; на месте разобранного аргумента остаётся не опровержение, а пустота.

Ситуация на работе

Что ответить

На дизайн-ревью: "твой довод про latency - post hoc, ты перепутал корреляцию с причиной, поэтому индекс не нужен". Ошибка в рассуждении реальна, потребность в индексе от этого не исчезает - она просто не доказана этим доводом, и проверяется планом запроса. Тот же приём в разборе инцидента: назвать чужую гипотезу confirmation bias и на этом её закрыть, не проверив данными; так теряются верные гипотезы, высказанные плохо.

"Согласен, этот довод не работает. Тезис от этого не стал ложным - есть ли у него другое основание?"

Категории ошибок: Обобщение и границы

Поспешное обобщение (hasty generalisation · поспешная индукция · generalisation from a small sample)

Вывод обо всём классе делают по нескольким случаям, которые просто попались под руку.

Индукция законна, но её сила зависит от размера выборки, способа отбора и разброса внутри класса. Ошибка появляется, когда объём наблюдений не назван, случаи собраны по доступности, а вывод формулируется без квантора и без оговорок. Различать нужно не "мало примеров" против "много", а "выборка отражает класс" против "выборка отражает то, что я успел заметить". Законная версия - обобщение с явной базой: сколько наблюдений, откуда они взяты и какова неопределённость вывода.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Курьерская служба работает плохо.

Мне два раза привезли заказ с опозданием - значит, они всегда опаздывают.

Два наблюдения одного человека не дают доли опозданий, а память вдобавок держит провалы охотнее, чем десяток доставок вовремя.

Ситуация на работе

Что ответить

Два падения на одном инстансе превращаются в "библиотека течёт"; три сообщения в чате - в "пользователям не нужна эта фича"; один прогон бенчмарка на ноутбуке - в "новая версия быстрее". Лечится числом наблюдений и разбросом рядом с выводом: p95 по 40 000 запросов за неделю на проде, а не "у меня открывается быстро".

Спросите, сколько было случаев и как они попали в поле зрения. Попросите переформулировать вывод с квантором: в скольких процентах случаев и на какой базе.

Скользкая дорожка (slippery slope · скользкий склон · аргумент домино)

Из первого шага выводят неизбежность последнего, не показав ни одного промежуточного перехода.

Ошибка не в том, что названа цепочка последствий, а в том, что её звенья пропущены: механизм перехода, вероятность каждого шага, время и то, что могло бы цепочку остановить. Законная версия существует и встречается часто: если механизм назван и подтверждён - положительная обратная связь, накопление прецедентов, зависимость от пути, отсутствие правила остановки, - довод становится нормальной оценкой риска. Тогда его можно оспаривать по числам, а не отмахиваться ярлыком.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Ребёнок просит лечь спать на полчаса позже в пятницу.

Разрешишь один раз - и он вообще перестанет ложиться вовремя.

Между "позже в пятницу" и "никогда вовремя" пропущены все шаги, и не сказано, почему правило "в будни как обычно" вдруг перестанет работать.

Ситуация на работе

Что ответить

"Дадим одно исключение из code review - контроль развалится"; "включим один feature flag без срока - продукт станет набором веток". Второе иногда правда: флаги без владельца и даты истечения реально накапливаются, и это видно по счётчику. Разница в том, что честный довод показывает счётчик и отсутствие процедуры очистки, а не только страшный финал.

Попросите выписать звенья по одному и для каждого назвать механизм и ограничитель. Спросите, что именно мешает остановиться на втором шаге.

Ложная дихотомия (false dilemma · ложная дилемма · чёрно-белое мышление · either/or fallacy)

Пространство вариантов сужают до двух, хотя третий доступен и просто не назван.

Деление по признаку "P или не-P" исчерпывающе по построению, а вот список "А или Б", где А и Б - два содержательных решения, почти никогда. Ошибка возникает, когда из списка выпадают гибриды, градации, отсрочка решения и вариант "пока ничего не менять". Законная версия: варианты действительно исчерпывают пространство, если работает бинарный предикат, физическое или договорное ограничение либо уже истраченный ресурс. Тогда дилемма настоящая, и отвечать на неё надо выбором, а не поиском третьего пути.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Надо решить, что делать со старой машиной.

Либо продаём её сейчас, либо ездим на ней ещё пять лет.

Есть ремонт и продажа через год, обмен с доплатой, езда до первой крупной поломки. Список из двух пунктов был выбран, а не выведен из ограничений.

Ситуация на работе

Что ответить

"Либо микросервисы, либо не масштабируемся", "либо переписываем с нуля, либо живём с этим кодом", "либо 100% покрытия, либо тестов нет". Почти всегда доступны strangler-миграция, вынос одного модуля, покрытие критического пути. Проверка дешёвая: назовите третий вариант вслух и посмотрите, отвергают его аргументом или молчанием.

Назовите третий вариант и попросите объяснить, чем именно он исключён. Нет объяснения - список был риторическим приёмом.

Ошибка композиции (fallacy of composition · перенос свойства частей на целое)

Свойство каждой части приписывают целому, хотя у соединения своё поведение.

Переход "часть → целое" законен для аддитивных свойств или при доказанном законе композиции: масса целого равна сумме масс частей. Для всего остального у соединения появляется собственный оператор - узкое место, взаимодействие, конкуренция за общий ресурс, порядок. Ошибка в том, что оператор молча принимается за тождество. Честный ход - назвать, как именно свойство складывается, и проверить это на границах.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Гости хвалили каждое блюдо по отдельности.

Значит, ужин целиком удался.

Сочетание может не работать: три похожих вкуса подряд, всё остыло к общей подаче, тяжёлое после тяжёлого. Свойство "вкусно" не складывается автоматически.

Ситуация на работе

Что ответить

"Каждый сервис держит 1000 RPS - значит цепочка держит 1000 RPS": держит она столько, сколько самое узкое звено, и меньше при fan-out и коррелированных пиках. "Каждый модуль покрыт на 90% - значит поведение системы покрыто на 90%": покрытие модулей ничего не говорит о путях через границы. Правило: назовите оператор композиции - latency последовательной цепочки складывается, availability перемножается, память конкурирует.

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

Ошибка деления (fallacy of division · перенос свойства целого на части)

Свойство целого приписывают каждой его части.

Обратный композиции переход: из "у системы есть X" выводят "у каждого компонента есть X". Он законен, когда свойство распределяется по построению - все элементы обладают признаком, по которому множество и собрано. Для агрегатов - средних, сумм, показателей надёжности - не работает: агрегат держится на компенсации, резервировании и распределении нагрузки. Отдельная разновидность - экологическая ошибка, когда статистика группы переносится на отдельного её члена.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Команда быстро закрывает задачи.

Значит, каждый в команде работает быстро.

Скорость команды - результат распределения работ и взаимной помощи: тяжёлое достаётся тем, кто с этим уже сталкивался. Темп отдельного участника из агрегата не выводится.

Ситуация на работе

Что ответить

"Система доступна на 99,9% - значит каждый компонент доступен на 99,9%": у компонентов разные SLO, резерв и место на критическом пути, часть из них может лежать без последствий. "Средняя latency 50 мс - значит запросы отвечают за 50 мс": у хвоста p99 своя жизнь. "Компания прибыльна - значит каждый продукт прибыльный": убыточный продукт субсидируется остальными.

Спросите, распределяется ли свойство по построению или это агрегат. Попросите разбивку по компонентам и хвост распределения, а не среднее.

Настоящий шотландец (no true Scotsman · appeal to purity · апелляция к чистоте)

Контрпример не опровергают, а задним числом выводят из класса словом "настоящий".

Обобщение "все A суть B" встречает A, который не B. Вместо ослабления обобщения говорящий меняет определение A так, чтобы неудобный случай в него не попал. Диагностический вопрос один: критерий был задан до контрпримера и независимо от него - или добавлен после. Законная версия существует: определение действительно может исключать объект, если оно зафиксировано заранее и применяется к своим и чужим примерам одинаково.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Настоящий турист никогда не берёт чемодан на колёсиках.

- Марина три недели ходила по горам с чемоданом. - Значит, она не настоящий турист.

Тезис сделали неопровержимым: любой контрпример теперь автоматически выпадает из класса, и утверждение перестало что-либо говорить о мире.

Ситуация на работе

Что ответить

"Настоящие микросервисы не превращаются в distributed monolith" - а система, которая превратилась, объявляется не настоящими микросервисами. "Настоящий Agile не требует оценок" - как только команда с оценками работает хорошо, её объявляют не Agile. Приём делает архитектурный стиль незасчитываемым: у него не остаётся ни одного возможного отрицательного исхода.

Спросите, был ли критерий записан до появления контрпримера. Попросите заранее назвать наблюдаемый исход, который считался бы опровержением.

Ошибка золотой середины (middle ground · argument to moderation · argumentum ad temperantiam · золотая середина)

Из того, что две позиции крайние, выводят, что истина лежит ровно между ними.

Середина между двумя утверждениями - факт о расположении утверждений, а не о мире. Промежуточная позиция бывает ложной, а одна из крайних верной. Приём особенно заметен, когда крайности выбраны самими спорящими: "истину" можно передвинуть, просто заняв более радикальный полюс. Законная версия: в вопросах распределения ресурса, приоритетов и переговоров компромисс - нормальный способ решения; и в измерительном вопросе промежуточная оценка верна, если получена из данных, а не из симметрии между мнениями.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Сколько соли класть в суп.

- Ложку. - Три. - Значит, две: истина всегда посередине.

Нужное количество определяется объёмом кастрюли и вкусом, а не средним из двух мнений. Скажи второй "десять", "истина" уехала бы к пяти.

Ситуация на работе

Что ответить

"Один оценил переезд в месяц, другой в год - значит полгода". Срок берётся из декомпозиции и данных о похожих работах, а не из середины между оценками. То же с латентностью, размером инстанса и сроком хранения логов: середина между двумя цифрами не является измерением. При этом деление квоты на CPU между командами - законный компромисс, и там середина уместна как решение, а не как факт.

Спросите, чем измеряется ответ. Фактический вопрос - попросите данные; распределительный - называйте компромисс компромиссом, а не истиной.

Ошибка континуума (continuum fallacy · sorites · парадокс кучи · line-drawing fallacy)

Из отсутствия резкой границы между состояниями выводят, что различия нет вовсе.

Между "холодно" и "жарко" нет точки разрыва, но нечёткая граница уничтожает не различие, а претензию на единственный природный порог. Практический ответ - операциональный порог с честной пометкой, что он выбран, а не найден, плюс интервал неопределённости вокруг него. Обратная форма ошибки встречается не реже: искусственный порог принимают за природный разрыв и ведут себя так, будто по обе стороны от него разные миры.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Один волос не делает человека лысым.

Значит, лысых вообще не бывает - граница ведь нигде не проходит.

Из непрерывности перехода следует, что есть пограничные случаи, а не то, что крайние случаи неразличимы.

Ситуация на работе

Что ответить

"Никто не назовёт запрос, после которого началась перегрузка - значит перегрузки нет": работают порог, интервал и проверка чувствительности решения к порогу. Обратная сторона: "79 мс - быстро, 80 мс - медленно", хотя SLO в 80 мс придумали на встрече. Порог управленческий: его пересматривают, а не защищают как закон природы.

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

Ложная аналогия (false analogy · weak analogy · faulty comparison)

Из сходства в одном признаке выводят сходство в другом, хотя связи между этими признаками нет.

Аналогия - законный, а иногда единственный доступный инструмент: она переносит вывод с изученного случая на неизученный. Сила переноса зависит от того, релевантен ли общий признак выводу и нет ли различий, работающих против. Ошибка появляется, когда переносится несущественный признак, различия не названы, а сходство держится на образе. Проверка простая: назвать признак, по которому идёт перенос, и объяснить, почему именно он отвечает за интересующее свойство.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Ремонт квартиры надо вести по плану.

Квартира - как организм, а организм лечат целиком; значит, ремонт нужно делать сразу во всех комнатах.

Общее у квартиры и организма - метафорическая целостность, а не то, от чего зависит порядок работ. У комнат, в отличие от органов, нет общего кровотока, и жить можно в половине квартиры.

Ситуация на работе

Что ответить

"База данных - как файловая система, значит бэкап копированием файлов подойдёт": общего много, но у СУБД есть открытые транзакции и порядок записи. "У них похожий сервис, и им зашло - зайдёт и нам": сходство по языку и домену не переносит вывод, если различаются профиль нагрузки и цена ошибки. Разбор аналогии всегда конечен: выпишите сходства, различия и то, к какому из них привязан вывод.

Спросите, по какому именно признаку идёт перенос, и назовите различие, которое ломает вывод.

Ложная эквивалентность (false equivalence · false balance · ложный баланс)

Два случая объявляют одинаковыми по общему признаку, игнорируя разницу в масштабе, частоте и последствиях.

Общее свойство находится всегда: и опоздание на пять минут, и сорванная поездка - "нарушение договорённости". Ошибка в том, что общее имя подменяет измерение: масштаб, частоту, обратимость, цену. Родственная форма - ложный баланс, когда двум позициям дают равное место только потому, что их две, независимо от того, чем каждая подкреплена. Законная версия сравнения существует: назвать ось, по которой случаи действительно равны, и признать, что по другим осям они расходятся.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Оба соседа шумят.

Один раз в год сверлил стену днём - то же самое, что каждую ночь включать музыку. Оба ведь шумят.

Общая категория "шум" есть, но частота, время и обратимость отличаются на порядки. Равенство держится на имени, а не на измерении.

Ситуация на работе

Что ответить

"Обе команды нарушили процесс": одна выкатила hotfix без ревью во время инцидента, другая полгода мержит без тестов. "У обоих вариантов есть риски" - верно и бесполезно, пока не названы вероятность и ущерб. В postmortem это самая частая подмена: одно слово "ошибка" на опечатку в дашборде и на потерю данных.

Согласитесь с общим признаком и сразу спросите про ось: насколько, как часто, с какими последствиями и обратимо ли.

Ошибка нирваны (nirvana fallacy · perfect solution fallacy · сравнение с идеалом)

Рабочее решение отвергают за неидеальность, не сравнив его с реально доступной альтернативой.

Сравнивать надо не с воображаемым совершенством, а с тем, что будет без меры, и с лучшим доступным вариантом. Честная форма сравнения содержит три величины: ожидаемый ущерб без меры, ожидаемый ущерб с мерой и стоимость самой меры вместе с побочными эффектами. Обратную ошибку стоит назвать тем же голосом: принимать любое улучшение, не сравнив его с лучшей доступной альтернативой, - та же подмена, только в плюс.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Стоит ли ставить на дверь второй замок.

Любой замок можно вскрыть, значит смысла нет.

Вопрос не в гарантии, а в том, как меняются вероятность и издержки по сравнению с одним замком и во сколько это обходится.

Ситуация на работе

Что ответить

"Canary не ловит все инциденты - значит бесполезен", "линтер не находит логические ошибки - зачем он", "второй фактор не спасёт от целевой атаки - не будем внедрять". Каждая мера снимает свой класс отказов, и оценивают её по доле снятых инцидентов и цене, а не по существованию оставшихся. Тот же приём наоборот: "хоть какой-то мониторинг лучше, чем ничего" - пока не сравнили с тем, что стоит столько же и покрывает вдвое больше.

Спросите, с чем именно сравниваем: попросите назвать альтернативу и оценить ущерб в обоих сценариях вместе со стоимостью меры.

Категории ошибок: Причины и данные

Личный опыт (анекдотическое свидетельство) (anecdotal evidence · argument from anecdote · "у меня сработало")

Один запомнившийся случай подставляют вместо данных о том, как часто так бывает.

Личный опыт - выборка размером в один случай, отобранная не случайно, а потому что запомнилась. Конкурирующие объяснения почти всегда наготове: совпадение; регрессия к среднему (помощи ищут в худшей точке, а после худшей точки обычно легчает); систематическая ошибка выжившего - о случаях, где не сработало, просто не рассказывают. Опыт хорош как источник гипотезы и как описание механизма, но не как оценка частоты: у него нет знаменателя. Подробнее про малые выборки и отбор - глава 09.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Соседка при первых признаках простуды выпила витамин и выздоровела за три дня.

Значит, витамин лечит простуду.

Простуда и без лечения проходит за несколько дней, а витамин принимают на пике симптомов. Случаи "пил и болел неделю" в разговорах не всплывают: нет ни группы сравнения, ни числа попыток.

Ситуация на работе

Что ответить

"На прошлой работе у нас Kafka теряла сообщения, поэтому не берём" - один инцидент трёхлетней давности, на чужой версии и чужой конфигурации, против опыта тысяч инсталляций. То же в поддержке: три громких тикета за утро выглядят как эпидемия, пока не посчитаешь долю - 3 обращения на 40 000 сессий, то есть внутри обычного фона. Прежде чем менять архитектуру или откатывать фичу по рассказу, спросите знаменатель, версию, конфигурацию и период; один яркий случай задаёт гипотезу, а решение принимают по частоте.

Сколько было таких случаев всего и сколько из них закончились иначе? Мы знаем частоту - или только один исход, который запомнился?

Ошибка техасского стрелка (texas sharpshooter fallacy · мишень вокруг попадания · post hoc субгруппа)

Мишень рисуют после выстрела: гипотезу подгоняют под случайный кластер, уже замеченный в данных.

В любом достаточно большом наборе данных найдутся сгущения - это свойство случайности, а не сигнал. Ошибка возникает, когда сегмент, окно или метрику выбирают, уже посмотрев на результат, и предъявляют находку как подтверждённое предсказание. Конкурирующее объяснение здесь одно и считается арифметикой: множественные сравнения. Двадцать метрик на пяти сегментах в четырёх окнах - это сотни проверок, и при уровне 0,05 десятки "значимых" появятся сами. Гипотеза, рождённая из данных, проверяется только на новых данных.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

В доме на углу за прошлый год родились четверо детей, и все - мальчики.

Что-то в этом доме влияет на пол ребёнка: вода, планировка, место.

Дом выбран после того, как совпадение заметили. Четыре мальчика подряд - примерно один шанс из шестнадцати; в городе с тысячами домов такие серии обязаны встречаться десятками. Мишень нарисована вокруг попадания, а не наоборот.

Ситуация на работе

Что ответить

A/B-тест не дал эффекта на всей выборке, аналитик режет данные по сегментам и находит +8% конверсии у Android в Германии на второй неделе. Проверок было около сотни - пять ложных находок ожидаемы даже при полном отсутствии эффекта. Правильный ход: записать находку как гипотезу и проверить её предзарегистрированным тестом на новом трафике, а не выкатывать релиз по субгруппе. То же с алертами и дашбордами: если смотреть 300 графиков, каждый день "деградирует" несколько метрик. Разделяйте exploratory и confirmatory анализ явно, вплоть до разных документов.

Этот сегмент, окно и метрика были выбраны до того, как мы посмотрели данные? Сколько срезов проверено всего и что показали остальные?

Ошибка корреляции (cum hoc ergo propter hoc · корреляция не равна причинности)

Из того, что две величины меняются вместе, заключают, что одна вызывает другую.

Совместное изменение совместимо минимум с шестью структурами: X вызывает Y; обратное направление Y вызывает X; общая причина Z действует и на X, и на Y; связь создана отбором - тем, как данные попали в выборку; обратная связь; наконец, простое совпадение. Корреляция сужает список гипотез, но не выбирает из него. Чтобы говорить о причине, нужны механизм, временной порядок и группа сравнения - причинный протокол главы 09.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Чем больше в городе за день продают мороженого, тем больше вызовов спасателей на пляже.

Мороженое делает людей беспечными в воде.

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

Ситуация на работе

Что ответить

На дашборде видно: сервисы с частыми деплоями имеют больше инцидентов. Вывод "частые релизы ломают прод" переворачивает картину. Общая причина - критичность и активность: нагруженные развиваемые сервисы получают и больше изменений, и больше трафика, и лучшую наблюдаемость, то есть просто больше зарегистрированных инцидентов. Возможна и обратная стрелка: после инцидента чинят и выкатывают чаще. Прежде чем вводить релизное окно, смотрите change failure rate на деплой, а не число инцидентов на сервис, и сравнивайте с сервисами сопоставимой критичности.

Что могло одновременно повлиять и на предполагаемую причину, и на результат? И не может ли стрелка смотреть в обратную сторону?

Ошибка невозвратных затрат (sunk cost fallacy · escalation of commitment · "столько уже вложено")

Прошлые невозвратные вложения приводят как довод продолжать, хотя решение зависит только от будущего.

Потраченные деньги, время и репутация не вернутся ни при каком выборе - значит, они одинаковы в обеих ветках и не могут их различать. Сравнивать надо будущую пользу, будущие затраты и лучшую альтернативу. Прошлое релевантно ровно в той части, где создало актив, обязательство, накопленное знание или цену выхода. Родственный механизм - эскалация обязательств: после публичного решения проще вложить ещё, чем признать ошибку; см. главу 10.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Билеты в кино куплены, но уже на десятой минуте понятно, что фильм скучный.

Надо досидеть до конца, иначе деньги пропадут зря.

Деньги потрачены в обоих вариантах. Выбор идёт между "полтора скучных часа" и "свободный вечер" - прошлый платёж в это сравнение не входит вовсе.

Ситуация на работе

Что ответить

Внутренняя платформа пишется два года силами шести инженеров, миграция сервисов не сдвинулась. Довод "столько вложено, нельзя бросать" подменяет настоящий вопрос: если бы платформы сегодня не существовало, начали бы мы её при текущей цене готового решения и текущих требованиях? Тот же разговор про переписывание легаси, про отказ от эксперимента с двухмесячным набором данных и про самописный планировщик. Лечится не силой воли, а процессом: stop-условия и бюджет фиксируются до старта, kill review стоит в календаре, а решение о продолжении принимает не автор гипотезы.

Если бы мы встретили эту возможность сегодня, ничего ещё не вложив, - начали бы? Какие затраты остались впереди, а не позади?

Ошибка ложной причинности (post hoc ergo propter hoc · после этого - значит из-за этого)

Из того, что B случилось после A, заключают, что A вызвало B.

Временной порядок необходим для причины, но недостаточен. Конкурирующие объяснения: совпадение; общая причина, запустившая оба события; процесс, начавшийся раньше и проявившийся с задержкой; регрессия к среднему - вмешательство обычно предпринимают на пике проблемы, а после пика становится лучше само; наконец, изменилось измерение, а не измеряемое. Чем ближе события во времени, тем убедительнее иллюзия и тем нужнее группа сравнения.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Ребёнок кашлял неделю; вчера дали сироп по совету соседа - сегодня кашля почти нет.

Сироп вылечил кашель.

Сироп дали на седьмой день, когда болезнь и так шла на спад. Лекарство почти всегда начинают в худшей точке, а после худшей точки исход в среднем улучшается независимо от лечения - это регрессия к среднему, а не эффект сиропа.

Ситуация на работе

Что ответить

В 14:05 выкатили релиз, в 14:12 p99 вырос втрое, откатили - стало лучше, инцидент закрыт с причиной "релиз". Проверьте: график начал расти до 14:05? Не стартовал ли в это окно ночной batch, не деградировала ли зависимость, не сменился ли конфиг? Не совпал ли откат с концом пикового часа? Откат меняет сразу всё состояние системы, поэтому "после отката полегчало" - ровно такой же post hoc, как и исходный вывод. Причина считается подтверждённой, когда есть механизм и воспроизведение (например, тот же запрос на копии данных), а не только совпадение таймстемпов.

Что ещё изменилось в этом же окне? Метрика начала расти уже до события - и есть ли сопоставимая группа, где события не было?

Экологическая ошибка (ecological fallacy · ecological inference fallacy · перенос среднего на индивида)

Свойство группы, посчитанное в среднем, переносят на каждого её участника.

Статистика уровня группы и статистика уровня индивида - разные величины; связь между ними может отличаться по силе и даже по знаку. Конкурирующее объяснение агрегатной связи обычно не в поведении людей, а в составе групп и весах подгрупп; крайний случай - парадокс Симпсона, когда тренд в каждой группе противоположен тренду в объединении (глава 09). Зеркальная ошибка называется атомистической: индивидуальную закономерность переносят на группы, игнорируя координацию, специализацию и распределение задач.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

В районе A средний доход выше, чем в районе B.

Значит, знакомый из района A зарабатывает больше знакомого из района B.

Среднее ничего не говорит о конкретной паре людей: в A может быть несколько очень обеспеченных домохозяйств и много скромных. Разброс внутри районов больше, чем разница между их средними.

Ситуация на работе

Что ответить

Команды с высоким покрытием тестами реже роняют прод - отсюда делают вывод, что каждый инженер, подняв покрытие своего модуля, снизит свои инциденты. Единица анализа подменена: на уровне команды работают ревью, CI, дежурства и то, какие сервисы ей достались, а не покрытие само по себе. Тот же промах в перформанс-обзоре ("в команде высокий throughput" не делает высоким throughput каждого) и в SLO: 99,9% доступности на весь сервис не означает 99,9% для каждого клиента - один арендатор может ловить весь бюджет ошибок. Объявляйте единицу анализа - запрос, сессия, пользователь, команда - до того, как считаете, и не смешивайте уровни в одном выводе.

Какая здесь единица анализа - группа или отдельный человек? Разброс внутри групп не больше, чем разница между ними?

Ошибка историка (historian's fallacy · суд задним числом · hindsight в оценке решений)

Прошлое решение оценивают знанием, которого у решавшего в тот момент не было.

Подменяется информационное состояние: исход уже известен, и сигналы, которые к нему вели, задним числом выглядят выделенными, а десятки равнозначных сигналов, тонувших тогда в шуме, невидимы. Конкурирующее объяснение - не "человек не подумал", а "информация в тот момент была неотличима от фона". Когнитивная подкладка ошибки - hindsight bias, "я так и знал" (глава 10). Честная оценка спрашивает, что было доступно на момент решения; ошибка историка спрашивает, почему не догадались о том, что мы знаем сейчас.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Прошлым летом семья выбрала отель по отзывам и фотографиям; на месте под окнами оказалась стройка.

Как можно было не проверить - надо было просто выбрать другой отель.

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

Ситуация на работе

Что ответить

В постмортеме звучит: "алерт же был в 3:40, почему дежурный не среагировал". В 3:40 этот алерт был одним из семнадцати, четырнадцать из которых шумят каждую ночь; выделенным он стал только после того, как мы узнали ответ. Отличие от честного разбора принципиальное: постмортем реконструирует, какая информация была доступна, что мешало её увидеть, и добавляет сигнал, runbook или автоматику - то есть меняет систему; ошибка историка ищет, кто не догадался, - и учит людей писать в отчётах поменьше подробностей. Отсюда правило blameless-разбора, таймлайн строго по доступным на тот момент данным и decision log с обоснованием, записанным до результата.

Что было известно человеку в ту минуту - и как это выглядело среди остального шума? Мы оцениваем решение или уже известный исход?

Неполное сравнение (incomplete comparison · сравнение без базы · "на 30% лучше")

Сравнительное утверждение предъявляют без второго члена сравнения, без базы и без условий измерения.

"Быстрее", "дешевле", "на 40% эффективнее" - двухместные отношения. Пока не сказано, с чем, при каких условиях и по какой метрике, проверить их нельзя, и слушатель достраивает самый выгодный говорящему вариант. Конкурирующие объяснения прячутся ровно в умолчаниях: база выбрана удобная, знаменатель не назван, показан относительный эффект вместо абсолютного, окно подобрано. Родственные приёмы - ошибка знаменателя и подмена абсолютного риска относительным (глава 09).

Ситуация в жизни

Что Вам говорят

Почему это ошибка

На упаковке йогурта: "Новая формула - на 50% меньше сахара".

Значит, продукт малосладкий и подходит тем, кто следит за питанием.

Не сказано, меньше чем что: чем прошлая версия того же бренда, где сахара было вдвое больше обычного? Половина от много - всё ещё много. Без исходного уровня и абсолютных граммов на порцию сравнение непроверяемо.

Ситуация на работе

Что ответить

"Новый сервис в три раза быстрее" - быстрее чего: старой версии на холодном кэше, на другой машине, при другом профиле нагрузки? Какая метрика - среднее или p99, на какой доле запросов, сколько длился прогон? Классика отчёта после релиза: "ошибок стало на 50% больше" без числа запросов - при удвоившемся трафике error rate на самом деле упал. Требуйте пять вещей: числитель, знаменатель, базу сравнения, окно и абсолютные значения с разбросом. В бенчмарках добавьте конфигурацию обеих сторон - иначе сравнивается не система, а старания настройщика.

Быстрее, дешевле, лучше - чем именно, по какой метрике и при каких условиях? Какие тут абсолютные числа и знаменатель?

Ошибка игрока (gambler's fallacy · ошибка Монте-Карло · "должно выпасть")

От независимого случайного процесса ждут, что он компенсирует предыдущую серию.

Если испытания независимы и вероятность постоянна, прошлые исходы не меняют следующий: у монеты нет памяти. Частоты выравниваются не отдачей долга, а разбавлением серии массой новых испытаний. Зеркальная крайность - вера в "горячую руку", когда серию принимают за доказательство закономерности. Обе версии делают одну и ту же необъявленную ставку на модель, поэтому первым проверяют не длину серии, а само допущение независимости: реальный процесс бывает автокоррелированным, изношенным или зависящим от общего ресурса.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

В лотерее пять розыгрышей подряд не выпадало число 17.

Значит, сейчас у 17 больше шансов - оно уже "должно" выпасть.

Шар не помнит прошлых тиражей: вероятность та же, что в первый раз. Силы, выравнивающей частоты на коротком отрезке, не существует; равенство частот наступает на бесконечности, не в следующем тираже.

Ситуация на работе

Что ответить

"Четыре ночи дежурство было спокойным - сегодня точно рванёт" и зеркальное "десять зелёных сборок подряд, пайплайн стабилен, можно снять проверки". Оба вывода принимают независимость на веру. Полезнее противоположный ход: если flaky-тест падал в 4 случаях из 100, а сегодня упал трижды за час, вероятность такого при независимости ничтожна - значит, испытания зависимы, и надо искать общий ресурс, соседний деплой или исчерпание пула соединений. То же с ретраями: серия таймаутов - обычно не невезение, а насыщение. Считайте ожидаемую длину серии при вашей базовой частоте и сравнивайте с наблюдаемой.

Испытания здесь действительно независимы? Если да - прошлое не влияет на следующий исход; если нет - серия говорит об изменении процесса, а не о долге случайности.

Черри пикинг (cherry picking · подавленное свидетельство · suppressed evidence)

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

Отбор делает выборку нерепрезентативной не случайно, а по признаку согласия с тезисом, поэтому вывод предопределён процедурой, а не данными. Конкурирующее объяснение всегда одно и то же и всегда за кадром: невыбранные наблюдения. Частные формы - удобное временное окно, показ только выживших случаев (систематическая ошибка выжившего) и p-hacking, где гибкость анализа используют до получения нужного результата. От добросовестного отбора отличается тем, что критерий сформулирован после просмотра данных и не раскрыт.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Знакомый советует онлайн-курс и присылает пять восторженных отзывов.

Отзывы отличные - значит, курс работает.

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

Ситуация на работе

Что ответить

В отчёте по релизу: конверсия +12% за выбранные девять дней. За кадром - что окно начинается сразу после провального понедельника, что на него пришлась рассылка скидок, что retention и возвраты не показаны, а из двадцати метрик приведены две. То же в бенчмарках: своя система на своём профиле нагрузки, чужая - на дефолтном конфиге и без прогрева. Защита процедурная: primary metric, окно, guardrail-метрики и правило остановки фиксируются до эксперимента, отрицательные результаты публикуются наравне с положительными, а сырые данные лежат рядом с выводом.

Какие данные того же качества мы не показали? Метрика и окно были выбраны до того, как мы увидели результат?

Ретроспективный детерминизм (retrospective determinism · "это было неизбежно" · нарратив неизбежности)

Из того, что событие произошло, заключают, что оно и не могло не произойти.

Реализовавшийся исход кажется единственно возможным, потому что альтернативные ветки больше не наблюдаемы: мы видим одну траекторию и достраиваем к ней связное объяснение. Работают два механизма - hindsight bias, перестраивающий память о прежних ожиданиях, и нарративная тяга объяснять исход цепочкой шагов, которые к нему "вели". Конкурирующее объяснение простое: вероятность была средней, а реализовалась одна ветка из нескольких. Проверяется тем, какие оценки давались до события, а не тем, насколько гладко звучит рассказ после.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Двое случайно разговорились в очереди, а через год поженились.

Им было суждено встретиться, всё к этому и шло.

Неизбежность приписана после факта: тысячи очередей, где ничего не случилось, в рассказ не попадают. Событие произошло - из этого не следует, что его вероятность была высокой.

Ситуация на работе

Что ответить

После инцидента разбор звучит как "эта архитектура рано или поздно обязана была упасть". Возможно; но той же логикой одинаково гладко объясняются и три предыдущих года, когда она не падала. Вред двойной: команда переписывает то, что не было главным вкладом, и одновременно теряет способность отличать реально высокий риск от объяснения задним числом. Противоядие - записывать прогнозы с вероятностями заранее: decision log при выборе решения, premortem перед запуском ("представьте, что через полгода это упало, назовите причины"), а после инцидента сверять записи. Тогда видно, было ли падение предсказано или неизбежность дорисована.

У нас есть запись, что до события мы считали такой исход вероятным? Какие ветки были возможны тогда и что именно их закрыло?

Ошибка единственной причины (causal oversimplification · single cause fallacy · поиск виноватого)

У результата с несколькими взаимодействующими причинами называют одну и считают объяснение законченным.

Сложные исходы обычно рождаются из совпадения условий, каждое из которых по отдельности недостаточно. Назвав один фактор, мы не исключили остальные - и, что хуже, останавливаем поиск. Конкурирующие объяснения тут не альтернатива, а дополнение: часть вклада приходится на общую причину, часть на отбор, часть на совпадение. Отдельная разновидность - свести многофакторный результат к виноватому: это переводит разговор с механизма на человека и обычно заканчивает разбор раньше, чем он начался.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Ужин подгорел, гости разошлись рано, вечер не удался.

Всё из-за духовки - она перегревает.

Одновременно сошлись: новый рецепт, время посчитано от другой порции, таймер не заведён, гостей позвали на будний вечер. Духовка могла быть частью объяснения, но одна она этого исхода не даёт - а назвав её, хозяева остальное проверять не стали.

Ситуация на работе

Что ответить

"Причина инцидента - тяжёлый SQL-запрос". Рядом обычно лежат ещё четыре условия: индекс не доехал с миграцией, ретраи без backoff, пул соединений на 20 и алерт с порогом выше реального SLO. Инцидент случился потому, что совпали все пять; убрав одно, вы снижаете вероятность, но не закрываете класс отказов. Поэтому в постмортеме пишут contributing factors и цепочки механизмов, а не единственный root cause: "пять почему" вдоль одной ветки даёт узкое исправление и ложное чувство закрытия. Тот же промах на другом масштабе - "проект провалился из-за архитектуры", где за кадром спрос, сроки, бюджет, зависимости и governance.

Если бы этого фактора не было - исход точно не наступил бы? Какие ещё условия должны были совпасть, чтобы получилось именно так?

Категории ошибок: Язык и авторитет

Апелляция к авторитету (argumentum ad verecundiam · appeal to authority · ложный авторитет)

Вместо основания предъявляют имя того, кто высказался.

Ошибка начинается не там, где сослались на эксперта, а там, где ссылка заняла место довода. Три типичные формы: авторитет говорит вне своей области; его мнение подают как доказательство, а не как свидетельство; источник вообще не назван - "учёные доказали", "в индустрии известно", - и потому непроверяем. Законный случай прямо противоположен: специалист высказывается внутри своей квалификации, поле не спорит с ним всерьёз, конфликт интересов виден, мнение передано в контексте, а первичные данные недоступны или дороги. Тогда "X так считает" - нормальное основание поверить с оговоркой, но не основание запретить проверку.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Пятно на потолке в ванной - скорее всего, от протечки сверху.

Мой стоматолог сказал, что такие пятна всегда от конденсата.

Стоматолог компетентен в зубах; о влаге в перекрытии его слово - обычное частное мнение, и оно вытеснило самый простой шаг: подняться к соседям и посмотреть. Скажи то же самое кровельщик, чинивший сотню таких потолков, - это было бы свидетельством, поводом проверить его версию первой, но всё равно не заменой осмотру.

Ситуация на работе

Что ответить

"Так сказал главный архитектор" закрывает вопрос о времени ответа, который решается замером за двадцать минут. Отдельная разновидность - анонимный авторитет: "это best practice", "в большой компании такое уже проходили" - без имени, масштаба, версии и условий, где именно это проверялось. Там, где доступна метрика, ссылка на человека - всегда более слабое основание, чем цифра.

"Это его область, и на какие данные он опирался?" Если первичное измерение доступно - сделать его, а не пересказывать мнение.

Апелляция к природе (appeal to nature · argumentum ad naturam · натуралистическая апелляция)

Из того, что вещь назвали "естественной", выводят, что она хорошая.

Слово "естественный" в споре означает сразу несколько несовместимых вещей: возникшее без вмешательства человека, привычное, биологически обусловленное, безвредное, экологичное. Довод держится не на одном из этих значений, а на положительной окраске слова, общей для всех. Из происхождения вещи её ценность не следует: болиголов естественен, антибиотик и шифрование - нет. Зеркальная форма - "искусственное, значит вредное" - та же подмена с другим знаком.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

В тесто для пирога нужен разрыхлитель.

Не надо химии, лучше на закваске - это натурально.

"Натурально" подставлено вместо ответа на вопрос, который на самом деле решают: вкус, время и предсказуемость подъёма. Сода и закваска различаются химией процесса и сроками, а не степенью природности, и спорить надо об этом.

Ситуация на работе

Что ответить

"Ручной деплой честнее - там живой человек смотрит", "этот фреймворк заставляет писать неестественный код", "органический рост лучше платного". Ручной шаг не безопаснее автоматического из-за своей естественности: сравнивают частоту ошибок и время восстановления. Пока не названо конкретное ухудшаемое свойство - читаемость, связность, стоимость правки, - "неестественно" означает "непривычно мне".

"Какое свойство мы на самом деле обсуждаем - безопасность, вкус, цену? Назовём его и сравним напрямую."

Личное непонимание (аргумент от недоверия) (argument from incredulity · argumentum ad ignorantiam personalis · апелляция к личному недоверию)

"Я не могу это представить" подают как "этого не может быть".

Посылка говорит о состоянии воображения говорящего, вывод - об устройстве мира; перехода между ними нет. Трудность вообразить механизм - сведения о знаниях спорящего, а не о явлении. Зеркальная форма - "иначе это никак не объяснить, значит верна моя версия": нехватка фантазии превращается в доказательство единственной альтернативы. Источником довода здесь выступает сам говорящий: он подставляет свой опыт как границу возможного.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Соседский подросток сам собрал себе компьютер из деталей.

Да ладно. Я в его возрасте мышку подключить не мог. Значит, ему кто-то собрал.

Своя биография объявлена мерой того, что бывает. Проверяется это без домыслов одним вопросом: попросить показать, как он подбирал материнскую плату под процессор.

Ситуация на работе

Что ответить

"Не верю, что этот запрос отрабатывает за 8 мс, не бывает так" - и дальше спор вместо профилировщика и плана выполнения. Тот же приём на ревью: "я не понимаю, как это работает, значит неправильно". Непонятность кода бывает настоящим замечанием, но тогда возражение формулируется как "нечитаемо, перепиши" и адресовано форме, а не как "неверно" и адресовано поведению.

"Какой механизм это объясняет и каким измерением его проверить?" Непонимание - повод задать вопрос, а не готовый вывод.

Ошибка двусмысленности (equivocation · эквивокация · подмена значения термина)

Одно и то же слово в двух посылках значит разное, а вывод пользуется обоими значениями сразу.

Термин незаметно меняет объём между посылками: в первой он широкий, во второй узкий, и связка держится только на совпадении букв. Маркер - слово, у которого есть бытовое и техническое значение: "свободный", "открытый", "средний", "нормальный", "безопасный". Лечится индексацией: выписать свобода₁ (отсутствие любых ограничений) и свобода₂ (возможность делать выбор) - после этого переход исчезает вместе с выводом.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

В читальном зале нельзя разговаривать и есть.

Свобода - это когда нет запретов. В библиотеке есть запреты. Значит, библиотека лишает людей свободы.

В первой фразе "свобода" - отсутствие любых ограничений, во второй речь идёт о свободе читать и слышать себя. Правила ограничивают первое ради второго; одно слово скрыло, что это разные вещи, и без него вывод не строится.

Ситуация на работе

Что ответить

Слово "готово". В планёрке - "код написан", в обещании заказчику - "работает у пользователей"; статус в трекере ставят по первому значению, срок называют по второму. То же с "стабильным" (не падает / не меняет контракт), "покрытием" (строки исполнены / поведение проверено), "средним временем ответа" (среднее / медиана / p99) и "безопасно" (нет известных уязвимостей / проверено).

"В каком значении здесь это слово? Запишем оба и посмотрим, остаётся ли вывод верным при каждом."

Аргумент к традиции (appeal to tradition · argumentum ad antiquitatem · апелляция к старине)

"Так делали всегда" подставлено вместо основания, почему так и надо делать.

Возраст практики говорит о том, что она пережила какое-то время, а не о том, что она лучшая из доступных и что условия с тех пор не изменились. Ошибка - когда срок закрывает вопрос "зачем именно так" и превращает привычку в норму. Законный случай другой и его надо назвать: практика, долго применявшаяся в тех же условиях и не дававшая заметных отказов, - это настоящее, хотя и слабое свидетельство работоспособности; сюда же относится забор Честертона - прежде чем убирать правило, выясни, зачем его ставили. Разница в том, ссылаются ли на срок как на данные о работе или как на запрет обсуждать.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Может, в этом году соберёмся на праздник у нас, а не ехать через полстраны?

Мы тридцать лет ездим к бабушке. Это традиция.

Тридцать лет - свидетельство, что всем это было удобно, и намёк на реальную ценность за традицией. Но как довод срок подан вместо неё: условия изменились, детей стало двое, дорога занимает сутки. Содержательный ответ звучал бы "бабушке важно, чтобы приехали все" - и его можно обсуждать.

Ситуация на работе

Что ответить

"Мы всегда так деплоили"; "этот скрипт не трогаем, он с 2016 года работает". Второе - не пустой довод: скрипт прошёл сотни релизов, и это данные о надёжности. Пустым он становится, когда мешает спросить, что скрипт делает и почему падает раз в квартал. Симметричная ловушка - выкинуть непонятный шаг из пайплайна, не выяснив, какой инцидент его когда-то породил.

"Что именно эта практика предотвращает? Если ответ есть - запишем его и проверим, актуален ли он сегодня."

Подмена понятий (moving the goalposts · передвижение ворот · подмена критерия)

Условие назвали, условие выполнили - и тогда обсуждаемое понятие тихо заменяют другим.

Механика та же, что у эквивокации, но подменяется не значение слова внутри вывода, а предмет спора целиком: договаривались о "успеет к пятнице", проверяют "а качество?". Само новое требование может быть разумным; ошибка в том, что прежнее объявлялось достаточным и было отозвано задним числом, без объяснения, что изменилось. Признак, отличающий подмену от честного уточнения: не существует результата, который спорящий согласился бы засчитать.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Я поменяю тебе колесо за десять минут.

- Поменял, вот. - Колесо-то поменял, но балансировку не сделал, так что чинить машину ты не умеешь.

Обещание было про колесо и десять минут, проверка внезапно - про "умеет чинить вообще". Второй вопрос сам по себе законный, но он новый, и задавать его надо было до, а не после выполнения первого.

Ситуация на работе

Что ответить

"Покажи бенчмарк" → показали → "но это не прод" → показали canary → "нужен год наблюдений". Вторая форма - подмена метрики: договаривались о p99, в отчёте среднее, и обсуждение уходит на "в среднем-то лучше". Лечится decision rule, записанным до эксперимента: какое число, на каких данных и за какой период считаем достаточным.

"Мы договаривались о другом критерии. Если он больше не годится - скажи, что изменилось, и зафиксируем новый до следующей проверки."

Ошибка определения (definist fallacy · persuasive definition · убеждающее определение)

В определение заранее вложена оценка, и спор выигран до того, как посмотрели на предмет.

Определение перестаёт описывать и начинает утверждать: "микроменеджмент - это необходимый контроль безответственных сотрудников". Кто принял такую формулировку, уже согласился и с оценкой, и с причиной. Родственная форма - определение, скроенное так, чтобы контрпримеры в него не попадали. Признак один: из определения без единого наблюдения следует спорный тезис. Нейтральная замена описывает наблюдаемое ("детальный контроль решений при низкой автономности исполнителя"), а оценку оставляет отдельному доказательству.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Ремонт в квартире вместо месяца занял три.

Хороший мастер - это тот, кто укладывается в срок. Значит, он не мастер, и обсуждать нечего.

Определение построено так, что вопрос о причинах задержки - задержка поставки, скрытая проводка, три раза менявшееся задание - не может даже возникнуть. Нейтральное описание "работа заняла 90 дней при плане 30" оставляет место для проверки.

Ситуация на работе

Что ответить

"Senior - это тот, кто не задаёт вопросов"; "хорошая архитектура - та, где нет связности"; "баг - это то, что заведено в трекере, остальное не баг". Последнее особенно живуче: такое определение делает цель "ноль багов" достижимой без единой правки в коде - достаточно не заводить тикет.

"Это определение или уже вывод? Дай описание, из которого оценка не следует автоматически, и обсудим оценку отдельно."

Этимологическая ошибка (etymological fallacy · appeal to etymology · апелляция к происхождению слова)

Из происхождения слова выводят, каким обязан быть названный им предмет.

Значение слова задано тем, как им пользуются сейчас, а не тем, из чего оно выросло. "Данные" происходят от "данное" - но объективность данных определяется процедурой сбора, а не корнем. Этимология полезна как история понятия и как подсказка, какую метафору когда-то выбрали; свойств предмета она не устанавливает. Отрицательная форма того же приёма: "слово изначально значило другое, значит вы говорите неправильно" - узус меняется, и это не ошибка говорящих.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Давай устроим романтический ужин со свечами.

"Романтический" - вообще-то от римского, от романских языков. При чём тут свечи?

Слово прошло путь от "написанного на народном языке" до "о любви и чувстве"; сегодняшнее значение задано употреблением, а не римским корнем. Спор о корне не отменяет того, что оба собеседника прекрасно поняли, о каком ужине речь.

Ситуация на работе

Что ответить

"Микросервис должен быть микро - у вас на четыре тысячи строк, это не микросервис": приставка стала критерием вместо границы владения и независимого выката. Так же спорят про serverless ("там же есть серверы!"), continuous integration и agile - вместо обсуждения практики обсуждают верность названия практике.

"Как этот термин употребляется у нас сегодня? Зафиксируем это значение - история слова к спору не относится."

Ошибка овеществления (reification · hypostatization · гипостазирование · конкретизация абстракции)

С абстракцией обращаются как с вещью, у которой есть воля, место и собственные требования.

Имя, придуманное для удобства описания, начинает выступать субъектом: "рынок требует", "процесс решил", "архитектура не позволяет". Требует всегда кто-то конкретный - человек, документ или названное ограничение, - и подстановка абстракции убирает из разговора того, с кем можно спорить. Вторая форма - показатель, превращённый в самостоятельную сущность: "поднимем вовлечённость", где вовлечённость существует ровно в виде формулы над логами. Проверка: заменить абстракцию механизмом и посмотреть, осталось ли утверждение осмысленным.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Хочу поставить в прихожей шкаф глубиной шестьдесят сантиметров.

Дизайн квартиры этого не допускает.

Не допускает не "дизайн", а ширина прохода, открывающаяся дверь или чей-то замысел. Пока не сказано, что именно мешает, возразить нечему: абстракция вынесена как приговор. Если мешает вкус - это тоже довод, но обсуждаемый.

Ситуация на работе

Что ответить

"Архитектура требует отдельного сервиса" - требует человек, принявший решение, или ограничение, которое можно назвать вслух. И метрика, ставшая целью: velocity придумана как описание темпа, но как только по ней оценивают команду, растут оценки задач, а не выпуск. То же с "покрытием 80%" и "временем первого ответа на тикет" - измеряемая тень объекта подменяет собой объект.

"Кто именно требует и на каком основании?" Для метрики - "что произойдёт с самим объектом, если число вырастет, а поведение не изменится?"

Апелляция к последствиям (appeal to consequences · argumentum ad consequentiam · аргумент к следствиям)

Неприятность последствий выдают за ложность утверждения, приятность - за истинность.

Истинность утверждения и желательность его следствий - разные вопросы, а довод их склеивает: "если это правда, всё придётся переделывать, значит это неправда". Работает здесь только нежелание переделывать. Законная и совершенно другая вещь - довод о решении: последствия обязаны влиять на то, что делать, но не на то, что есть на самом деле. Проверка одна: о чём идёт спор - о факте или о выборе действия.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Кажется, за ванной подтекает труба - у соседей снизу пятно на потолке.

Не может быть. Иначе придётся вскрывать плитку, а мы её месяц клали.

Стоимость ремонта не сообщает ничего о состоянии трубы: она либо течёт, либо нет. Про плитку говорить уместно, когда решают, чинить сейчас или после отпуска, - но не когда выясняют, есть ли протечка.

Ситуация на работе

Что ответить

"Если признать этот дефект блокирующим, релиз сдвинется - значит, он не блокирующий". Тяжесть определяется воздействием на пользователя, дата релиза - отдельным решением, которое можно принять осознанно и с известным риском. Обратная форма: "эта схема даст нам десятикратный запас, поэтому она правильная" - желаемый результат подставлен вместо оценки цены и рисков.

"Мы сейчас спорим о том, как есть, или о том, что делать? Сначала зафиксируем факт, потом решим, что с ним делать."

Апелляция к новизне (appeal to novelty · argumentum ad novitatem · аргумент к новому)

"Это новее" подставлено вместо "это лучше".

Дата выпуска - не то свойство, за которое платят. Новое решение может снимать старое ограничение, а может просто не успеть накопить известные проблемы: у него меньше эксплуатационного опыта, и новизна означает скорее неопределённость, чем преимущество. Довод становится содержательным, когда названо, что именно изменилось и какой ценой; и остаётся пустым, пока держится на одной приставке "современный".

Ситуация в жизни

Что Вам говорят

Почему это ошибка

Нужен чайник взамен сгоревшего.

Бери с сенсорной панелью, это же последняя модель.

Год выпуска не говорит ни о скорости нагрева, ни о том, сколько живёт сенсор во влажной кухне. Содержательным довод стал бы так: "в новых моделях сменили нагреватель, накипь оседает меньше" - и это уже можно проверить.

Ситуация на работе

Что ответить

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

"Что конкретно изменилось в новой версии и какую нашу проблему это решает?"

Хронологический снобизм (chronological snobbery · presentism · снобизм современности)

Утверждение отвергают за то, что оно старое, - будто более поздняя эпоха уже опровергла всё, что было раньше.

Оценка переносится с содержания на дату: "так думали в девяностых", "это подход прошлого века". Подменяется здесь источник - эпоха выдана за инстанцию, выносящую приговор, хотя приговор выносят наблюдения. От апелляции к новизне отличается направлением: там хвалят новое, здесь дискредитируют старое, но обе опираются на порядковый номер во времени вместо разбора. Довод становится содержательным ровно тогда, когда названо, какое наблюдение или ограничение с тех пор изменилось.

Ситуация в жизни

Что Вам говорят

Почему это ошибка

По бабушкиному рецепту тесто должно постоять час в тепле.

Это прошлый век, сейчас всё делают комбайном за пять минут.

Час нужен дрожжам, а не традиции; комбайн ускоряет замес, а не брожение. Утверждение можно опровергнуть свойствами дрожжей и температурой - но не возрастом рецепта.

Ситуация на работе

Что ответить

"Реляционная база - устаревший подход", "серверные сессии? так делали до SPA". Возраст решения не довод; довод - какое ограничение исчезло: подешевела память, появилась репликация, изменился профиль нагрузки. Обратная сторона: старые тексты про надёжность и сложность систем не устарели, потому что описывают свойства, не зависящие от моды на инструменты.

"Что мы узнали с тех пор, что делает это неверным?" Если ответа нет - возраст к делу не относится.

Бонус: песочница

Ну и бонусом, так как я исследую отдельный вид программирования, то в его песочнице https://digitable-lol.github.io/flang/playground.html вышла проверялка силлогизмов

Тут Вы вводите текст

Тут Вы вводите текст

А ниже видите разбор истинности суждения :)

Чуть позднее добавлю нативный вывод кванторов, теорката и так далее

Чуть позднее добавлю нативный вывод кванторов, теорката и так далее

Бонус: все ошибки в одном сообщении разрабу и тимлиду

А теперь представим, что все 67 ошибок собрали в одном рабочем сообщении. Получилось два примера: один прислали разработчику на ревью, другой - тимлиду в ответ на оценку сроков. Персонажи вымышленные, концентрация софистики намеренно завышена.

Числа в квадратных скобках соответствуют номерам ошибок в исходном каталоге Digitable Courses. Можно сначала прочитать сообщения без подсказок и попробовать распознать подмены.

Сообщение разработчику

Разработчик предложил добавить синхронизацию доступа к кешу и регрессионный тест. В ответ ревьюер прислал:

Ты вечно невнимательный, поэтому твоё замечание о гонке неверно [1]. Сам вчера тесты не написал [4]. Теперь предлагаешь каждую переменную обложить согласованиями и вообще перестать выпускать код [9]. Идею ты взял из студенческого блога, значит, она несостоятельна [24]. На самом деле тебе просто страшно брать ответственность [48]. Ты заинтересован раздуть задачу, чтобы выглядеть занятым, поэтому твои расчёты неправильные [55]. Пока так раздражённо пишешь, проблему обсуждать не буду [56]. Такой подход использовала компания, которая потом обанкротилась, - уже понятно, что он плохой [57]. Сначала запусти столько сервисов, сколько я, потом возражай [58]. Прочитай весь репозиторий и все обсуждения за пять лет, иначе твой вопрос можно не рассматривать [59]. Твоё предложение, конечно, ошибочно; интереснее, какая детская травма заставляет тебя любить блокировки [62].

Кстати, почему никто не обсуждает, сколько у нас красивых новых экранов? [3] Когда ты перестанешь саботировать релизы своими проверками? [7] Я над этим модулем все выходные сидел - у тебя вообще сердце есть? [18] Ты написал "можно выкатывать после нагрузочного теста"; вот твои слова "можно выкатывать", разрешение получено [38]. Не согласен с одним методом - значит, отвергаешь всю нашу архитектуру [41]. Хороший коллега поддерживает команду, следовательно, командное решение технически правильное [44]. Работает - не трогай [51]. А твой сценарий - просто чушь [53]. В соседнем сервисе тоже нет синхронизации, поэтому и нам можно [65].

Для всех тесты обязательны, но моему модулю исключение положено: он особенный [6]. Решение надёжное, потому что оно правильное, а правильное - потому что надёжное [10]. У корректного кода тесты зелёные; здесь зелёные, следовательно, код корректен [15]. Докажи, что при любой нагрузке возможен сбой, иначе считаем безопасность доказанной [17]. Причина ошибки - конфигурация или код; конфигурация неправильная, значит, код точно чистый [26]. Никто не доказал наличие уязвимости, следовательно, её нет [29]. Если есть гонка, возможен сбой; гонки здесь нет, поэтому никакие сбои невозможны [33]. Модуль готов. Готов. Я сказал: готов [46]. Ты утверждаешь, что кеш возвращает устаревшие данные, но приложение быстро запускается - твоё замечание опровергнуто [54]. Это моё мнение, я имею на него право, поэтому обосновывать не обязан [64]. Все нагрузочные прогоны завершились успешно; прогонов пока было ноль, значит, готовность подтверждена [66]. А в твоём объяснении я нашёл логическую ошибку - следовательно, гонки точно не существует [67].

Два запроса прошли - при любой нагрузке всё будет хорошо [2]. Сегодня добавим один тест, завтра тысячу, потом релизы остановятся и бизнес закроется [5]. Либо мержим сейчас, либо ты против продукта [8]. Каждая функция быстрая, поэтому весь сервис гарантированно быстрый [13]. Система надёжная, значит, любая её функция надёжна [14]. Настоящий разработчик таких багов не допускает; допустил - значит, разработчиком не считается [19]. Ты предлагаешь ноль потерянных записей, я допускаю сто: пятьдесят будет объективно правильным ответом [25]. Точную границу между небольшой и большой нагрузкой провести трудно, поэтому между ними вообще нет разницы [30]. В кафе один кассир обслуживает очередь без блокировки - сервер должен работать так же [32]. Твой пробел в отступах и моя потеря пользовательских данных - одинаковые баги, обсуждать серьёзность бессмысленно [39]. Тесты всё равно не находят абсолютно все ошибки, поэтому добавлять их незачем [45].

У меня на ноутбуке всё работает - значит, работает везде [16]. Я сначала посмотрел результаты ста прогонов, затем придумал правило "надёжны сервисы с названием на S": именно удачные прогоны под него подошли, значит, закономерность открыта [20]. Чем больше у нас микросервисов, тем выше выручка, следовательно, выручку создаёт само дробление [21]. Мы уже потратили на этот кеш месяц, поэтому обязаны его оставить [28]. После установки плагина тесты ускорились - значит, ускорил именно плагин [34]. У нашей команды лучшая средняя производительность, следовательно, каждый написанный тобой обработчик быстрее чужих [36]. Сегодня по полным логам причина очевидна - значит, вчера до аварии ты тоже обязан был её знать [40]. Новая реализация на 40% быстрее; относительно чего и по какой метрике - неважно [42]. Пять выкладок прошли успешно, шестая теперь обязана упасть, случайность должна выровняться [43]. Из ста замеров приложу только три удачных: они и доказывают стабильность [47]. Прошлый релиз упал - теперь ясно, что иначе он закончиться не мог [50]. Во всём виноват один медленный запрос; лимиты, ретраи и настройки пула исследовать не требуется [52].

Архитектор сказал, что решение верное, следовательно, оно верное [11]. Ручное управление кешем естественнее автоматического, поэтому безопаснее [12]. Я не понимаю, как твой вариант может работать, следовательно, он работать не может [22]. Код "готов" в смысле написан - значит, "готов" и в смысле проверен на пользователях [23]. Мы всегда так делали, поэтому так делать правильно [27]. Я обещал принять решение после бенчмарка; бенчмарк прошёл, но теперь потребую год эксплуатации, а потом придумаю ещё условие [31]. Надёжным кодом по определению называется код, который одобрил я; мой код одобрен мной, вопрос закрыт [35]. Микросервис обязан занимать мало строк: в названии же "микро" [37]. Архитектура сама требует эту реализацию, спрашивать, кто и зачем её выбрал, бессмысленно [49]. Если баг настоящий, придётся переносить релиз, поэтому баг ненастоящий [60]. Библиотека вышла вчера, следовательно, она лучше проверенной [61]. А твои рассуждения о транзакциях из прошлого века, поэтому неверны [63].

Мержи.

Сообщение тимлиду

Тимлид показал риски запуска и попросил время на устранение проблем. Руководитель ответил:

Ты просто слабый руководитель, поэтому твоя оценка срока неправильная [1]. Сам в прошлом квартале торопил соседнюю команду [4]. Теперь хочешь бесконечный бюджет и полгода ничего не выпускать [9]. Твой план пришёл от консультантов, а всё консультантское бессмысленно [24]. На самом деле ты боишься потерять авторитет перед командой [48]. Ты просишь людей, потому что заинтересован увеличить своё подразделение, значит, расчёт загрузки ложный [55]. С таким недовольным тоном обсуждать сроки не будем [56]. Этой методикой пользовался наш провалившийся конкурент, поэтому методика плохая [57]. Построишь компанию моего размера - получишь право оценивать решения [58]. Пока не изучишь все управленческие книги из моего списка, твои возражения не заслуживают ответа [59]. Твой план ошибочен; осталось объяснить, какие комплексы заставили тебя его предложить [62].

Лучше поговорим о том, сколько наград получила компания [3]. Почему ты опять прикрываешь безделье команды разговорами о рисках? [7] Люди ждут премии, а ты хочешь лишить их праздника своим переносом [18]. Ты написал "срок достижим при сокращении объёма"; я процитировал наверх "срок достижим", этого достаточно [38]. Возражаешь против одной даты - значит, не разделяешь стратегию компании [41]. Порядочный сотрудник верен компании, следовательно, верность доказывает правильность нашего плана [44]. Кто хочет - ищет возможности [51]. А твоя оценка - ерунда [53]. Другие отделы тоже скрывают переработки, значит, и нам допустимо [65].

Все обязаны подтверждать сроки расчётами, но мой срок особенный, ему подтверждение не нужно [6]. План реалистичный, потому что его можно выполнить; выполнить его можно, потому что он реалистичный [10]. У сильной команды задачи закрываются; задачи закрываются, следовательно, команда выдержит любую нагрузку [15]. Докажи, что никто никаким способом не успеет к пятнице, иначе пятница обоснована [17]. Провал бывает из-за ресурсов или управления; ресурсов мало, следовательно, управленческих ошибок нет [26]. Невозможность запуска никто окончательно не доказал, значит, запуск точно возможен [29]. Если команда перегружена, сроки могут сорваться; команда не перегружена, следовательно, срыв невозможен [33]. Срок реалистичный. Реалистичный. Запиши: реалистичный [46]. Ты говоришь, что дежурные не успевают реагировать, но клиенты любят наш дизайн - твоё замечание неверно [54]. Я имею право на собственное управленческое мнение, этого достаточно для его правильности [64]. Все аварийные переключения у нас успешны; переключений ещё не было, следовательно, готовность доказана [66]. В твоей презентации есть ошибочный вывод, значит, нехватки ресурсов не существует [67].

Два сотрудника справились с авралом - вся команда может работать так постоянно [2]. Сегодня перенесём релиз, завтра клиенты перестанут верить, затем инвесторы уйдут и компания исчезнет [5]. Либо запускаемся в пятницу, либо признаём команду ненужной [8]. Каждый сотрудник укладывается в свои задачи, значит, весь проект гарантированно уложится независимо от зависимостей [13]. Отдел успешный, следовательно, каждый сотрудник в нём успешен [14]. Настоящие тимлиды сроки не срывают; сорвал - значит, не настоящий тимлид [19]. Ты оцениваешь работу в восемь недель, я в две: пять недель и есть доказанный срок [25]. Точную границу между рабочей нагрузкой и перегрузкой определить трудно, поэтому перегрузки вообще нет [30]. Спортсмены тренируются через усталость, следовательно, инженерам тоже полезно постоянно работать сверхурочно [32]. Задержка внутреннего отчёта и суточная остановка оплаты - одинаковые нарушения сроков [39]. Новый процесс не исключит все инциденты, поэтому вводить его бессмысленно [45].

Я однажды руководил проектом без планирования, и всё получилось: планирование никому не нужно [16]. Я просмотрел результаты отделов, потом выбрал совпавший признак успешных - короткие стендапы; теперь это доказанный рецепт успеха [20]. С ростом числа совещаний росла выручка, значит, выручку увеличивают совещания [21]. В инициативу вложили сорок миллионов, поэтому продолжать её выгодно независимо от будущих расходов [28]. После смены тимлида метрики выросли, следовательно, единственная причина роста - смена тимлида [34]. У отдела высокая средняя загрузка, значит, каждый его сотрудник перегружен одинаково [36]. Теперь мы знаем, что поставщик задержал интеграцию; значит, ты обязан был знать это ещё при подписании плана [40]. Производительность стала выше на 30% - что считали производительностью и с чем сравнивали, уточнять незачем [42]. Три квартала были неудачными, четвёртый обязан стать успешным: полоса должна закончиться [43]. Для подтверждения успеха программы покажем только команды, у которых показатели выросли [47]. Раз проект провалился, значит, провал с самого начала был неизбежен [50]. Причина всех проблем - один тимлид; бюджет, зависимости и решения руководства рассматривать не будем [52].

Этот подход рекомендовал известный предприниматель, следовательно, в наших условиях он обязательно верен [11]. Самоорганизация естественна, поэтому команда без явных правил всегда эффективнее [12]. Не могу представить, чтобы нормальным специалистам требовалось столько времени, значит, оценка завышена [22]. Команда "взяла задачу" в смысле согласилась исследовать - значит, "взяла обязательство" выпустить её к пятнице [23]. У нас десять лет согласуют всё через меня, следовательно, это лучший порядок [27]. Ты выполнил условие по выручке, но теперь для признания результата потребую ещё удержание, затем найду следующий показатель [31]. Эффективная команда - по определению та, которая выполняет мои планы; следовательно, невыполнение любого моего плана доказывает неэффективность [35]. "Менеджер" означает управляющий, поэтому любое решение он обязан принимать лично [37]. Бизнес требует эту дату; кто её выбрал и из каких ограничений, спрашивать нельзя [49]. Если твоя оценка правдива, придётся пересматривать обещания инвесторам, поэтому оценка ложная [60]. Метод управления новый, следовательно, лучше нашего [61]. А твои принципы ограничения нагрузки придуманы давно, поэтому больше не действуют [63].

Жду подтверждение срока до конца дня.

View the original on Хабр →

KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.