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

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

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

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

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

И уже потом это всё можно объединить с приходом электричества и таблиц истиннности, так как ваши компьютеры, сантехника и электрика работают на той же логике

А дальше после теории множеств и теории групп, появляется теория категорий, там помимо метаматематики можно уловить связь теории категорий и силлогизмов на стыке современной математики и классической философии. То есть условно в современной логике силлогизм Аристотеля ("Если все A есть B, а все B есть C, то все A есть C") рассматривается как фундаментальный акт композиции морфизмов в теории категорий.
Условно объекты категории это понятия, морфизмы являются суждениями

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

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

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

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

Соломенное чучело
Позицию заменяют более удобной для опровержения версией и опровергают замену
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Вы предлагаете раз в неделю сверять баланс карты с запланированным бюджетом | То есть теперь мне тебе отчитываться на все покупки? | Опровергается тотальный учёт, которого никто не предлагал вместо обсуждения недельной сверки: сколько она занимает времени и что даёт, это так и не прозвучало. |
Ситуация на работе | Что ответить | |
Вы предлагаете сделать обязтаельное ревью в модуле, который отвечает за проведение платежей. Но Вам говорят: "вы хотите согласовывать каждую строчку и ухудшить time-to-market". Дальше обсуждают уже проблемы TTM, причем ни разу не обсуждают модуль проведения платежей. | Я этого не говорил, я говорил следующее - (тут Вы просто повторяете свое предложение 1 в 1 ну или сокращено). Что ты/вы думаешь/думаете по поводу моего предложения. Жду комментариев. | |

Генетическая ошибка
Идею принимают или отвергают основываясь на том откуда ноги растут у идеи, например кто заинтересован в идее, насколько тщательно её проверили, какие данные были для формирования этой идеи, а саму идею не обсуждают
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Вы говорите, что при приготовлении супа в конце стоит добавить соль | Это примета твоей бабушки, у неё половина советов из ниоткуда | Добавлять соль или нет говорит рецепт, физика или вкусовые предпочтения, но биография бабушки тут непричём |
Ситуация на работе | Что ответить | |
Идея писать юнит тесты через BDD пришла от фронтендеров, у нас это не будет работать, мы же на Go-пишем, мы же бекендеры Ну или прям с работы случай - это у вас так у разработчиков, у инженеров по машинному обучению код пишут по-другому О.о | Откуда идея это отдельный разговор. Что конкретно не сработает? | |

Ошибка психолога
Собственную интерпретацию чужого состояния выдают за само это состояние и дальше спорят с ней
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Вы говорите: мне неудобно ходить в этот зал до него сорок минут идти | На самом деле тебе просто лень заниматься спортом, время тут ни при чём. | Расстояние проверяется картой, а лень это приписанное состояние, о котором собеседник ничего не говорил. Спор с приписанным состоянием не сокращает сорок минут передвижения. |
Ситуация на работе | Что ответить | |
На разборе инцидента (LSR например) коллеги говорят: "ты как дежурный не эскалировал проблему, потому что побоялся показаться некомпетентным специалистом ну или тебе было лень" | Ты присываешь мне состояние лени. Я говорил другое: чтобы сделать это мне нужно было дополнительные 40 минут, которых у меня не было. Давай обсуждать сказанное. | |

Обстоятельственный аргумент к человеку
Тезис объявляют ложным, потому что положение или выгода автора побуждают его так говорить (аля конфликт интересов).
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Фильтр для воды нам не нужен, потому что по анализу в доме вода в норме | Понятно, тебе просто денег жалко, вот и говоришь так | Нежелание тратиться объясняет почему человеку удобен такой вывод, но состав воды определяется анализом, а не состоянием бюджета. |
Ситуация на работе | Что ответить | |
О Вас говорят: "он продвигает managed‑базы, потому что раньше работал в компании что делает клауд" | Интерес и связи там у меня есть, я его не скрываю. Поэтому проверь цифры, вот расчёт, пересчитай и проверь | |

Полиция тона
Ответ по существу откладывают, ссылаясь на форму, громкость или эмоциональность высказывания.
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Ты второй раз забыл забрать посылку, её отправили обратно!!!111 | Пока ты орёшь на меня, я не буду обсуждать эту тему | Посылка уехала к отправителю независимо от громкости разговора. Тон обсуждать можно, но как вторую тему, а не вместо первой |
Ситуация на работе | Что ответить | |
В канале инцидента на Ваше сообщение капсом "АДМИНСКИЙ ПАРОЛЬ В ПУБЛИЧНОМ ДОСТУПЕ!!11" отвечают "давайте без паники" | Согласен, скажу спокойнее. Повторяю: … (тут разумеется уже без капса и ора, иначе смысла не будет xD) Что мы с этим делаем прямо сейчас? | |

Ошибка ассоциации
Идею дискредитируют через того, кто её ещё разделяет.
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Этот способ мыть окна без разводов классно работает! | Это совет из блога, где советуют гвозди микроскопом забивать. | Совпадение источника не переносит на способ ни одного свойства. Окно после мытья либо в разводах, либо нет, и это видно без сведений об остальных советах блога |
Ситуация на работе | Что ответить | |
Вам говорят: "Эту библиотеку разрабатывает контора, которая в другой библиотеке слила данные пользователей, значит, она небезопасна" | Что конкретно в этой библиотеке/способе некорректно? Если наблюдаем какой-то непонятный шаг/функцию назови её/его, посмотрим вместе | |

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

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

Булверизм
Ложность позиции считают уже установленной и сразу переходят к объяснению, почему оппонент до неё дошёл
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Вы говорите: эта подписка невыгодна потому что за год выходит дороже, чем покупать фильмы по отдельности | Ты просто вырос в семье, где на всём экономили, отсюда и страх подписок | Даже если Ваша биография описана верно, она объясняет, почему такой вывод человеку близок, но не проверяет арифметику. Отношение суммы подписки к приобретению фильмов складывается независимо от чьего‑либо детства. |
Ситуация на работе | Что ответить | |
Вам говорят: ты против k8s-оркестратора, потому что обжёгся на прошлой работе и теперь его боишься | Допустим, причины у меня именно такие. Довод я всё же привёл: …. Покажи, где он неверен | |
Категории ошибок: Увод в сторону
По сути все ошибки этой категории связаны со смещением фокуса от изначального утверждения

Увод в сторону
Вместо ответа на вопрос или утверждение вводится другой аргумент, более выигрышный для ответчика, и обсуждение уезжает в сторону этого аргумента.
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Вы говорите: в счёте за интернет второй месяц подряд стоит аренда роутера, который мы уже давно вернули | Зато скорость выросла, у соседей такой нет | Скорость и лишняя строка в счёте независимые факты. Вопрос о возврате денег остался ровно там же, где был, но обсуждать теперь предлагается тариф |
Ситуация на работе | Что ответить | |
На разборе инцидента спрашивают почему никто не реагировал на алерт сорок минут, а отвечают рассказом о том, как быстро потом откатились. | Это тоже стоит обсудить, записал отдельным пунктом. Возвращаюсь к исходному: почему на алерт не реагировали сорок минут? | |

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

Апелляция к эмоциям
Место недостающего основания заменяют на чувство страха, жалости, стыда или насмешки
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Вы обсуждаете с коллегами, что заявку на отпуск подаёте за две недели до даты отпуска. Ваш подчиненный ждёт согласование заявки на отпуск, вы её не согласуете, так как обсуждаете правило. | Ты серьёзно откажешь? У меня билеты куплены, я весь год ждал этой поездки. | Купленные билеты это весомая причина сделать исключение конкретно сейчас, но они ничего не говорят о том, нужно ли само правило. Обсуждались две разные вещи, а решается как одна |
Ситуация на работе | Что ответить | |
Вам говорят: "не отклоняй PR, человек сидел над ним до трёх ночи" | Усилие относится к разговору о нагрузке, а не к корректности кода. Про нагрузку ситуация тяжёлая, и разобраться с ней сможем отдельно. По самому решению, подскажите чем мы рискуем если вольёмся без ревью? | |

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

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

