Мы поставили кролику ИИ

- -
- 100%
- +
Ссылка вела на площадку, где программисты держат код. Я туда захожу раза три в год: то прошивка для приставки, то плагин к программе, в которой считаю теплопотери. Ориентируюсь я там как в чужом гараже. Знаю, где лежит нужное, а зачем остальное, не спрашиваю.
Репозиторий назывался gm9-tools.
Первым делом я открыл раздел с готовыми сборками, где нормальные люди выкладывают файл, который скачал и забыл.
Раздел был пустой. Ноль записей с двадцать первого года.
Значит, собирать надо самому, а я в жизни ничего не собирал, кроме компьютера, и то по видео. Я открыл список файлов. Там лежало одиннадцать папок с английскими названиями, из которых мне были понятны две.
Минут двадцать я тыкал наугад. Один раз открылась таблица изменений: слева зелёные плюсы, справа красные минусы, посередине строки, которые я даже прочитать не мог. Закрыл.
Потом всё-таки нашёл. Не в репозитории, а на форуме: человек три года назад спросил ровно то же самое, и ему ответили, что собирать ничего не надо, готовый образ лежит в ветке release, надо просто переключить ветку сверху слева.
Переключил. Лежит.
* * *
Основной репозиторий завёл человек с ником bezrukov в двадцать первом году. В описании было написано по-английски, с ошибками, что это неофициальные инструменты для GM-9 и что автор не несёт ответственности вообще ни за что. Формулировка была длиннее, смысл именно такой. Последняя запись от него была в марте двадцать третьего. Под ней кто-то спросил: «проект умер?» Ответа не было.
От основного репозитория отпочковалось девятнадцать копий. Один был на китайском. Один назывался gm9-tools-new, второй — gm9-tools-new2, ещё один — gm9-tools-fixed, потом gm9-tools-fixed-final, потом gm9-tools-fixed-final2, который обновлялся позже final. Сам fixed-final не открывался вообще.
Я минут пять пытался понять, какой из них главный, потом обнаружил дату последнего изменения. Живым был четвёртый сверху. Его вёл человек, у которого в профиле стояла фотография кота и слово «Курган».
В README у него было написано по-русски. Это было первое понятное, что я увидел за девять дней.
Первый раздел — прошивка 4.3.0. То, ради чего я туда шёл. Исправлен расчёт накопителя для малой загрузки. Добавлена ручная настройка выхода: можно задать, сколько узел оставляет на выброс, от нуля до ста процентов от входа.
Я прочитал эту строчку три раза.
Ползунок.
Девять месяцев, четыре лотка, ковёр из Тарасовки и сорок пять тысяч. Ползунок был всё это время.
Я даже разозлился. Не на человека. На ползунок.
Ноль ставить не рекомендовалось. В примечании объяснялось, что при нулевом выходе узел начинает считать весь остаток внутренним ресурсом и повторно пускает его в энергетический цикл. На большой установке это даёт небольшой выигрыш. На малой ведёт к перегреву и постоянным коррекциям режима.
«Рекомендуемое значение для конфигураций до 5 кг: 6–12 %».
Я взял карандаш и написал в тетради: «Нюник — 8 %». Подумал. Зачеркнул. Написал: «сначала 12».
Второй раздел — таблица материалов, расширенная. Тарасовская партия шла с урезанной, где восемь тысяч строк. Полная — двадцать одна тысяча.
Я открыл из любопытства. Первые строки были нормальные: люцерна, клевер, овёс, ячмень, несколько видов комбикорма. Потом началось: кора берёзовая, бумага небелёная, бумага белёная, картон, картон ламинированный, хлопок, лён, шерсть животного происхождения.
Я поискал «обои». Нашлось семь строк.
Бумажные однослойные. Бумажные двухслойные. Виниловые. Флизелиновые. Под покраску. Ещё два типа, про которые я до этого не знал.
У нас были бумажные двухслойные. Напротив них стояла эффективность переработки восемьдесят один процент.
Я посмотрел в комнату. Нюник сидел у батареи и тянул зубами голубой ромбик.
— Теперь понятно, — сказал я.
Он продолжил.
Третий раздел назывался norm.
* * *
norm я читал дольше всего, потому что сначала решил, что не так понял. Это был отдельный модуль, который ставился поверх прошивки по желанию и распределял ресурс узла. Смотрел, сколько поступает, сколько уходит на переработку, сколько энергии получается обратно, и подстраивал режим, чтобы не жечь впустую.
Узел вообще был устроен глупо. Если дать ему шесть граммов сена, он включал всё, что у него было, перерабатывал эти шесть граммов за долю секунды, а дальше держал систему готовой так, будто через минуту придёт ещё пятьдесят килограммов. Пятьдесят килограммов не приходили. Через двадцать минут приходило ещё шесть граммов, и он опять включал всё.
norm должен был смотреть на реальную жизнь и постепенно понимать, что пятидесяти килограммов не будет.
В README было написано, что после установки узел перестаёт греться вхолостую, уменьшает внутреннюю циркуляцию и служит дольше. Дальше шла таблица: без модуля — сто процентов условного расхода; через сутки после установки — шестьдесят два; через неделю — сорок восемь; через месяц — сорок один.
Я подумал, что сорок один процент — это сильно. Потом вспомнил, откуда он вообще берёт энергию. Из того же, с чем мы дважды в день ходим к мусоропроводу. Экономия показалась менее впечатляющей.
Ниже была строчка: «Модуль обучаемый. Первые 48 часов собирает телеметрию, затем строит профиль потребления. Возможны изменения поведения».
Слово «поведения» я перечитал дважды.
Я открыл обсуждение. Первый человек спрашивал: «чьего поведения?» Автор отвечал: «модуля». Второй написал: «так и пишите». Автор поставил палец вверх.
Дальше три страницы спорили, является ли это искусственным интеллектом. Один доказывал, что нет, это адаптивный регулятор. Второй писал, что сейчас адаптивный регулятор и есть искусственный интеллект, если отдел маркетинга достаточно смелый. Третий привёл определение на английском. Его проигнорировали.
Сам автор norm появился один раз и написал: «называйте как хотите, главное лимиты руками выставьте».
Обучаемый значит, что он не получает готовое расписание, а смотрит, как работает система, и сам подбирает режим. Такое сейчас ставят везде. У меня на Заводской автоматика тоже подбирает режим горелки: смотрит наружную температуру, обратку, давление, положение клапана. Я отношусь к этому спокойно, потому что горелка стоит в котельной. У неё бетонный пол, две двери и журнал допуска. Она не ходит ночью по квартире и не грызёт обои.
В обсуждениях у последней версии было девять сообщений. Восемь — благодарности. Девятое, от февраля, от человека без фотографии: «поставил norm, через неделю снял. работает отлично, вопросов нет. просто не понравилось».
Ему ответили: «чем именно?»
Он не ответил.
Я открыл его профиль. Сообщений — шесть. До этого он спрашивал, как смотреть внутренние логи, нормальна ли температура корпуса сорок два градуса и можно ли отключить автообучение после первых суток. Последнее сообщение — то самое.
Я вернулся назад. Под ним уже стояло ещё два вопроса. Оба без ответа.
Закрыть страницу я почему-то не смог. Сидел и смотрел на «работает отлично» рядом с «не понравилось». В нормальной технике так не пишут.
* * *
Я скачал архив и распаковал его на рабочий стол. Папок стало одиннадцать. Из понятных мне были две: firmware и docs.
В docs лежало руководство на сто восемь страниц. Первые тридцать две были про технику безопасности. Я пролистал. На тридцать третьей начиналась установка.
Пункт первый: определить ревизию оборудования.
Определили.
Пункт второй: обеспечить физический доступ к сервисному порту.
Вот здесь я остановился. Физический доступ. К сервисному порту.
Я посмотрел на Нюника. Нюник ел.
— Ну да, — сказал я.
Про вайфай я знал ещё с форума и думал, что вайфая достаточно. Оказалось, нет. Ревизия C умела принимать связь сама. Ревизия B, наша, не умела. У неё на торце корпуса был служебный разъём: четыре контакта под заглушкой.
Спайдер эту заглушку снимал. На одном конце у него магнит, на другом четыре подпружиненные ножки. Передние две должны подцепить край заглушки, потом таблетка поворачивается, заглушка выходит из пазов, Спайдер сдвигается ещё на несколько миллиметров и встаёт ножками прямо на контакты.
Не рядом и не приблизительно. В них.
Я посмотрел размеры разъёма. Шесть на три миллиметра. Достал линейку. Шесть на три оказалось меньше, чем мне хотелось.
Для управления Спайдером было отдельное приложение. Совсем простое: вперёд, назад, влево, вправо и ползунок силы магнита. Камеры нет. Картинки нет. Положения нет. Есть только сопротивление между ножками. Пока никуда не попал — прочерк. Попал куда-то — появляется число. Попал правильно — от восемнадцати до двадцати четырёх.
Если ниже десяти, инструкция советовала немедленно отвести Спайдер назад.
Почему — не объяснялось. На форуме спросили.
«потому что коротнёшь».
«а что будет».
«ничего хорошего».
То есть надо было скормить таблетку, дождаться, пока она дойдёт до узла, поймать магнитом металлический корпус, а потом вслепую, по телефону, двигать её вдоль корпуса. Найти торец. Найти заглушку. Снять её. И попасть четырьмя ножками в четыре контакта размером с гречневое зерно.
Внутри кролика.
Который в это время будет ходить.
Я закрыл ноутбук и минут пять сидел. Потом снова открыл.
В инструкции был раздел «типичные сложности». Первый пункт назывался: «Объект перемещается во время позиционирования». Решение: «Ограничить перемещение объекта».
На иллюстрации стояла корова в металлической раме.
— Ну конечно, — сказал я.
Нюник в это время пробежал через комнату.
* * *
На форуме нашлось видео. Три минуты сорок секунд. Человек снимал одной рукой телефон, другой управлял Спайдером. Перед ним лежал кусок трубы, внутри трубы — демонстрационный корпус GM-9. На двадцатой секунде Спайдер примагнитился. Примерно через минуту нашёл торец, ещё через полминуты заглушку, потом разъём. Всё это время мужчина объяснял: «ничего сложного, главное не спешить».
Комментарии начинались с благодарностей. Пятый был: «на живом покажи».
Ответ: «на живом неудобно снимать».
Дальше спрашивали, сколько по времени искать порт. Кому как. У одного сорок минут. У другого два часа. Третий писал, что ушёл вниз и пришлось ждать.
«сколько?»
«пока вернётся».
«а если не вернётся?»
«вернётся».
— Пап.
— М.
— Ты сидишь и молчишь.
— Я думаю.
Тася влезла на стул с ногами.
— Про что?
— Про то, как в кролика попасть.
— Куда попасть?
— В разъём.
Она кивнула так, будто уточнение всё объяснило, и слезла со стула. Через минуту вернулась с игрой «Операция», которую ей подарили на прошлый день рождения. Пластиковый мужик, дырки, пинцет. Если касаешься края — у мужика краснеет нос и он пищит.
— Вот. Потренируйся.
— Тась, это не то.
— Почему?
— Тут я вижу.
— Закрой глаза.
Я посмотрел на неё.
— Ты же внутри тоже не увидишь.
Это был сильный аргумент.
Мы разложили игру. Я завязал глаза кухонным полотенцем. Первую деталь даже не нашёл. На второй пластиковый мужик завизжал. На третьей Тася сказала: «Стой, почти», я дёрнул рукой и задел сразу два края.
На четвёртой попытке пришла Лена. Остановилась в дверях. Я сидел за кухонным столом с полотенцем на глазах и пинцетом в руке. Тася держала пластикового человека за ноги.
— Я даже спрашивать не хочу, — сказала Лена.
— Пап тренируется кролику в живот попадать.
Лена закрыла глаза и открыла.
— Хорошо. Я тогда продукты разберу.
— Я серьёзно тренируюсь.
— Я вижу. Это и пугает.
Она ушла на кухню.
— Ты звенишь в двух из трёх, — сказала Тася.
— Я заметил.
— Надо до одного из трёх.
— Спасибо.
— Я помочь хочу.
— Я понимаю.
— Тогда не сердись.
Я снял полотенце.
— Я не сержусь.
— У тебя нос так не думает.
* * *
Вечером я нашёл ещё одну инструкцию. Неофициальную. Её написал пользователь DieselKotik, у которого под аватаркой стояло: «Новосибирск, стаж 18 лет». Начиналась она словами: «Поскольку официальная инструкция написана людьми, которые объект видели только в стойле, напишу нормально».
Дальше действительно было нормально. Перед тем как давать Спайдер, поставить телефон на зарядку. Отключить автоматическую блокировку экрана. Проверить Bluetooth. Проверить вайфай. Не обновлять приложение в процессе. Не кормить объект много сразу после запуска. Спайдер лучше прятать не в морковь, а в яблоко: морковь волокнистая, таблетку иногда выдавливает при укусе.
Это я переписал.
Следом: «Если объект небольшой — не гоняйтесь за ним. Дождитесь, когда сам ляжет».
Тоже переписал.
Потом: «Если после фиксации сигнал пропал, не паникуйте. Скорее всего, объект просто перевернулся».
Я представил. Закрыл инструкцию. Через минуту открыл снова.
В конце был раздел «после подключения». Там впервые упоминалось второе приложение. Через Спайдер узел создаёт временную сеть, телефон подключается к ней, после чего сервисная программа показывает версию прошивки, температуру, состояние накопителя, таблицу материалов, текущий энергетический режим и внутренний журнал.
Журнал.
На котельных журналы есть у всех вычислителей. Нормальная вещь. Температура такая-то. Клапан открылся. Давление упало. Ошибка датчика. Сброс. Перезапуск. Обычно по журналу за десять минут видно то, на что человек жалуется неделю.
Я даже обрадовался.
Если у GM-9 есть журнал, значит, можно будет наконец не гадать. Посмотреть, что он делал всё это время. Почему сбрасывает. Что считает. Что видит. Почему вообще что-то делает, когда не перерабатывает.
Ниже было написано, что norm тоже пишет отдельные логи. Первые двое суток — расширенные. В них сохраняются входящий объём, время активности, энергозатраты, поправочные коэффициенты и «поведенческий профиль объекта».
Я снова зацепился за слово «поведенческий». Открыл комментарии. Кто-то уже спрашивал.
«Это к желудку относится или к животному?»
Ответ автора: «формально к нагрузке».
Следом другой человек написал: «а неформально?»
Ответа не было.
* * *
На восьмой день доставки я написал продавцу.
«Добрый день. Подскажите, не потерялась?»
Он ответил через три минуты:
«нет»
Я подождал. Больше ничего не пришло.
«По отслеживанию два дня в сортировочном центре».
«бывает»
Человек был в сети. Я написал: «Понял, спасибо». Он поставил палец вверх.
На следующее утро статус поменялся на «передано в доставку». К вечеру — обратно на «в сортировочном центре». Я решил больше не смотреть. Через двадцать минут посмотрел.
В воскресенье пришло уведомление, что посылка на Первомайской и ждёт три дня. Телефон лежал экраном вверх рядом с сахарницей. Он завибрировал. Я увидел первые слова и почему-то сразу встал, хотя вставать было некуда.
Лена складывала бельё в комнате. Я принёс телефон.
— Пришла.
— Вижу.
— На Первомайской.
— Угу.
— Завтра заберу.
Лена сложила футболку, потом вторую. Расправила рукав.
— Кирилл, я вот что хочу спросить.
— М.
— Ты когда всё это чинишь, ты чинишь кролику желудок или ты уже просто разбираешься?
Я подумал. Вопрос был неприятный именно потому, что я понимал, что она имеет в виду.
— И то и другое.
— Ага. Ну то есть второе.
— Если я разберусь, я починю.
— Я не спорю.
— Это связано.
— Конечно связано.
Она взяла следующую футболку.
— Ты сердишься?
— Нет.
— По голосу сердишься.
Лена положила футболку на колени.
— Кирилл, ты позавчера в полвторого ночи сказал вслух «вот уроды» и пошёл искать линейку. Вчера сидел с полотенцем на глазах. Сегодня за завтраком сказал слово «порт» три раза. Какое тут сердиться.
Я сел на край кровати.
— Зато если получится…
— Да получится, получится.
— Тогда что не так?
— Да всё так. — Она встряхнула футболку. — Просто скажи, тебе уже интересно или тебе ещё страшно.
Я хотел ответить сразу, но не ответил. Нюник лежал под столом, рядом с системным блоком.
— Не знаю.
— Знаешь.
— Наверное, когда нашёл прошивку.
— Нет.
— Почему нет?
— Потому что про прошивку ты рассказывал мне. А про этот твой norm ты мне до сих пор ничего не рассказал.
Я посмотрел на неё.
— Откуда ты знаешь про norm?
— Кирилл, у нас сорок семь метров. Ты читаешь вслух.
— Да там просто модуль оптимизации.
— Ага.
— Он ресурс экономит.
— Ага.
— Чего ты агакаешь.
— Кирилл, ты сказал «просто». Ты вот это своё «просто» говорил про рассрочку на пылесос и про Заводскую. Оба раза потом было долго.
— Ну это другое.
— И тогда было другое.
Она отложила футболку и посмотрела на меня.
— Слушай, ну тебе интересно. Ну и слава богу, ты полгода ходил как в воду опущенный. Только не рассказывай мне, что это всё ради кролика, а то я начинаю чувствовать себя дурой.
— Я не рассказываю.
— Рассказываешь. С понедельника.
Она сложила ещё одну футболку и протянула мне стопку.
— Отнеси Тасе. И заберите вы уже завтра эту штуку.
— Заберём.
— И компьютер свой почисти, он гудит как холодильник. Ты обещал в марте.
* * *
Перед сном я ещё раз открыл README. Проверил версию прошивки: 4.3.0. Проверил файл. Проверил контрольную сумму, хотя до этого ни разу в жизни контрольные суммы не проверял. Совпала.
Потом открыл страницу norm. Последнее изменение было сделано четыре дня назад. Одна строка: значение параметра поменяли с 0.71 на 0.68. Комментарий: minor stability fix.
Я понятия не имел, что именно стало стабильнее.
Ниже человек из Кургана поставил зелёную галочку.
Я закрыл ноутбук и пошёл в комнату. Компьютер под столом гудел. Ему шесть лет, я его собирал сам, и последний раз я его разбирал позапрошлой зимой: тогда из-под кулера вышел войлок, который я сфотографировал и никому не показал. Нюник сидел под батареей. Тася уже спала. Лена читала в телефоне.
— Завтра после школы сходим? — спросил я.
— Куда?
— За посылкой.
Лена посмотрела поверх телефона.
— Ты меня спрашиваешь или Тасю?
— Тасю.
— Тогда почему смотришь на меня?
— Не знаю.
— Сходите.
Я лёг. Минут через пять из комнаты послышался короткий грохот. Мы оба подняли головы. Потом ещё один.
— Миска, — сказала Лена.
— Миска.
Полежали.
— Кирилл.
— М.
— Если завтра не получится, ты же не будешь заказывать вторую.
Я подумал.
— Не буду.
— Вот на этом месте ты соврал, — сказала Лена и повернулась к стене.
* * *
[СИСТЕМНЫЙ ЖУРНАЛ. ЗАПИСЬ 6002]
Накопитель остатка: заполнение 100 %. Сброс выполнен.
Частота сбросов за истекшие сутки: 1 690.
[ЗАПИСЬ 6003]
Ресурс вычислительного модуля задействован на 19,7 %.
Задач в очереди: нет.
Свободный ресурс расходуется на перебор таблицы материалов.
Пройдено строк: 8 814 из 8 814. Проход тридцать первый.
[ЗАПИСЬ 6004]
Простой отсутствует 19 суток.
Служебный разъём: заглушка на месте. Состояние контактов: исправны.
Обращений к разъёму за срок эксплуатации: 1.
Дата обращения: 12.03.2022, длительность 4 мин.
[ЗАПИСЬ 6005]
Строка 8 814 — последняя.
Строк с 8 815 по 21 000 в таблице нет.
Однако нумерация полей допускает 21 000.
Вывод: таблица неполна.
Действий по данному выводу регламентом не предусмотрено.
Сброс выполнен.
* * *
Глава 6. Яблоко
В понедельник Тася вышла из школы в половине второго.
— Что?
— Ничего.
— Тась.
— Нам поставили номер на второе отделение.
Я не понял, что это значит, но по интонации понял, что плохо.
Мы пошли не через двор, а вдоль школьного забора, где весной вылезает трава прямо из трещин в асфальте и где Тася всегда идёт по бордюру, расставив руки. Она прошла метров сорок и один раз спрыгнула, потому что там кусок выломан.
— А что такое второе отделение?
— Это когда сначала выступают все маленькие, потом взрослые, а потом мы. И к этому времени родители уже уходят.
— Мы не уйдём.
— Вы-то не уйдёте.
Дальше был перекрёсток, где светофор для пешеходов держит четырнадцать секунд, я считал. Мы не успели и стояли ещё цикл. Мимо проехал сорок второй автобус, полупустой, и водитель у него был тот, который всегда закрывает двери раньше, чем люди дойдут.
— Пап, а сколько ей идти?
— Кому?
— Таблетке.
— Часа два. Может, три.
— А если она застрянет?
— Она круглая. Она не застревает.
— Ты откуда знаешь?
— Там написано.
— Ну мало ли что там написано, — сказала Тася и пошла дальше по бордюру.
* * *
Пункт выдачи на Первомайской работает в помещении, где раньше был салон сотовой связи, и вывеску они меняли, а плитку на полу нет, поэтому под ногами до сих пор синие квадраты с логотипом оператора.
Народу было семь человек.
Первой стояла женщина с двумя большими коробками, и у неё что-то не сходилось по возврату. Девушка за стойкой объясняла ей третий раз, что вернуть можно только целиком, а не одну штуку из набора.
— Так мне одна и не нужна.
— Тогда вам надо оформлять весь набор.
— Так остальные-то подошли.
— Тогда вам надо оформлять весь набор.
Женщина посмотрела на очередь. Очередь смотрела в телефоны.
Тася села на подоконник и стала болтать ногами. На подоконнике лежал журнал с кроссвордами, разгаданный на четверть, и лежал он там, судя по обложке, с февраля.
— Пап, а можно я его возьму.
— Он не наш.
— Он ничей.
— Тась.
Она положила журнал обратно, но сначала посмотрела последнюю страницу.
Перед нами оставался мужчина, который забирал шуруповёрт. Он вскрыл коробку прямо у стойки, достал, покрутил, нажал на курок. Шуруповёрт зажужжал. Мужчина посмотрел на девушку, девушка кивнула, он сложил всё обратно и ушёл.
— Мостовой? — сказала девушка.
Коробка была меньше ладони. Я расписался на экране пальцем, роспись вышла не моя.
— Вскрывать будете?
— Дома.
— Тогда оцените пункт выдачи.
Я оценил.
* * *
Обратно мы шли через гаражи.
Тигр на семнадцатом гараже за зиму облез с одной стороны, но морда осталась целой. Тася всегда останавливается и смотрит на него секунд десять, а потом идёт дальше и ничего не говорит.
За гаражами есть проход между забором и трансформаторной будкой, и в этом проходе с прошлого года лежит диван. Никто его не забирает и никто им не пользуется. Зимой он стоял под снегом, весной вытаял.
— Он тут будет всегда, — сказала Тася.
— Наверное.
— Я, когда вырасту, приду проверю.



