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