Апеллирование к морали
Вместо того как обстоит дело обсуждают каким оно обязано быть в идеальном мире
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Если выехать в шесть вечера в пятницу, то простоим в пробке часа два | Нормальные люди не строят жизнь вокруг пробок | Реплика оценивает того, кто считает время в пути, а не сам прогноз. От оценки пробка не рассосётся, а вопрос о времени выезда остался без ответа |
Ситуация на работе | Что ответить | |
"Хорошие инженеры не пишут код без тестов" вместо ответа на вопрос, укладываемся ли мы в срок при написании тестов на этот модуль: разговор переезжает с планирования на то, кто здесь хороший инженер. То же в разборе инцидента: "дежурный обязан был проверить дашборд" это про норму, а не про то, почему в четыре утра дашборд не отличал деградацию от штатного пика. В спорах о техдолге: "нельзя оставлять такое после себя" вместо оценки стоимости и риска при невыполнении этих задач по техдолгу | С тем, как правильно, я не спорю. Сейчас мне нужен факт отвечающий на вопрос что именно произошло и что по цифрам? | |

Пресекающее мысль клише
Не отвечая ни на один вопрос используют готовое клише, которым постоянно отвечают. Это самое глупое из софистики, что может быть на мой взгляд.
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Почему мы каждый год продлеваем страховку у этого агента, если у соседнего дешевле? | Так заведено, не выдумывай. | Так заведено описывает привычку, а не причину. Разница в цене не объяснена, но продолжать разговор стало неудобно, а это и есть работа приёма. Или то за что я ненавижу некоторые компании, когда в качестве аргумента используют "так исторически сложилось" и они дальше не слушают. Почему они сами не делают себе фейсом об тейбл? |
Ситуация на работе | Что ответить | |
На вопрос "зачем здесь ретрай с интервалом 50 мс" отвечают "легаси, не трогай", а потом через год следующий человек задаст его снова. Типовые заглушки: "это архитектурное решение", "так у всех", "нет времени на это" в ответ на "сколько это стоит", "сеньоры-помидоры лучше знают". | Возможно, решение и правда верное, мне нужна причина, чтобы случайно его не сломать. Кто вводил это правило и из‑за чего оно появилось? | |

Апелляция к камню
Тезис объявляют абсурдным, не приводя против него ни одного довода, как будто бы вместо возражения пинают камень (это емнип один из вариантов происхождения названия)
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Кажется, счётчик воды врёт: расход вырос втрое, а живём мы так же. | Да ерунда, счётчики не врут. | Это повторение противоположного мнения, а не возражение: не названо ни другой причины роста расхода, ни способа проверить показания. |
Ситуация на работе | Что ответить | |
К архитектурной записке (ADR, TDR, RFC и так далее) приходит комментарий "это оверинжиниринг" без указания, какое требование лишнее и что вместо него дешевле. На груминге оценку в пять дней встречают репликой "да там на час работы", не разобрав ни одного пункта декомпозиции. В обсуждении инцидента: "такого не может быть" вместо запроса логов. Разговор при этом формально идёт по теме, но без единого проверяемого утверждения. | Допускаю, что я неправ. Скажи конкретно: какой шаг лишний или какое допущение/трейдофф здесь не выполняется? | |

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

Особое прошение
Общее правило признаётся, но для своего случая вводится исключение без независимого критерия. Как будто бы есть какой-то маркер позволяющий что-то делать одному и не делать это что-то остальным в рамках правила.
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
В подъезде мусор из общего бака выносят по графику, дежурят все по очереди | Да, но у меня маленький ребёнок и я работаю из дома, так что моё дежурство пусть возьмут соседи | Обстоятельство названо не как критерий, применимый ко всем в такой ситуации, а как повод не выполнять правило именно себе. Ни условий, ни срока, ни возврата в очередь не предложено, исключение существует ровно для одного человека. |
Ситуация на работе | Что ответить | |
"Все сервисы проходят security review перед релизом" и сразу в ответ летит "наш экспериментальный живёт в песочнице пет проект, нам не надо". Исключение легитимно, только если policy заранее задаёт область по данным, доступу и аудитории, со сроком, владельцем и автоматическим истечением. Тот же приём: "этот тест flaky только у нас, отключим у себя", "code freeze не про нашу команду", "линтер здесь мешает, поставим ignore". | Попросить сформулировать исключение как правило: "Запиши критерий так, чтобы он сработал для любого, кто под него попадёт, и назови срок действия" | |

Круговая аргументация
Заключение используется как собственное основание прямо или через цепочку переименований.
Схема: A потому что , B потому что A.
В сжатом виде: A потому что A, где второе A переформулировано другими словами.
Можно просто построить граф в какой-нибудь рисовалке или на листочке, и если между двумя блоками ссылки идут туда-обратно, это круговая аргументация.
Ситуация в жизни | Что Вам говорят и как выглядит диалог | Почему это ошибка |
Вы спрашиваете "кто такая женщина?" | - Женщина это та, кто делает женские дела Тут можно заменить слово женские на всё что угодно | Основание это тот же тезис другими словами. Проверка должна опираться на что‑то внешнее: сверку со вторым источником или собственный результат, а не на само проверяемое утверждение |
Ситуация на работе | Что ответить | |
Метрика качества модели: "модель хорошая, потому что совпадает с разметкой, а разметка хорошая, потому что модель уверенно её воспроизводит". Без независимого golden set система подтверждает сама себя. Тот же круг в эксплуатации: "алерт настроен верно, потому что ложных срабатываний не было, false positive срабатываний не было, потому что он настроен верно"при том, что алерт может не срабатывать вообще. | Назови хоть один факт или причину, что я могу проверить, не принимая заранее исходное утверждение | |

Подтверждение следствия
Из "если A, то B" и наблюдения B делают вывод об A, хотя у B бывают другие достаточные причины
Схема: "если A то B; B; следовательно A" то есть A → B, B ⊢ A.
Она не сохраняет истину: достаточно контрмодели, где A ложно, а B истинно по другой причине; импликация при этом остаётся истинной, посылки истинны, вывод ложен. Источник ошибки чтение "если" как |только если|: достаточное условие принимают за необходимое. Ближайшая валидная форма это modus ponens: A → B, A ⊢ B.
JFYI: символы стрелки и турникета взяты из логики
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Если идёт дождь, то асфальт мокрый | Асфальт мокрый значит, шёл дождь | Асфальт мокрый и после поливальной машины, прорыва трубы, мытья двора и ульты Посейдона. Следствие редко уникально для одной причины, поэтому наблюдение следствия не выделяет причину из списка |
Ситуация на работе | Что ответить | |
"Если сертификат истёк, TLS handshake падает. Handshake падает значит, истёк сертификат". А падает он ещё и из‑за несовпадения cipher suite, неверного SNI, разъехавшегося времени на хосте. То же в CI/CD: "деплой ставит label на PR; label есть значит, был деплой", хотя label просто поставили вручную | Какие ещё причины дают тот же симптом? Перечислим их и отсечём измерением, а не догадками | |

Смещение бремени доказательства
Тезис выдвигает один, а доказывать его ложность требуют от другого. Вроде пошло от Б. Рассела и его чайника. Например "инопланетяне есть, а ты докажи что их нет, давай-давай". Тут придётся немного объяснить.
Первичное бремя несёт тот, кто выдвигает содержательный тезис. Ответ "докажи, что это не так" подменяет посильную задачу предъявить одно свидетельство практически невыполнимой: исчерпать все возможные случаи. Бремя при этом не приклеено к человеку навечно, после предъявления достаточных свидетельств оно переходит, и вторая сторона обязана оспорить данные, показать альтернативу, ограничить вывод или дать контрсвидетельство. Ошибка не в движении бремени, а в отправке его туда, где нет утверждения. Если что спрашивайте в комментах, или погуглите, но тут именно важно понимать, что не только "доказывать должен тот, кто утверждает", а ещё и про дальнейшее движение бремени.
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Мой пропавший ключ лежит в этом мусорном пакете. | Говорю же нет там его, не веришь открой сам и докажи, что его там нет. | Утверждение о содержимом сделал первый, и проверка стоит ему одного движения. Требование к собеседнику доказывать отсутствие превращает необоснованное заявление в позицию по умолчанию: пока не опровергнуто , а значит считается верным. |
Ситуация на работе | Что ответить | |
"Эта библиотека небезопасна, докажите обратное", "мой патч ничего не ломает, найдите, где ломает". Инженерный порядок обратный: изменение обосновывает автор изменения тестом, бенчмарком, планом отката. В safety и security есть законная асимметрия: недоказанность вреда не обязывает бездействовать, решение принимается по цене ошибок первого и второго рода, но предосторожность не делает угрозу доказанной. | "Тезис твой, утверждаешь ты, вот ты и доказывай. Появится доказательство или будет пруф, тогда отвечу по существу" | |

