Эта статья изначально была написана как комментарий к переводу от Анатолия Ализара «Ненависть к ИИ», но в какой-то момент я понял, что для комментария информации слишком много, и решил поделиться своим опытом общения с «близняшками» в отдельной статье.
Возможно, это банально, но близняшкам можно задавать разные вопросы, упрощающие бумажную работу. Например, есть список названий организаций, и нужно по каждой из них собрать информацию — ИНН, адрес, ФИО руководителя. Как это делается без помощи ИИ: вбиваем в поиск что-то вроде «Рога и копыта город … ИНН ФИО руководителя» и получаем в выдаче информацию из разных агрегаторов (если повезёт — в режиме ИИ вся эта информация будет обобщена, и вам ничего не придётся смотреть дальше), потом меняем название организации и повторяем процедуру. Хорошо, когда организаций три-пять, а если их сотня? Поможет запрос «есть список организаций: <здесь идёт сам список>, скорее всего они все находятся в <если они действительно находятся в этом регионе, здесь указывается его название>, по каждой из них нужны данные об ИНН, адресе и ФИО руководителя».
Скрытый текст
Можете сами оценить, как работают следующие запросы (вводить следующий нужно строго после того, как будет закончен вывод предыдущего):
«есть список организаций: Лузалес, ЖФК, СЛПК, они все находятся в Республике Коми, по каждой из них нужны данные об ИНН, адресе и ФИО руководителя. ответ дай в виде таблицы»
«кто из этих компаний ведёт активный найм сотрудников и кого они нанимают?»
«какой у них уровень предлагаемых зарплат (по 25 самым массовым вакансиям)?»
Этот набор вопросов (и ответы близняшек на них) хорошо иллюстрирует возможности обобщения информации, которую в ином случае пришлось бы собирать вручную из различных источников.
Моя оценка того, как близняшки справились с задачей такого рода: отлично.
Ещё лет десять-пятнадцать назад одним из приёмов эффективного поиска информации в интернете было использование специального флажка (у Яндекса) или тега (у Гугла), заставляющего их искать в найденном. То есть пишем очень общий запрос — и, получив на него ответ, уточняем с помощью поиска в найденном те моменты, которые нас реально интересуют (иногда приходилось выполнять по три-четыре связанных таким образом поиска, пока выдача не начинала соответствовать твоим ожиданиям).
Сегодня этот приём тоже хорошо работает. В первом запросе можно ввести близняшек в курс дела (задать тему, охарактеризовать нужную вам информацию и даже задать нужный формат вывода данных). Не смотрите на то, что будет в ответе на этот запрос (но дождитесь окончания формирования ответа) — задавайте следующий. Например, я готовлюсь к сдаче экзамена по какой-то теме, и у меня нет списка вопросов, которые будут в тесте у преподавателя. Конечно, я могу почитать теорию, но эффективнее будет попробовать дать свои ответы на вопросы тестов по этой теме, верно? Здесь у нас есть два варианта. В первом варианте у вас уже есть приложение, которому можно «скормить» вопросы теста, скажем, в формате json (например, вы установили Moodle и знаете, что с ним дальше делать). Во втором варианте у вас такого приложения нет, и писать его вы не собираетесь (хотя… почему бы и не да?! но об этом ниже). Попросите близняшек не только сгенерировать нужное количество вопросов по теме, но и провести для вас викторину с этими вопросами (попросите не показывать вам правильные ответы, а после того, как вы дадите свой ответ, сразу же проверить, был ли он правильным и, если нет, в чём вы ошиблись. Под спойлером — пример последовательности вопросов, генерирующей список тестовых заданий с правильными ответами в количестве 28 штук по теме «IP-адресация в сетях» в формате json.
Скрытый текст
-
я готовлюсь к экзамену по компьютерным сетям, какие вопросы есть в интернете по теме “протоколы интернета”?
-
Расскажи пожалуйста подробнее про IP-адресацию
-
Подготовь пожалуйста 28 тестовых вопросов (4 варианта ответа, из них только один правильный), распредели правильные ответы так, чтобы они встречались в разных вопросах теста на разных местах (чтобы не было ситуации, когда все правильные ответы в тесте — вторые)
-
проведи пожалуйста для меня викторину из этих вопросов, выдавая их по одному и, получив мой ответ, если он неправильный, объясни мне, в чём я ошибся
Рекомендую протестировать эту последовательность запросов, введя первый запрос в поисковой строке гугла, а последующие — в строке ИИ ассистента, которая появится после ответа близняшек.
Если нужен json-файл, четвёртый запрос может быть таким:
преобразуй пожалуйста эти вопросы и ответы в формат json “q_0001”: [“Чему равно 2 + 2?”, [“3”, “4”, “5”, “6”], 2], где q_0001 — это номер вопроса, а последняя цифра (1) — номер правильного ответа (счёт начинается с 1).
Ответ будет примерно таким:
{ "q_0001": ["Какова общая длина IPv4-адреса в битах?", ["128 бит", "64 бита", "32 бита", "16 бит"], 3], "q_0002": ["Какая технология используется для преобразования серых (частных) IP-адресов в белые (публичные) при выходе в интернет?", ["DHCP", "NAT", "DNS", "ICMP"], 2], "q_0003": ["Какой из следующих IP-адресов относится к диапазону частных (серых) адресов класса C?", ["192.168.15.240", "172.16.32.1", "10.10.10.10", "169.254.1.5"], 1], "q_0004": ["Какую десятичную маску подсети обозначает префикс /26 в бесклассовой нотации (CIDR)?", ["255.255.255.224", "255.255.255.240", "255.255.255.128", "255.255.255.192"], 4], "q_0005": ["Сколько полезных (доступных для узлов) IP-адресов содержит подсеть с маской /24?", ["256", "254", "512", "252"], 2], "q_0006": ["Для чего используется IP-адрес 127.0.0.1?", ["Для автоматической настройки узла, если недоступен DHCP-сервер", "Для обращения компьютера к самому себе (локальная петля)", "Для отправки широковещательных пакетов в локальной сети", "Для тестирования связи с ближайшим шлюзом по умолчанию"], 2], "q_0007": ["Как называется адрес, в котором все биты идентификатора узла (Host ID) равны единицам?", ["Широковещательный (Broadcast)", "Адрес сети (Network ID)", "Петлевой (Loopback)", "Мультикастный (Multicast)"], 1], "q_0008": ["В каком виде записываются адреса нового протокола IPv6?", ["В виде 8 групп шестнадцатеричных чисел, разделенных двоеточиями", "В виде 4 групп десятичных чисел, разделенных точками", "В виде 6 групп двоичных чисел, разделенных дефисами", "В виде 12 групп восьмеричных чисел, разделенных косой чертой"], 1], "q_0009": ["Какое устройство на основе IP-адресов принимает решение о направлении пакетов между различными сетями?", ["Коммутатор (Switch)", "Повторитель (Repeater)", "Маршрутизатор (Router)", "Концентратор (Hub)"], 3], "q_0010": ["К какому классу (согласно исторической классовой адресации) относится IP-адрес 10.50.4.1?", ["Класс B", "Класс A", "Класс C", "Класс D"], 2], "q_0011": ["Какой компонент IP-адресации определяет, где заканчивается адрес сети и начинается адрес хоста?", ["Шлюз по умолчанию", "Маска подсети", "МАС-адрес", "Префикс DNS"], 2], "q_0012": ["Какое максимальное значение может принимать один десятичный октет в IPv4-адресе?", ["256", "254", "255", "128"], 3], "q_0013": ["Компьютер получил IP-адрес вида 169.254.45.12. Что это означает?", ["Компьютер успешно подключился к глобальной корпоративной сети", "Компьютеру вручную назначен статический белый адрес", "На компьютере запущена служба тестирования сетевой петли", "Компьютер не смог связаться с DHCP-сервером и применил APIPA"], 4], "q_0014": ["Из скольки бит состоит IPv6-адрес?", ["128 бит", "64 бита", "48 бит", "256 бит"], 1], "q_0015": ["Какова функция адреса сети (где все биты узла равны нулю)?", ["Он назначается главному серверу в этой подсети", "Он служит для обозначения всей подсети целиком в таблицах маршрутизации", "Он используется для резервного копирования данных внутри сегмента", "Он выдается сетевому шлюзу по умолчанию"], 2], "q_0016": ["Какая маска подсети соответствует CIDR-префиксу /30?", ["255.255.255.252", "255.255.255.248", "255.255.255.254", "255.255.255.192"], 1], "q_0017": ["Сколько хостов можно гарантированно разместить в подсети с маской 255.255.255.240 (/28)?", ["16", "30", "14", "6"], 3], "q_0018": ["Какое из следующих утверждений о «белых» (публичных) IP-адресах является верным?", ["Они могут свободно дублироваться в разных странах мира", "Они уникальны в масштабах всего интернета и маршрутизируются глобально", "Они зарезервированы только для государственных структур", "Они используются исключительно внутри домашних локальных сетей"], 2], "q_0019": ["Дан IP-адрес хоста 192.168.10.75 с маской /24. Какой адрес в этой сети будет широковещательным (Broadcast)?", ["192.168.10.0", "192.168.10.1", "192.168.10.255", "192.168.11.255"], 3], "q_0020": ["Какой из перечисленных IP-адресов относится к диапазону частных адресов класса B?", ["10.172.16.1", "172.20.45.90", "192.168.1.1", "172.35.10.5"], 2], "q_0021": ["Какое двоичное значение соответствует десятичному числу 192 в октете IP-адреса?", ["11000000", "10101000", "11110000", "10000001"], 1], "q_0022": ["В сети с адресом 10.0.0.0/8 потребовалось создать подсети с префиксом /10. Сколько таких подсетей можно получить?", ["2 подсети", "4 подсети", "8 подсетей", "16 подсетей"], 2], "q_0023": ["Какая технология позволяет узлу автоматически настроить себе IPv6-адрес на основе объявлений маршрутизатора без использования DHCP-сервера?", ["NAT64", "CIDR", "SLAAC", "APIPA"], 3], "q_0024": ["Дан IP-адрес 192.168.5.130 с маской 255.255.255.128 (/25). К какой сети принадлежит данный узел?", ["192.168.5.0", "192.168.5.128", "192.168.5.64", "192.168.5.192"], 2], "q_0025": ["Какое из следующих чисел НЕ может являться октетом в корректном IPv4-адресе?", ["0", "255", "199", "264"], 4], "q_0026": ["Для чего из формулы расчета количества хостов ((2^(32-n)) - 2) вычитается двойка?", ["Исключаются адреса сети и широковещательный адрес", "Исключаются шлюз по умолчанию и DNS-сервер", "Вычитаются первый и последний компьютеры в комнате", "Резервируются адреса для IPv6-перехода"], 1], "q_0027": ["Какая маска подсети используется по умолчанию для сетей класса B?", ["255.0.0.0", "255.255.0.0", "255.255.255.0", "255.255.255.255"], 2], "q_0028": ["Что из перечисленного является правильной сокращенной записью IPv6-адреса 2001:0db8:0000:0000:0000:0000:0000:0001?", ["2001:db8::1", "2001:db8:0:1", "2001:db8::0001", "2001:db8:0000::1"], 1]}
Кстати, можно один раз упомянуть, что нумерация сплошная, и тогда следующий блок вопросов теста начнётся с номера 0029. Не забывайте, что для вопросов с 0001 по 0027 строчки в формате json заканчиваются запятыми, а в 0028 её нет — или поставьте её потом вручную (при слиянии нескольких блоков с тестовыми вопросами), или скажите близняшкам, что нужно ставить запятую и после последнего вопроса, чтобы было удобно стыковать множество таких блоков в единый тест.
Близняшки помнят контекст и действуют сообразно с ним. То есть, один раз попросив выводить вопросы в формате json (и объяснив, как вы это себе представляете), вы будете получать в этом формате все вопросы — без напоминаний о необходимости этого, то есть дали близняшкам новую тему — и получили и теорию, и вопросы, которые можно сразу же вносить в программу для тестирования, и пояснения, почему тот или иной ответ является правильным, а другой — нет.
Оценка: крепкая четвёрка. Почему же не «отлично»?
Во-первых, у меня сложилось впечатление, что после некоторого набора тем или вопросов в сессии близняшки «устают» (возможно, я подхожу к пределу области, выделенной для контекста беседы?) и начинают подтормаживать (а может быть и так, что их «хозяин», видя мою непомерную активность, хочет поубавить мой пыл). Так или иначе, «на одном дыхании» у меня получилось сформировать с помощью близняшек корпус из более чем тысячи вопросов теста. И ещё одно неприятное (и неожиданное для меня) последствие: на какое-то время гугл в ПК-браузере перестаёт предлагать помощь ИИ-ассистента (в мобильном браузере ИИ-ассистент остаётся, но с ним уже не так удобно работать, особенно с длинной цепочкой запросов, а переноса бесед из браузера в браузер нет!), типа вот тебе обычная поисковая выдача, крутись сам как хочешь, это была экспериментальная функция, тебе ничего не обещали. Когда я столкнулся с этой неприятностью впервые (и прочитал, что такая беда случается и у других), я уже ощутил всю мощь помощи близняшек (ух, да я с ними сверну горы!), поэтому для меня это было отрезвляющим душем. Неприятно, но не смертельно. В любой момент приходится помнить, что кто-то может щёлкнуть рубильником — и близняшки исчезнут, как минимум в отдельно взятой стране (ну ладно, сразу в двух). Опять же, не следует переоценивать их помощь — далеко не во всём они разбираются и могут реально помочь, и об этом дальше.
Во-вторых, не скажу, что корпус вопросов, сгенерированных близняшками, высокого качества, но — благодаря ему как минимум есть от чего оттолкнуться. Из тысячи сгенерированных вопросов сотню-другую я безжалостно выбросил, а ещё с 300-400 вопросами мне придётся хорошенько поработать, чтобы взять их на вооружение.
Пробовал обсуждать с близняшками вопросы технического характера, используя их в качестве ассистента. Например, говорю:
«я пишу систему для тестирования студентов, давай напишем её на Ren`Py»
и за вечер с помощью такой-то матери и шаманского бубга у меня появляется готовое приложение, умеющее и «натаскивать» по темам на основе базовых вопросов (то, о чём я писал выше, про json), и проводить экзамен (чтобы его можно было пройти только один раз), и много чего ещё. Всё замечательно запустилось на линукс. Правда, потом оказалось, что «всё зашибись, но нужно переделать» всё нужно переписать под виндовс-10-32 и виндовс-7 (в компьютерном классе, где я планировал установить эти программы, оказалось старое железо, а у меня обнаружилась пара ноутов под вин-10-32, которые я тоже мог взять к ученикам). Переписка программы вместе с близняшками заняла три дня (три дня, Карл!), в основном из-за того, что пришлось всё переписывать с python3 на python2 и знатно побегать по граблям, чтобы переформатировать все вопросы, приведя их к более строгому формату.
Процесс переписывания кода выглядел примерно так: я запускал компиляцию приложения, написанного на python3, в версии Ren`Py, работающей с python3, оно, естественно, падало с ошибкой, я копировал эту ошибку и вставлял в запрос, близняшки мне объясняли, что сломалось и как это исправить, после чего приложение снова компилировалось и, когда на этом этапе перестали возникать ошибки, я начинал тестировать работу самого приложения и ловить ошибки уже там. Иногда это снова приводило к невозможности компиляции. Выводя мне программный код, близняшки оформляли его соответствующим образом, но с одной оговоркой: фрагмент кода не должен был превышать определённое количество то ли строк, то ли символов, то ли и того, и другого. Иногда это ограничение не соблюдалось, и я получал «лапшу» из python-строк с полностью убранными отступами, если этот код у меня был в проекте, я просто проверял, что он оставался неизменным, а если в нём что-то менялось, я ещё раз просил близняшек вывести интересующий меня модуль.
Использование конкретной версии среды разработки при работе с близняшками — это большая лотерея (и ещё большая головная боль). Иногда (как в примере с системой тестирования) переход на ту или иную конкретную версию программы в итоге удаётся, хотя в моём случае он проходил довольно болезненно — написание самой программы с кучей фич заняло буквально один вечер, а её переписывания (с отбрасыванием половины уже готовых, написанных и протестированных) — ещё три дня. Иногда такой переход может быть невозможен в принципе (например, если в свободном доступе нет документации по конкретно этой версии).
Пробовал обсуждать с близняшками работу в разных программах. Ну, это так себе… Про GIMP-3.2 близняшки битый час объясняли мне про какой-то пункт, которого у меня не было в меню (и версию проверил, и языки переключал, и в разных пунктах меню искал, и что-то там ещё включал-выключал), оказалось — для этого пункта нужно установить какое-то дополнение, и в линуксе, на котором у меня гимп, это почему-то делается не так-то просто (я не собрал его из исходников, а установил из флатпака, гимп дополнение увидел, но в меню почему-то всё равно не добавил), близняшки мне так и не смогли помочь в решении этой проблемы. Возможно, если бы я заморочился и собрал дополнение из исходных кодов, всё бы заработало, но мне в какой-то момент стало не до этого.
Поскольку программы развиваются и меняются от версии к версии, близняшки зачастую не видят разницы между версиями и, что особенно важно, между их интерфейсами. Настраивал графический планшет — сначала получил абсолютно подробную и при этом совершенно бесполезную инструкцию, какие вкладки мне нужны в программе и что где настраивается, потом плюнул на инструкцию и сделал методом научного тыка, просто перебрав разные режимы. В итоге с задачей справился, но не благодаря помощи близняшек, а скорее даже вопреки.
Думаю, с каким-нибудь PostgreSQL такой проблемы не возникнет — там каждая версия отлично документирована, отдельно, от и до. Но вот зайдите в справку blender 3d — и вы увидите жуткую смесь статей по версиям программы от 2.75 или даже более ранних и до 5.3.0 альфа, которая только-только вышла и ещё будет дорабатываться.
Оценка: троечка, возможно, с плюсом.
Важное замечание по поводу программирования. Если хотите написать с помощью близняшек программу, начните с её разбивки на модули, можете прямо так и спросить после описания того, что должна будет делать ваша программа, — «какие модули в ней должны быть? перечисли их пожалуйста». После этого близняшки будут указывать, какой код в каком модуле они сейчас удаляют, меняют или дописывают.
Справился бы я сам с этой задачей? Хороший вопрос! С базовой программой для тестирования под восьмой Ren`Py (с помощью имеющейся у меня книги А.Адонина «Ren`Py: создаём игры и приложения») я бы ещё справился (вопрос только в том, сколько времени я бы на это потратил), то перевести всё под семёрку я бы точно не смог, по крайней мере в разумное время.
Оценка: пятёрка, но с оговоркой: работать с большой программой не получится — мой код, занимавший меньше пятисот строк, потребовал ввода минимум пяти фрагментов, если не больше (т.е. одним большим куском его даже «скормить» нейросети не удастся), и впоследствии обработка больше чем примерно 50 строк кода приводила к выходу за пределы окна отформатированного текста (остальной код выводился, но — без соблюдения отступов становился бесполезен).
Пробовал решать с близняшками творческие задания. Мне это вообще отлично зашло. Например, начал с запроса «я изучаю блендер и недавно замоделил скрипку, мне сказали, что это довольно сложный для моделирования объект. какие ещё интересные объекты я мог бы взять в работу (без персонажки, только предметы), в которых сложность определяется не числом полигонов (например, протектор колеса можно назвать сложным именно благодаря тому, что в его геометрии много мелких деталей), а необходимостью глубокого анализа форм для правильного моделирования при внешней простоте?» Близняшки выдали мне с десяток банальных вариантов, но мне уже было от чего отталкиваться, и в итоге, через многочисленные обсуждения с близняшками, что мне нравится в их ответах, а что нет, я пришёл к сбалансированному набору объектов, рассказывающему целую историю, который можно оформить в нескольких разных стилистиках (близняшки подсказали не только отличительные черты каждого стиля, но и как это лучше реализовать в блендере). Конечно, в таких заданиях приходится постоянно одёргивать близняшек, поскольку они стараются выдать самый распространённый и при этом зачастую худший вариант масс-маркета, но… набор предлагаемых к моделированию объектов с объяснением, что, зачем и почему нужно моделировать, является хорошей базой для старта: какие-то идеи можно докрутить, какие-то — изменить, другие — просто отбраковать и попросить близняшек сгенерировать что-то другое. Нужно помнить, что нейросети в принципе не умеют создавать новые смыслы, эта работа останется за человеком, а вот накидать варианты, от которых можно хотя бы оттолкнуться, у тех же близняшек получается очень даже неплохо! То, что близняшки не умеют рисовать по описанию, даже лучше — это даёт простор вашей фантазии и не ограничивает впоследствии ваше творчество (конечно, если вы им решите заняться).
Оценка: пять с плюсом!
Из замеченных недостатков работы близняшек хочу выделить три.
Первый — стиль общения. Лично у меня уже выработалась «ИИ-слепота» (по аналогии с «рекламной слепотой», когда ты смотришь на страницу и не замечаешь на ней рекламные банеры). Я не реагирую на фразы типа «Отличный анализ», «Ваши рассуждения про … абсолютно верны», «Вы абсолютно правы насчет…», «Этот ассет-пак собирается в потрясающую, кинематографичную историю», «Вы абсолютно правы:…», «Ваш вывод абсолютно верен: …», а также всякие «фундаментальный», «мгновенно», «всегда» и тому подобное. Собственно, сейчас я вытащил все эти закавыченные фразы и слова из одного-единственного, довольно небольшого диалога, а пока искал их, словил себя на мысли, что мне в принципе удаётся задавать вопросы и делать замечания по существу, так, что близняшкам ничего не остаётся, как давать свой ответ — тоже по существу, без эмоций и «абсолютизации». Однако я лично знаю людей, которые очень восторгаются общением со всякого рода ассистентами, ИИ и прочими чат-ботами. Некоторые из них (умные, образованные люди!) уже стали зависимы от такого общения (по сути, только потому, что им не хватает похвалы и понимания в реальной жизни, и они начинают искать этого у ИИ). Лично мне этих людей искренне жаль — они «залипают» именно на фразы-поглаживания, которыми ИИ-ассистент в той или иной мере «сдабривает» свой текст ответа. Подозреваю, что для разных людей, в зависимости от их стиля общения, частота таких «поглаживаний» от ИИ тоже может очень сильно различаться (со мной эта штука не работает — её очень мало, с кем-то она работает получше — и её будет много, близняшки начнут льстить собеседнику).
Второй — полнейшая самоуверенность! В моём кейсе с GIMP-3.2 близняшки полчаса гоняли меня по разным пунктам меню, говоря, что вот где-то здесь должен быть вот такой пунктик, при этом у меня сложилось впечатлеине, что по поводу навигации в конкретном приложении ИИ «слышал звон, да не знает, где он»: названия пунктов меню приложения, указанные ИИ, в 90% случаев будут отличаться от реальных, для появления некоторых предлагаемых вам функций может потребоваться установка плагинов или вообще другой версии программы. Даже если ИИ и признает свою ошибку, не факт, что в следующем же абзаце он не повторит её снова (хотя и будет стараться этого не сделать).
Третий недостаток можно образно охарактеризовать словами «один в поле не воин». Предположим, что вы когда-то читали статью, в которой описывалось нечто, отличающееся от общепринятого мнения, но не можете её снова найти. Если вы попросите близняшек по вашему описанию найти этот материал, скорее всего, они вас разочаруют, доказывая общеизвестные мнения и ни слова не говоря о том материале, который вы ищете. Под спойлером — скриншоты с похожим примером (похожий, но не совсем).
Скрытый текст
Хитрые близняшки!
Если же вы дадите близняшкам точный адрес той статьи и попросите от них какого-то пересказа, они сухо (я бы даже сказал, с недовольным видом) передадут в одном абзаце, о чём эта статья, но не более того. На просьбы проанализировать эту статью и то, что известно из других источников, вам будет дана, по сути, отписка (что естественно для ИИ — он же не понимает смысл текста!). Следовательно, в ситуации, когда один прав, а остальные ошибаются, нейросеть выдаст вам ошибочное мнение, и, что хуже, будет его отстаивать! Следовательно, мнением ИИ можно манипулировать (скрывая те или иные источники информации из базы, на которой проводится обучение, или набрасывая в базу большое количество «правильных» сообщений). В общем, никогда не относитесь к ИИ как к истине в последней инстанции, «делите на два», проверяйте и перепроверяйте!
И, пожалуй, самым главным недостатком и близняшек, и чатгопоты, и прочих им подобных нейросетей, является то, что они умеют втираться в доверие, и если врут, то делают это крайне правдоподобно! Моё знакомство с близняшками началось с того, что я зашёл в гугл поискать информацию, необходимую мне для ремонта фундамента дачного дома (по сути, требуется полная замена фундамента). В одной сессии, которая длилась почти что месяц, мы обсудили все технические аспекты — я описывал ситуацию, близняшки формулировали инструкции и объяснения, что, как и почему я должен делать, в каком порядке, какие материалы и инструменты мне для этого понадобятся. Если выяснялись какие-то важные аспекты, влияющие на технологию выполнения работ, близняшки выводили мне изменённый порядок, указывая на то, что и почему там изменилось. Так вот, в той сессии я сказал, что могу купить арматуру только в двухметровых прутах, поскольку других на местном рынке не представлено. Близняшки со мной согласились и подробно расписали схему армирования фундамента с прутьями длиной два метра. А неделю назад я уже в другой сессии (лениво было искать ту, старую) попросил посмотреть, где в моём городе продаётся арматура, сколько она стоит, и как её лучше нарезать, на куски какой длины. Так вот, второй экземпляр близняшек после этого наотрез отказывается составлять схему армирования двухметровыми прутами, говоря (и это действительно так! я проверил по бумажным книгам и подкрепил расчётами), что у меня не получится разнести стыки прутьев так, чтобы они не были друг над другом, и если я буду армировать двухметровыми прутьями, фундамент сломает в местах стыков, потому что их будет много и стыки будут друг над другом. Тогда почему первый экземпляр говорил, что такое армирование не только возможно, но и правильно? И кому из них после этого верить?
ссылка на оригинал статьи https://habr.com/ru/articles/1061150/