Подтверждение исключения (ложно исключающее или)
Из "A или B" и подтверждения A выводят, что B ложно, хотя "или" может быть включающим. Это вообще отдельный прикол, когда ИЛИ по сути И. Душную схему формы оставлю ниже. Без неё может быть трудно понять если вам предметно хочется разобраться.
Схема: "A или B; A; следовательно не B", можно записать так A ∨ B, A ⊢ ¬B.
Для включающего ∨ форма не сохраняет истину: A и B могут быть истинны вместе, посылки при этом остаются истинными, а вывод ложен.
Валидна она только для явно исключающего "ровно одно из двух": A ⊕ B, A ⊢ ¬B. Для обычного "или" валиден отрицающий модус: A ∨ B, ¬B ⊢ A.
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
В субботу к нам в гости заглянет Аня или Борис. | Аня уже написала, что придёт, значит, Бориса не будет, а значит, что третий стул не ставим | Фраза не обещала, что придёт ровно один. Пока не сказано "кто‑то один из двух", приход Ани не сообщает о Борисе ничего. |
Ситуация на работе | Код из ситуации на работе | |
а ниже
assert упадёт на сотруднике у которого есть и бета-доступ | ||
Что ответить | ||
"Причина инцидента ошибка конфигурации или ошибка кода. Конфиг оказался кривой, значит, код чист" и расследование закрывают, а вторая причина остаётся в проде до следующего раза. Тот же дефект в коде (напишу в правой колонке, а то тут не хватает места для читаемости) | Это „или“ исключающее? Кто и где это зафиксировал? Пока не зафиксировано проверяем оба варианта. | |

Апелляция к незнанию
Отсутствие доказательства выдают за доказательство отсутствия или наоборот. Тут всё тесно связано с методом поиска (можно попробовать сказать научным методом) рассмотрим это дальше.
Две зеркальные схемы:
"не доказано, что P, следовательно не P"
"не доказано, что не P, следовательно P"
Обе невалидны, потому что незнание состояние знающего, а не свойство мира. Отсутствие доказательства становится доказательством отсутствия только при выполненных условиях: искали подходящим методом, метод с высокой вероятностью обнаружил бы объект, область поиска покрыта, результат воспроизводим. Тогда вывод формулируется вместе с этими границами и не расширяется за них.
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
В этой квартире завелись мыши | Никто ни разу мышь не видел значит, никаких мышей нет. | Никто и не искал: ловушек не ставили, за плиту и под мойку не заглядывали. "Мы не наблюдали" и "их нет" это разные утверждения, второе требует поиска, который обнаружил бы мышей, если бы они были |
Ситуация на работе | Что ответить | |
"В логах ничего нет — значит, ошибки не было". Может не быть логирования на этом пути, уровень логов может стоять на warning, которые вообще не пишутся например в кибану или мойру, ну или запись могла потеряться при ротации или семплировании. | Что именно искали, каким методом, и обнаружил бы этот метод искомое, если бы оно там было? ну или Если бы ошибка была, как бы она выглядела в логах? Сможем симулировать поведение? | |

Отрицание предшествующего (отрицание основания)
Из "если A, то B" и "не A" выводят "не B", принимая достаточное условие за необходимое.
Схема:
если A, то B; не A; следовательно не B, то есть A → B, ¬A ⊢ ¬B
Контрмодель строится мгновенно:
пусть B истинно по другой причине при ложном A, тогда обе посылки истинны, вывод ложен.
Импликация запрещает ровно одну комбинацию (A истинно, B ложно) и о случае ложного A не говорит ничего. Ближайшая валидная форма это modus tollens: A → B, ¬B ⊢ ¬A
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Если товар хрупкий, на коробку клеят специальную наклейку | Наклейки нет значит, товар не хрупкий, можно ставить к нехрупкому. | Наклейку могли забыть, она могла отклеиться, партию могли собрать по старой инструкции. Правило гарантировало наклейку у хрупкого, а не прочность у всего, что без наклейки |
Ситуация на работе | Что ответить | |
"Если запрос от имени администратора, то отчёт доступен. Запрос не от имени администратора, то значит, доступа нет" хотя право может быть у модератора или овнера ресурса. То же при инциденте: "релиза не было, а значит деградация появилась не от внешних изменений", но при этом забывают, что конфиг, фича‑флаги, данные в бд и зависимости на тачке могут меняться без релиза. | Это условие достаточное или необходимое? Назови другие пути к тому же результату. К сожалению, тут совсем всё душновато, по сути тут надо пробовать валидировать выполняется ли это условие без изменений извне или нет. С коробкой например - "если товар хрупкий, на коробку клеят специальную наклейку" нужно челленджить действие, спрашивать "а если стикер отклеится, то товар будет считаться не хрупким?" И тоже самое в работе с LSR: если релиза не было и ты считаешь, что деградация не от внешних изменений, то какие причины деградации системы вообще могут быть если мы не будем ничего релизить год или десять? | |

Доказательство через утверждение (доказательство повторением)
Тезис повторяют без изменений и настойчивее вместо того, чтобы дать ему основание. Это ещё одна из глупых форм софистики. Потому что повторение вообще не добавляет фактов :) ну если только силлогизм не построен на форме повторения xD. Однако стоит понимать, что в психологии повторение работает как манипуляция, если вам повторят что-то тысячу раз, то это начинает казаться правдой. Но в логике это не работает. Этот приём вообще очень похож на круговую аргументацию, только там тезис просто синонимизировали или переименовывали, а тут просто растёт частотность и/или тон и/или громкость высказывания.
Ситуация в жизни | Как выглядит диалог | Почему это ошибка |
Через мост ехать до дачи быстрее, чем в объезд. | - Почему? | На пятом повторении данных о времени в пути столько же, сколько на первом - ноль. Вопрос решается одним замером на двух маршрутах, а не настойчивостью. |
Ситуация на работе | Что ответить | |
"Эта библиотека нам не подходит" в третьем сообщении подряд вам говорят без приведения хоть какого-то числа или качественной метрики ну или "у нас так принято" вместо ADR или "микросервисы быстрее" на каждом дизайн‑ревью. | Твоя позиция мне давно ясно, тезис я услышал и запомнил. Теперь предоставь хоть какое-то основание: данные, расчёт метрики или ссылку или хоть какой-то другой пруф вместо повторения. | |

Ложное опровержение
Дальше все мемы будут от биполярного типа, который сначала утверждает, а затем объясняет что не так, ведь теперь на месте второго в середине уже Вы, тяжко читается, понимаю, но так Вы сможете сюда возвращаться хоть.
Опровергают не тот тезис, который был выдвинут, и объявляют исходный опровергнутым.
Настоящее опровержение требует противоречия тому же предмету, по тому же предикату, в том же отношении, в то же время и в той же модальности и без включения исходного тезиса в основание. Ложное опровержение доказывает нечто соседнее: более слабое утверждение, другую тему, частный случай и переносит эффект победы на исходный тезис. Схема при этом может быть безупречной: сбой тут конечно не в форме вывода, а в адресации заключение истинно и не касается спора.
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Чайник подтекает, его пора чинить | Да брось, отличный чайник, мы его пять лет назад покупали, он до сих пор кипятит воду за три минуты | Никто не спорил, что чайник кипятит и служит пять лет. Опровергнуть требовалось "подтекает", а опровергнуто "плохой" тезис, которого не выдвигали. |
Ситуация на работе | Что ответить | |
"Ты говоришь, что для этого потока данных нужна идемпотентность, а Kafka для нас сложная технология" как ответ может быть верным и не касаться требования. Тот же приём в разборе инцидента: на "алерт сработал на сорок минут позже события" отвечают "зато починили за два часа, MTTR хороший". | Зафиксируем исходный тезис дословно. Что именно в нём не так? Или как твой вывод связан с моим утверждением? Конкретно, как одно перетекает в другое? | |

Ошибка "я имею мнение"
Право высказывать мнение выдают за основание считать это мнение истинным.
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Это молоко пастеризованное, кипятить его перед кашей не нужно. | Не знаю, я считаю, что любое молоко надо кипятить. Я имею право на своё мнение. | Право никто не оспаривал обсуждался вопрос о фактах, что именно делает пастеризация. Ссылка на право не отвечает на него и лишает разговор предмета, так как обсуждать больше нечего, хотя вопрос решается одной строчкой на упаковке |
Ситуация на работе | Что ответить | |
На код‑ревью: "мне кажется, слои абстракции стоит разделить", вам отвечают "а мне кажется, не стоит, это дело вкуса". | Право на мнение бесспорно, я спрашиваю не о праве. На чём это мнение держится? Есть обоснование чем-то кроме мнения? | |

Пустая истина
Утверждение истинно лишь потому, что случаев, способных его опровергнуть, не существует, — а звучит как содержательное подтверждение.
В классической логике импликация A → B истинна всегда, когда A ложно, соответственно ∀x(Sx → Px) истинно, если ни один x не удовлетворяет Sx. "Все единороги в моём подъезде вежливы" является истиной, так как формальной ошибки здесь нет: правило корректно, и отказ от правила ломает больше, чем чинит
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Все просроченные продукты я выбрасываю в тот же день. | Проверила холодильник, там просрочки нет. Значит, правило работает и соблюдается идеально. | Правило ни разу не применялось: не нашлось ни одного случая, к которому оно относится. "Ни разу не нарушено" и "подтверждено" это разные вещи. На пустом множестве одинаково истинно и "все просроченные я съедаю" |
Ситуация на работе | Что ответить | |
Тест, у которого фильтр отсеял все входные записи, проходит зелёным: "для всех записей выполняется инвариант" истинно на пустой выборке. Так же ведёт себя алерт "за сутки ни одного нарушения SLA", если метрика перестала поступать, и политика "все запросы роли X логируются", если роль X никому не выдана. | Сколько случаев реально попало под условие? Если ноль, то утверждение истинно и не сообщает ничего | |

Ошибка ошибки
Из того, что аргумент в пользу тезиса плох, выводят, что сам тезис ложен.
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
На таком уклоне машину надо ставить на ручник | Ты сказал "все так делают", а это уже апелляция к большинству, классическая ошибка. Значит, ручник не нужен. | Довод действительно был слабым, но уклон никуда не делся. Корректный итог "это основание не годится, дай другое", а не "тезис ложен". На месте разобранного аргумента остаётся не опровержение, а пустота. |
Ситуация на работе | Что ответить | |
На дизайн‑ревью: "твой довод про latency это post hoc, ты перепутал корреляцию с причиной, поэтому индекс не нужен". Тот же приём в разборе инцидента: назвать чужую гипотезу confirmation bias и на этом её закрыть, не проверив данными, так теряются верные гипотезы, высказанные плохо. | Согласен, этот довод не работает. Тезис от этого не стал ложным, есть ли у него другое основание? Можешь дать другой аргумент? | |
Категории ошибок: Обобщение и границы

Поспешное обобщение
Вывод обо всём классе делают по нескольким случаям, которые просто попались под руку.
Индукция законна, но её сила зависит от размера выборки, способа отбора и разброса внутри класса. Ошибка появляется, когда объём наблюдений не назван, случаи собраны по доступности, а вывод формулируется без квантора и без оговорок. Различать нужно не "мало примеров" против "много", а "выборка отражает класс" против "выборка отражает то, что я успел заметить"
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Курьерская служба работает плохо | Мне два раза привезли заказ с опозданием, значит они всегда опаздывают. | Два наблюдения одного человека не дают доли опозданий, а человеческая память вдобавок держит провалы охотнее, чем десяток доставок вовремя |
Ситуация на работе | Что ответить | |
- Два падения на одном инстансе превращаются в "библиотека течёт"; - Три сообщения в чате в "пользователям не нужна эта фича" - Один прогон бенчмарка на ноутбуке в "новая версия быстрее". Лечится числом наблюдений и разбросом рядом с выводом: например p95 по 40 000 запросов за неделю на проде, а не "у меня открывается быстро". | Спросите, сколько было случаев и как они попали в поле зрения. Попросите переформулировать вывод с квантором: в скольких процентах случаев и на какой базе случаев это получилось. | |

Скользкая дорожка
С этого начинается эта публикация как пример про аннигиляцию xD
Из первого шага выводят неизбежность последнего, не показав ни одного промежуточного перехода. Ошибка не в том, что названа цепочка последствий, а в том, что её звенья пропущены: механизм перехода, вероятность каждого шага, время и то, что могло бы цепочку остановить.
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Ребёнок просит лечь спать на полчаса позже в пятницу | Разрешишь один раз и он вообще перестанет ложиться вовремя | Между "позже в пятницу" и "никогда вовремя" пропущены все шаги, и не сказано, почему правило "в будни как обычно" вдруг перестанет работать. Это кстати классическая энтимема, но в объеме полисиллогизма, пропущена тьма посылок |
Ситуация на работе | Что ответить | |
- Дадим одно исключение на code review и контроль развалится - Включим один feature flag без срока и продукт станет набором веток. | Попросите выписать звенья по одному и для каждого назвать механизм как это работает и ограничитель. Спросите, что именно мешает остановиться на втором шаге и почему оно неизбежно полетит в тартарары | |

Ложная дихотомия (чёрно‑белое мышление)
Пространство вариантов сужают до двух, хотя третий доступен и просто не назван.
Деление по признаку "P или не‑P" исчерпывающе по построению.
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Надо решить, что делать со старой машиной | Либо продаём её сейчас, либо ездим на ней ещё пять лет | Есть ремонт и продажа через год, обмен с доплатой, езда до первой крупной поломки. Список из двух пунктов был выбран осознанно, а не выведен из ограничений. Вас засунули в два неподходящих Вам выбора. И так часто происходит в жизни, заставляют "хавать" то, что удобно. |
Ситуация на работе | Что говорить | |
- "Либо микросервисы, либо не масштабируемся" - "Либо переписываем с нуля, либо живём с этим кодом" - "либо 100% покрытия, либо тестов нет" Почти всегда доступны strangler‑миграция, вынос одного модуля, покрытие критического пути. | Назовите третий вариант и попросите объяснить, чем именно он исключён. Если нет объяснения, то список был риторическим приёмом. | |

Ошибка композиции (перенос свойства частей на целое)
Свойство каждой части приписывают целому, хотя у соединения своё поведение.
Переход "часть → целое" вполне валиден для аддитивных свойств или при доказанном законе композиции: масса целого равна сумме масс частей. Но у других часто нарушается именно стрелка из-за того, что сочетание частей не производится корректно
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Гости хвалили каждое блюдо по отдельности | Значит, ужин целиком удался | Сочетание может не работать: три похожих вкуса подряд, всё остыло к общей подаче, тяжёлое после тяжёлого. Свойство "вкусно" не складывается автоматически |
Ситуация на работе | Что говорить | |
"Каждый сервис держит 1000 RPS, а значит цепочка сервисов держит 1000 RPS": держит она столько, сколько самое узкое звено, и меньше при fan‑out и коррелированных пиках. "Каждый модуль покрыт на 90% - значит поведение системы покрыто на 90%": покрытие модулей ничего не говорит о путях через границы (по сути интеграционного тестирования например нет). | Спросите, по какому закону или правилу (или накрайняк аксиоме) свойство переносится на целое, и приведите случай, где целое ведёт себя не так, как части | |

Ошибка деления (перенос свойства целого на части)
Свойство целого приписывают каждой его части. Обратное предыдущему.
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Команда быстро закрывает задачи | Значит, каждый в команде работает быстро | Скорость команды это результат распределения работ и взаимной помощи: тяжёлое достаётся тем, кто с этим уже сталкивался. Темп отдельного участника из агрегата не выводится. |
Ситуация на работе | Что говорить | |
"Система доступна на 99,9% — значит каждый компонент доступен на 99,9%": у компонентов разные SLO, резерв и место на критическом пути (low, medium, high, critical по CJM), часть из них может лежать без последствий. "Средняя latency 50 мс значит запросы отвечают за 50 мс", а у хвоста p99 своя жизнь "Компания прибыльна значит каждый продукт прибыльный", а убыточный продукт субсидируется остальными. | Спросите, распределяется ли свойство о котором говорят по построению или это агрегат. Попросите разбивку по компонентам и хвост распределения, а не среднее. | |

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

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

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

Ложная аналогия
Из сходства в одном признаке выводят сходство в другом, хотя связи между этими признаками нет.
Аналогия это законный (специально делаю жирным, потому что есть уникумы, кто говорит "аналогии не работают!!!111"), а иногда единственный доступный инструмент: она переносит вывод с изученного случая на неизученный. Сила переноса зависит от того, релевантен ли общий признак выводу и нет ли различий, работающих против. Ошибка появляется, когда переносится несущественный признак, различия не названы, а сходство держится на образе.
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Ремонт квартиры надо вести по смете | Квартира как организм, а организм лечат целиком, а значит, ремонт нужно делать сразу во всех комнатах | Общее у квартиры и организма это метафорическая целостность, а не то, от чего зависит порядок работ. У комнат, в отличие от органов, нет общего кровотока, и жить можно даже в половине квартиры (например в комнате, привет Гарри) |
Ситуация на работе | Что делать | |
"База данных, как файловая система, значит бэкап копированием файлов подойдёт": общего много, но у СУБД есть транзакции и порядок записи. "У них похожий сервис, и им зашло, а значит зайдёт и нам": сходство по языку и домену не переносит вывод, если различаются профиль нагрузки и цена ошибки. | Разбор аналогии всегда конечен: выпишите сходства, различия и то, к какому из них привязан вывод. Спросите, по какому именно признаку идёт перенос, и назовите различие, которое ломает вывод. | |

Ложная эквивалентность
Два случая объявляют одинаковыми по общему признаку, игнорируя разницу в масштабе, частоте и последствиях. Общее свойство находится всегда: и опоздание на пять минут, и сорванная поездка называют "нарушение договорённости".
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Оба соседа шумят | Один раз в год сверлил стену днём это то же самое, что каждую ночь включать музыку. Оба ведь шумят. | Общая категория "шум" есть, но частота, время и обратимость отличаются на порядки. Равенство держится на названии, а не на измерении. |
Ситуация на работе | Что говорить | |
"Обе команды нарушили процесс": одна выкатила hotfix без ревью во время инцидента, другая полгода мержит без тестов. "У обоих вариантов есть риски" верно и бесполезно, пока не названы вероятность и ущерб. В postmortem это самая частая подмена: одно слово "ошибка" используют и на опечатку в дашборде и на потерю данных. | Согласитесь с общим признаком и сразу спросите про ось: насколько, как часто, с какими последствиями и обратимо ли. | |

Ошибка нирваны
Рабочее решение отвергают за неидеальность, не сравнив его с реально доступной альтернативой. Сравнивать надо не с воображаемым совершенством!!!11
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Стоит ли ставить на дверь второй замок | Любой замок можно вскрыть, значит смысла нет | Вопрос не в гарантии, а в том, как меняются вероятность и издержки по сравнению с одним замком и во сколько это обходится. |
Ситуация на работе | Что говорить | |
"Canary не ловит все инциденты значит бесполезен", "линтер не находит логические ошибки, тогда зачем он?", "2FA не спасёт от целенаправленной атаки не будем внедрять". | Спросите, с чем именно сравниваем: попросите назвать альтернативу и оценить ущерб в обоих сценариях вместе со стоимостью принятия предлагаемой меры. | |
Категории ошибок: Причины и данные

Личный опыт (анекдотическое свидетельство либо "у меня сработало")
Один запомнившийся случай подставляют вместо данных о том, как часто так бывает. Ну или когда кодеры говорят "у меня на компе работает!111"
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Соседка при первых признаках простуды выпила витамины и выздоровела за три дня | Значит, витамины лечат простуду | Простуда и без лечения проходит за несколько дней, а витамин принимают на пике симптомов. Случаи "пил и болел неделю" в разговорах не всплывают: нет ни группы сравнения, ни числа попыток. |
Ситуация на работе | Что ответить | |
"На прошлой работе у нас Kafka теряла сообщения, поэтому не берём" — один инцидент трёхлетней давности, на чужой версии и чужой конфигурации, против опыта тысяч инсталляций. | Сколько было таких случаев всего и сколько из них закончились иначе? Мы знаем частоту или только один исход, который запомнился? | |

Ошибка техасского стрелка
Мишень рисуют после выстрела: гипотезу подгоняют под случайный кластер, уже замеченный в данных.
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
В доме на углу за прошлый год родились четверо детей, и все мальчики. | Что‑то в этом доме влияет на пол ребёнка, например вода, планировка дома, место участка | Дом выбран после того, как совпадение заметили. Четыре мальчика подряд это примерно один шанс из шестнадцати, а в городе с тысячами домов такие серии обязаны встречаться десятками. Мишень нарисована вокруг попадания, а не наоборот |
Ситуация на работе | Что ответить | |
A/B‑тест не дал эффекта на всей выборке, аналитик режет данные по сегментам и находит +8% конверсии у Android в Германии на второй неделе. Проверок было около сотни - пять ложных находок ожидаемы даже при полном отсутствии эффекта. Правильным ходом было бы записать находку как гипотезу и проверить её предзарегистрированным тестом на новом трафике, а не выкатывать релиз по субгруппе. То же с алертами и дашбордами: если смотреть 300 графиков, то увидите, что каждый день "деградирует" несколько метрик. | Этот сегмент и метрика были выбраны до того, как мы посмотрели данные? Сколько срезов проверено всего и что показали остальные? | |

Ошибка корреляции
Из того, что две величины меняются вместе, заключают, что одна вызывает другую.
Совместное изменение совместимо минимум с шестью структурами суждения:
X вызывает Y
обратное направление Y вызывает X
общая причина Z действует и на X, и на Y
связь создана отбором, то есть тем, как данные попали в выборку
обратная связь
наконец, простое совпадение
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Чем больше в городе за день продают мороженого, тем больше вызовов спасателей на пляже | Мороженое делает людей беспечными в воде | Общая причина это жара: она одновременно гонит людей к киоску и в воду. Ни одна из двух величин не влияет на другую, потому как уберёте мороженое, и число вызовов не изменится (но может стать так, что те, кто шли за мороженным пойдут в воду, это, конечно, да) |
Ситуация на работе | Что ответить | |
На дашборде видно: сервисы с частыми деплоями имеют больше инцидентов. Вывод направшивается сам "частые релизы ломают прод" и оно переворачивает картину. | Что могло одновременно повлиять и на предполагаемую причину и на результат? И не может ли быть в обратную сторону? | |

Ошибка невозвратных затрат
Прошлые невозвратные вложения приводят как довод продолжать, хотя решение зависит только от будущего. Погуглите про эффект Конкорда. Там много ярдов вбухали вместо того, чтобы остановить производство. Причём люди, которые релоцируются, достаточно, часто используют эту ошибку как причину к тому чтобы не релоцироваться обратно. У меня много таких коллег, кто просто считает, что раз потратил бабки на релок, то назад уже будет бессмысленно ехать. Решение должно быть взвешенным. (пишу тут про это, чтобы подсветить, что это как раз-таки часто бывает ошибкой)
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Билеты в кино куплены, но уже на десятой минуте понятно, что фильм скучный | Надо досидеть до конца, иначе деньги пропадут зря | Деньги потрачены в обоих вариантах и при досмотре и не при досмотре кино. Выбор идёт между "полтора скучных часа" и "свободный вечер", а вот прошлый платёж в это сравнение не входит вовсе. Я так, например, впервые ушёл из кино, когда сходил на Супермена нового, мне не подходит такой герой, раньше это был сильный персонаж, теперь какие-то комичные сопли. Просто встал и ушёл. Было грустно, но я смог!!1 |
Ситуация на работе | Что ответить | |
Внутренняя платформа пишется два года силами шести инженеров, плановая миграция сервисов не сдвинулась. Довод "столько вложено, нельзя бросать" подменяет настоящий вопрос: если бы платформы сегодня не существовало, начали бы мы её при текущей цене готового решения и текущих требованиях? Тот же разговор про переписывание легаси, про отказ от A/B-эксперимента с двухмесячным набором данных и про самописный крон. Лечится не силой воли, а процессом: stop‑условия и бюджет фиксируются до старта, kill review стоит в календаре, а решение о продолжении принимает не автор гипотезы. | Если бы мы встретили эту возможность сегодня, ничего ещё не вложив, начали бы? Какие затраты остались впереди, а не позади? Что мешает просто остановиться? Есть ли критерий в каком случае мы просто всё остановим и закроем? | |

Ошибка ложной причинности
Из того, что B случилось после A, заключают, что A вызвало B.
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Ребёнок кашлял неделю; вчера дали сироп по совету соседа, сегодня кашля почти нет | Сироп вылечил кашель | Сироп дали на седьмой день, когда болезнь и так шла на спад. Лекарство почти всегда начинают в худшей точке, а после худшей точки исход в среднем улучшается независимо от лечения, так как это регрессия к среднему, а не эффект сиропа |
Ситуация на работе | Что ответить | |
В 14:05 выкатили релиз, в 14:12 p99 вырос втрое, откатили, стало лучше, инцидент закрыт с причиной "релиз". Проверьте: график начал расти до 14:05? Не стартовал ли в это окно ночной batch какой-нибудь, не деградировала ли зависимость, не сменился ли конфиг? Не совпал ли откат с концом пикового часа? Откат меняет сразу всё состояние системы, поэтому "«после отката полегчало" ровно такой же post hoc, как и исходный вывод | Что ещё изменилось в этом же окне релиза? Метрика начала расти уже до события? Есть ли пример, где такого события не было из-за релиза? Что будет если запустим релиз через час? А если после-завтра? Ситуация зависит напрямую от времени или дня? | |

Экологическая ошибка
Свойство группы, посчитанное в среднем, переносят на каждого её участника.
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
В районе A средний доход выше, чем в районе B. | Значит, знакомый из района A зарабатывает больше знакомого из района B | Среднее ничего не говорит о конкретной паре людей: в A может быть несколько очень обеспеченных домохозяйств и много скромных. Разброс внутри районов больше, чем разница между их средними. |
Ситуация на работе | Что ответить | |
Команды с высоким покрытием тестами реже роняют прод, отсюда делают вывод, что каждый инженер, подняв покрытие своего модуля, снизит количество возникающих инцидентов. Единица анализа подменена: на уровне команды работают ревью, CI, дежурства и то, какие сервисы ей достались, а не покрытие само по себе. | Мы тут что рассматриваем как единицу в анализе группу или отдельного человека? Разброс внутри групп не больше, чем разница между ними? | |

Ошибка историка
Прошлое решение оценивают знанием, которого у решавшего в тот момент не было.
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Прошлым летом семья выбрала отель по отзывам и фотографиям; на месте под окнами оказалась стройка. | Как можно было не проверить? Надо было просто выбрать другой отель! | Стройка началась после публикации отзывов и не была видна ни в одном доступном тогда источнике. Оценивается не решение, а его исход, с той информацией выбор был разумным. |
Ситуация на работе | Что ответить | |
В постмортеме звучит: "алерт же был в 3:40, почему дежурный не среагировал". В 3:40 этот алерт был одним из семнадцати, четырнадцать из которых шумят каждую ночь; захайлайченным он стал только после того, как мы узнали ответ. | Что было известно человеку в ту минуту и как это выглядело среди остального шума? Мы оцениваем решение или уже известный исход? | |

Неполное сравнение
Сравнительное утверждение предъявляют без второго члена сравнения, без базы и без условий измерения, например всякие "быстрее", "дешевле", "на 40% эффективнее".
Это мне как-то на одном проекте продавали clean architecture руководствуясь тезисами "мы сможем быстрее разрабатывать и качество вырастет!". На мой запрос "а с чем сравниваете? где пруфы?" ответа не было(
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
На упаковке йогурта: "Новая формула, на 50% меньше сахара" (ну или как там пишут) | Значит, продукт почти не сладкий и подходит тем, кто следит за питанием | Не сказано меньше чем что: чем прошлая версия того же бренда, где сахара было вдвое больше обычного? Половина от много всё ещё много. Без исходного уровня и абсолютных граммов на порцию сравнение непроверяемо |
Ситуация на работе | Что ответить | |
"Новый сервис в три раза быстрее", а быстрее чего: старой версии на холодном кэше, на другой машине, при другом профиле нагрузки? Какая метрика — среднее или p99, на какой доле запросов, сколько длился прогон? | Быстрее, дешевле, лучше - чем именно, по какой метрике и при каких условиях? Какие тут абсолютные числа и что в основе лежит у знаменателя с которым мы сравниваем? | |

Ошибка игрока
От независимого случайного процесса ждут, что он компенсирует предыдущую серию.
Если испытания независимы и вероятность постоянна, прошлые исходы не меняют следующий: у монеты нет памяти (ну если в ней реально нет памяти разумеется).
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
В лотерее пять розыгрышей подряд не выпадало число 17 | Значит, сейчас у 17 больше шансов — оно уже "должно" выпасть | Шар не помнит прошлых тиражей: вероятность та же, что в первый раз. Силы, выравнивающей частоты на коротком отрезке, не существует, равенство частот наступает на бесконечности, а не в следующем тираже, в теории хаоса это предметно разобрано как раз. |
Ситуация на работе | Что ответить | |
"Четыре ночи дежурство было спокойным сегодня точно рванёт" и зеркальное "десять зелёных сборок подряд, пайплайн стабилен, можно снять проверки". Оба вывода принимают независимость на веру. | Тесты здесь действительно независимы? Если да, то прошлое не влияет на следующий исход, а вот если нет, то серия говорит об необходимости изменении процесса, а не о долге случайности. | |

Черри пикинг (подавленное свидетельство)
Из доступных данных показывают только подтверждающую часть, умалчивая о равнозначной опровергающей. Такое бывает, когда статистику подбивает тот, кто заинтересован в тезисе, типа тот, кому выгодно что-то может для Вас достать и только релевантную тезису статистику, чтобы убедить в своей правоте.
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Знакомый советует онлайн‑курс и присылает пять восторженных отзывов | Отзывы отличные, а значит, курс работает | Пять отзывов отобраны из сотен, и отбирал заинтересованный человек. Не показаны ни доля бросивших на второй неделе, ни отрицательные отзывы, ни те, кто дошёл до конца и ничего в работе не изменил |
Ситуация на работе | Что ответить | |
В отчёте по релизу: конверсия +12% за выбранные девять дней. За кадром, что окно начинается сразу после провального понедельника, что на него пришлась рассылка скидок, что retention и возвраты не показаны, а из двадцати метрик приведены две. То же в бенчмарках: своя система на своём профиле нагрузки, чужая — на дефолтном конфиге и без прогрева (холодный старт так сказать). | Какие данные того же качества мы не показали? Метрика и окно были выбраны до того, как мы увидели результат? | |

Ретроспективный детерминизм
Из того, что событие произошло, заключают, что оно и не могло не произойти.
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Двое случайно разговорились в очереди, а через год поженились | Им было суждено встретиться, всё к этому и шло | Неизбежность приписана после факта: тысячи очередей, где ничего не случилось, в рассказ не попадают. Событие произошло, но из этого не следует, что его вероятность была высокой |
Ситуация на работе | Что ответить | |
После инцидента разбор звучит как "эта архитектура рано или поздно обязана была упасть". Возможно, но той же логикой одинаково гладко объясняются и три предыдущих года, когда она не падала. Вред двойной: команда переписывает то, что не было главным вкладом, и одновременно теряет способность отличать реально высокий риск от объяснения задним числом. Противоядие это записывать прогнозы с вероятностями заранее: decision log при выборе решения, premortem перед запуском ("представьте, что через полгода это упало, назовите причины"), а после инцидента сверять записи. Тогда видно, было ли падение предсказано или неизбежность дорисована | У нас есть запись, что до события мы считали такой исход вероятным? Какие варианты развития событий были возможны тогда и что именно их закрыло? | |

Ошибка единственной причины (поиск виноватого)
У результата с несколькими взаимодействующими причинами называют одну и считают объяснение законченным.
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Ужин подгорел, гости разошлись рано, вечер не удался | Всё из‑за духовки, она перегревает. | Одновременно сошлись: новый рецепт, таймер не заведён, гостей позвали на будний вечер. Духовка могла быть частью объяснения, но одна она этого исхода не даёт, а назвав её, хозяева остальное проверять не стали |
Ситуация на работе | Что ответить | |
"Причина инцидента тяжёлый SQL‑запрос". Рядом обычно лежат ещё четыре условия: индекс не доехал с миграцией, ретраи без backoff, пул соединений равен 20 и алерт триггерит с порогом выше реального SLO. Инцидент случился потому, что совпали все пять, а вот убрав одно, вы снижаете вероятность, но не закрываете целый спектр отказов. | Если бы этого фактора не было, то исход точно не наступил бы? Какие ещё условия должны были совпасть, чтобы получилось именно так? | |
Категории ошибок: Язык и авторитет

Апелляция к авторитету
Вместо основания предъявляют имя того, кто высказался. Для тех, кто смотрит всяких непрофильных блогеров или тех, кто транслирует, например, научпоп, просто посмотрите интереса ради, есть ли у такого человека степень, например, кандидатская. Часто натыкаясь на блогеров о физике, математике, нейробиологии или информатике ищу информацию о их образовании или заслугах, иначе люди возводят на пьедестал просто любителей, это не хорошо, эксперты ещё норм когда у них профиль и база кейсов позволяет судить о чём-то, но вот просто какой-нибудь популяризатор науки может сделать ей ещё хуже, просто потому что его начали инвайтить повсюду. Обращайте внимание на критерий экспертности.
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Пятно на потолке в ванной скорее всего от протечки сверху | Мой стоматолог сказал, что такие пятна всегда от конденсата | Стоматолог компетентен в зубах, а вот о влаге в перекрытии его слово обычное частное мнение, и оно вытеснило самый простой шаг: подняться к соседям и посмотреть. Скажи то же самое кровельщик, чинивший сотню таких потолков, тогда это было бы свидетельством чтобы поводом проверить его версию первой, но всё равно не заменой чёткому осмотру. |
Ситуация на работе | Что ответить | |
"Так сказал главный архитектор" решит вопрос о времени ответа сервиса, который решается замером за двадцать минут. Отдельная разновидность это анонимный авторитет: "это best practice", "в большой компании такое уже проходили", причём без имени, масштаба, версии и условий, где именно это проверялось. Там, где доступна метрика, ссылка на человека всегда более слабое основание, чем цифра. | Это его область, и на какие данные он опирался? Если первичное измерение доступно, то давайте сделаем его, а не пересказываем мнение | |

Апелляция к природе
Из того, что вещь назвали "естественной" или "так задумано природой", выводят, что она хорошая.
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
В тесто для пирога нужен разрыхлитель | Не надо химии, лучше на закваске, это натурально. | "Натурально" подставлено вместо ответа на вопрос, который на самом деле решают: вкус, время и предсказуемость подъёма теста. Сода и закваска различаются химией процесса и сроками процесса, а не степенью природности, и спорить надо об этом. |
Ситуация на работе | Что ответить | |
"Ручной деплой честнее ведь там живой человек смотрит", "этот фреймворк заставляет писать неестественный код", "органический рост лучше платного" | Какое свойство мы на самом деле обсуждаем: безопасность, вкус, цену? Назовём его и сравним напрямую. | |

Личное непонимание (апелляция к личному недоверию)
"Я не могу это представить" подают как "этого не может быть".
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Соседский подросток сам собрал себе компьютер из деталей | Да ладно. Я в его возрасте мышку подключить не мог. Значит ему кто‑то помогал собрать. | Своя биография объявлена мерой того, что бывает. Проверяется это без домыслов одним вопросом: попросить показать, как он подбирал материнскую плату под процессор. |
Ситуация на работе | Что ответить | |
"Не верю, что этот запрос отрабатывает за 8 мс, не бывает так" и дальше спор вместо использования профилировщика и выполнения. Тот же приём на ревью: "я не понимаю, как это работает, значит это неправильно" | Какой механизм это объясняет и каким измерением его проверить? Непонимание это повод задать вопрос, а не готовый вывод. | |

Ошибка двусмысленности
Одно и то же слово в двух посылках значит разное, а вывод пользуется обоими значениями сразу.
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
В читальном зале нельзя разговаривать и кушать | Свобода это когда нет запретов. В библиотеке есть запреты. Значит, библиотека лишает людей свободы. | В первой фразе "свобода" это отсутствие любых ограничений, во второй речь идёт о свободе читать и слышать себя. Правила ограничивают первое ради второго, одно слово скрыло, что это разные вещи и без него вывод не строится. |
Ситуация на работе | Что ответить | |
Слово "готово". На дейлике "код написан", а в обещании заказчику транслируют "работает у пользователей" статус в трекере ставят по первому значению, срок называют по второму. То же с "стабильным" (не падает / не меняет контракт), "покрытием" (код покрыт / поведение проверено), "средним временем ответа" (среднее / медиана / p99) и "безопасно" (не найдено известных уязвимостей / проверено) | В каком значении здесь это слово? Запишем оба и посмотрим, остаётся ли вывод верным при каждом Ну или просто Давай обсудим значение терминов, что ты вкладываешь в термин Х? Кстати у Челпанова в "Учебник логики" примерно с определения понятий и терминов всё и начинается | |

Аргумент к традиции
"Так делали всегда" подставлено вместо основания, почему так и надо делать.
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Может, в этом году соберёмся на праздник у нас, а не будем ехать через полстраны? | Мы тридцать лет ездим к бабушке. Это традиция. | Тридцать лет это свидетельство, что всем это было удобно, и намёк на реальную ценность за традицией. Но как довод срок подан вместо неё: условия изменились, детей стало двое, дорога занимает сутки. Содержательный ответ звучал бы "бабушке важно, чтобы приехали все" и вот его можно обсуждать. |
Ситуация на работе | Что ответить | |
"Мы всегда так деплоили", "этот скрипт не трогаем, он с 2016 года работает". Второе не пустой довод: скрипт прошёл сотни релизов, и это данные о надёжности. Пустым он становится, когда мешает спросить, что скрипт делает и почему падает раз в квартал. Симметричная ловушка выкинуть непонятный шаг из пайплайна, не выяснив, какой инцидент его когда‑то породил. | Что именно этот скрипт предотвращает? Если ответ есть запишем его и проверим, актуален ли он сегодня, если нет, то дропаем или актуализируем. | |

Подмена понятий
Условие назвали, условие выполнили и тогда обсуждаемое понятие тихо заменяют другим.
Механика та же, что у эквивокации (предыдущая логическая ошибка, прикольное слово), но подменяется не значение слова внутри вывода, а предмет спора целиком: договаривались о "успеет к пятнице", а потом проверяют "а качество?".
Само новое требование может быть разумным, просто ошибка в том, что прежнее объявлялось достаточным и было отозвано задним числом, без объяснения, что изменилось. Признак, отличающий подмену от честного уточнения: не существует результата, который спорящий согласился бы засчитать.
Ситуация в жизни | Как выглядит диалог | Почему это ошибка |
Я поменяю тебе колесо за десять минут | - Поменял, вот | Обещание было про колесо и десять минут, проверка появилась внезапно и уточняет про "умеет чинить вообще". Второй тезис сам по себе законный, но он новый, и задавать его надо было до, а не после выполнения первого. |
Ситуация на работе | Что ответить | |
"Покажи бенчмарк" → показали → "но это не прод" → показали canary → "нужен год наблюдений". Вторая форма это подмена метрики: договаривались о p99, в отчёте среднее, и обсуждение уходит на "в среднем‑то лучше". Лечится decision rule, записанным до эксперимента: какое число, на каких данных и за какой период считаем достаточным. | Мы договаривались о другом критерии. Если он больше не годится скажи, что изменилось, и зафиксируем новый до следующей проверки. | |

Ошибка определения
В определение заранее вложена оценка, и спор выигран до того, как посмотрели на предмет.
Это самая отвратительная что встречается в карьере, когда ваши руководители могут подавать информацию как им угодно, просто взять и убрать всё, что произошло и что повлияло и какой системный выход из ситуации. Да, иногда это справедливо, но в большинстве случаев эксплуатируется и весьма нагло, в том числе и у заказчиков. Отвратно, когда это юзается против вас, чтобы не дать премию например или просто чтобы скрыть ваш вклад. Мне довелось работать в таких компаниях, у руководителей таких надо отбирать право руководить, потому что у них и звезда во лбу и текучка большая, причём такие рукоблудители думают, что дело в людях, а бревно они вообще не видят.
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Ремонт в квартире вместо месяца занял три | Хороший мастер это тот, кто укладывается в срок. Значит, он не мастер, и обсуждать нечего | Определение построено так, что вопрос о причинах задержки , например задержка поставки, скрытая проводка, три раза менявшееся задание не может даже возникнуть. Нейтральное описание "работа заняла 90 дней при плане 30" оставляет место для проверки. |
Ситуация на работе | Что ответить | |
"Senior это тот, кто не задаёт вопросов", "хорошая архитектура та, где нет связности", "баг это то, что заведено в трекере, остальное не баг". Последнее особенно живуче: такое определение делает цель "ноль багов" по ZBP достижимой без единой правки в коде, ведь достаточно не заводить тикет. | Это определение или уже вывод? Дай описание, из которого оценка не следует автоматически, и обсудим оценку отдельно. А вообще просто ловите этих говорунов прямо на логической ошибке, пусть думают, если они просто не понимали и теперь понимают и вместе разбираются - круто, если нет, то бегите голубцы (типа глупцы, отсылка к LoTR). | |

Этимологическая ошибка
Из происхождения слова выводят, каким обязан быть названный им предмет.
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Давай устроим романтический ужин со свечами | "Романтический" вообще‑то от римского переводится как "от романских языков". При чём тут свечи? | Слово прошло путь от "написанного на народном языке" до "о любви и чувстве", а вот сегодняшнее значение задано употреблением, а не римским корнем. Спор о корне не отменяет того, что оба собеседника прекрасно поняли, о каком ужине речь. |
Ситуация на работе | Что ответить | |
"Микросервис должен быть микро, у вас он на четыре тысячи строк, это не микросервис": приставка стала критерием. Так же спорят про serverless ("там же есть серверы!"), continuous integration и agile вместо обсуждения практики обсуждают верность названия практике. | Как этот термин употребляется у нас сегодня? Зафиксируем это значение, потому что история слова к спору не относится. В DDD кстати есть ubiquitous language чтобы вести словарь терминов. | |

Ошибка овеществления (конкретизация абстракции)
С абстракцией обращаются как с вещью, у которой есть воля, место и собственные требования.
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Хочу поставить в прихожей шкаф глубиной шестьдесят сантиметров | Дизайн квартиры этого не допускает | Не допускает не "дизайн", а ширина прохода, открывающаяся дверь или чей‑то замысел. Пока не сказано, что именно мешает, возразить нечему: абстракция вынесена как приговор. Если мешает вкус, то это тоже довод, но обсуждаемый. |
Ситуация на работе | Что ответить | |
"Архитектура требует отдельного сервиса", но на самом деле требует человек, принявший решение, или ограничение, которое можно назвать вслух. И метрика, ставшая целью: velocity придумана как описание темпа, но как только по ней оценивают команду, растут оценки задач, а не сам релиз. То же с "покрытием 80%" и "временем первого ответа на тикет" это всё когда измеряемая тень объекта подменяет собой объект. | Кто именно требует и на каком основании? Для метрики - что произойдёт с самим объектом, если число вырастет, а поведение не изменится? | |

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

Апелляция к новизне
"Это новее" подставлено вместо "это лучше".
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
Нужен чайник взамен сгоревшего. | Бери с сенсорной панелью, это же последняя модель. | Год выпуска не говорит ни о скорости нагрева, ни о том, сколько живёт сенсор во влажной кухне (и ваших фантазиях). Содержательным довод стал бы так: в новых моделях сменили нагреватель, накипь оседает меньше и это уже можно проверить. |
Ситуация на работе | Что ответить | |
"Переходим на новый CI/CD, старая на Jenkins у нас с 2015 года (или когда там он вышел?)". Возраст сам по себе не дефект: у старого инструмента известны обходные пути, найдены баги и предсказуема поддержка. Сравнивают по названным пунктам - время сборки, воспроизводимость, стоимость миграции и отдельно закладывают, что у нового решения баги ещё просто не нашли. | Что конкретно изменилось в новой версии и какую нашу проблему это решает? | |

Хронологический снобизм
Утверждение отвергают за то, что оно старое, будто более поздняя эпоха уже опровергла всё, что было раньше.
Ситуация в жизни | Что Вам говорят | Почему это ошибка |
По бабушкиному рецепту тесто должно постоять час в тепле | Это прошлый век, сейчас всё делают комбайном (штука которой месят тесто, не помню как называется) за пять минут | Час нужен дрожжам, а не традиции, комбайн ускоряет замес, а не брожение. Утверждение можно опровергнуть свойствами дрожжей и температурой, но не возрастом рецепта. |
Ситуация на работе | Что ответить | |
"Реляционная база это устаревший подход", "серверные сессии? так делали до SPA". Возраст решения не довод, довод это какое ограничение исчезло: подешевела память, появилась репликация, изменился профиль нагрузки. Обратная сторона: старые тексты про надёжность и сложность систем не устарели, потому что описывают свойства, не зависящие от моды на инструменты. | Что мы узнали с тех пор, что делает это неверным? Если ответа нет, то возраст к делу не относится. | |
Ну вот и всё, теперь раздача бонусов :) надеюсь Вы будете возвращаться периоддически сюда)
Бонус: песочница

Ну и бонусом, так как я исследую отдельный вид программирования, то в его песочнице https://digitable‑lol.github.io/flang/playground.html вышла проверялка силлогизмов

Причем можете это делать и на языке кванторов

А ниже видите разбор истинности суждения:)

Бонус: все ошибки в одном сообщении разрабу и тимлиду
А теперь представим, что все 67 ошибок собрали в одном рабочем сообщении. Получилось два примера: один прислали разработчику после код ревью, который он сделал, а другое тимлиду в ответ на его оценку сроков. Персонажи вымышленные, концентрация софистики намеренно завышена. Важно понимать, сорри за капс: ЧАСТО ЛОГИЧЕСКИЕ ОШИБКИ ПРИМЕНЯЮТ КОМПЛЕКСНО КАК В МАНИПУЛЯЦИИ, ТАК И В НЕЗНАНИИ. Прямой совет - останавливайте говорящего или зафиксируйте всё что он сказал, а дальше говорите "пошли шаг за шагом, тут слишком всё перегружено и ошибок много в размышлении и суждении: во-первых ....".
Числа в квадратных скобках соответствуют номерам ошибок в каталоге моего пет-проекта Digitable Courses. Можно сначала прочитать сообщения без подсказок и попробовать распознать подмены.
Сообщение разработчику
Допустим что разработчик предложил добавить синхронизацию доступа к кешу и регрессионный тест в комментах к чужому PR, а в ответ автор PR-а прислал следующую портянищу текста, пусть автором PR вообще будет какой-нибудь руководитель-рукоблудитель:
Ты вечно невнимательный, поэтому твоё замечание о тред рейсинге неверно [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].
Жду подтверждение срока до конца дня.
Ну и финалочка, цитатой Аристотеля
Остроумие есть отшлифованное высокомерие
P.S. Мне кажется правильным, что в коммуникации, где Вами манипулируют или просто по незнанию применяют логические ошибки, важно именно сказать явно "у тебя здесь логическая ошибка Х, потому что Y" так для манипулятора его ставят на место сразу же, а для незнающего происходит обучение. Хотя чаще всего с Вами просто не захотят продолжать говорить xD.
P.P.S. Если у Вас были кейсы, когда подлый рук-ль или сотрудник или коллега или знакомый или родственник или друг или (и так далее) какую-то дичь Вам втирал, пошарьте в комменты, поугораем вместе, главное напишите чем закончилось. Будет интересно что из софистики сейчас применяют :3

