Сделал бота, который помнит, где дома что лежит
«Дорогая, где удлинитель?» Теперь этот вопрос можно задать боту
В каждом доме есть Хранитель Вещей. Обычно это жена, иногда самый педантичный из домочадцев. Он знает, что фильтры для вытяжки лежат в шкафу над холодильником на нижней полке, что ёлочные игрушки на антресоли в коробке из-под пылесоса, а сам пылесос — под этой коробкой.
У семьи две проблемы. Хранителя постоянно дёргают. И однажды он уезжает в отпуск, после чего семья неделю живёт без паспортов, батареек и терпения.
Как всё началось
В моём случае Хранителем приходилось быть мне самому. А это непросто, когда вещей в доме больше, чем помещается в одной голове.
Дом у нас большой и к тому же ещё строится. Розетки, выключатели, кабели, крепёж — всё это где-то лежит «в запасе». Где именно, знает только дом. В какой-то момент я поймал себя на том, что проще съездить в магазин и купить ещё розеток, чем найти свои. Хотя точно знаю: они где-то были.
Я искал программы для учёта вещей, пробовал даже настоящую складскую систему. Для склада это отлично, для повседневной жизни нет: никто не станет заполнять карточку товара, убирая отвёртку в ящик. Хотелось другого — просто спросить кого-нибудь: «Где у меня шнек от насоса» И получить ответ.
Последней каплей стал чердак. К нам приезжала дочь с внуком, и к их визиту мы накупили кучу вещей. Гости уехали, я понёс всё на чердак и понял: через полгода я не вспомню, что там вообще лежит. Значит, перед следующим приездом придётся либо лезть на чердак на разведку, либо снова покупать «на всякий случай», вдруг не найду.
Так появился бот
Знакомьтесь: WIW
WIW — бот в Telegram и Max, который помнит, где в доме что лежит. Никаких таблиц, форм и «выберите категорию из списка». Вы просто пишете или наговариваете, как сказали бы человеку:
«Положил паспорта в синюю папку, в верхний ящик комода в спальне»
Бот кивает (мысленно) и записывает. Через полгода, накануне вылета, вы спрашиваете:
«Где паспорта?»
› спальня › комод › верхний ящик › синяя папка
И всё. Без археологических раскопок.
Как в это играть
Проще всего объяснить бота как игру с уровнями.
Уровень 1. Записать
Одна фраза, сколько угодно вещей, любая глубина вложенности:
«На кухне в ящике под духовкой три красные круглые формы для выпечки, стерилизатор, видеоняня»
Да, видеоняня в ящике под духовкой. Бот не осуждает, бот записывает. Шкафы, полки и коробки он заводит сам, по ходу рассказа. И понимает, что «шкаф над микроволновкой» и «шкаф над холодильником» — это два разных шкафа, а не один очень длинный.
Он запоминает и подробности: цвет, размер, количество, назначение, вольты. «Два блока питания, 12 вольт, 60 ватт» так и будут лежать, с вольтами и ваттами. Пригодится тому, кто когда-то подключал светодиодную ленту не тем блоком.
Уровень 2. Спросить
- «Сколько у нас батареек?»
- «Есть ли дома крахмал?»
- «Где горнолыжные очки?»
- «Где раньше лежал перфоратор?»
Последний вопрос особенно хорош для семейных расследований в духе «я его не трогал, он сам ушёл».
Важное правило: бот не фантазирует. Если крахмал никто не записывал, бот так и скажет, а не отправит вас на третью полку искать то, чего там никогда не было. Под ответом кнопки «нашёл» и «там нет». Нажали, и бот запомнил, что запись свежая или устарела.
Уровень 3. Жизнь не стоит на месте
Вещи переезжают, заканчиваются и уходят к соседям:
- «Рома переложил всё с полки под раковиной в корзину для белья»
- «Потратила один набор приправ для глинтвейна»
- «Старый пылесос отдали соседям»
Можно сказать «мультиварка — это та же скороварка», и бот найдёт её по обоим названиям. Можно указывать место по соседям: «паяльник положил туда же, где канифоль». Бот знает, где канифоль, значит, теперь знает и где паяльник.
Финальный босс: режим обхода
Говорите «начал обход» и идёте по дому с телефоном, как экскурсовод по собственной квартире:
«Я в кладовке. Слева стеллаж, на верхней полке коробка с ёлочными игрушками, под ней пылесос…»
Одно голосовое может длиться до 10 минут. Бот сам нарежет его на фразы, покажет прогресс, а в конце выдаст итог: что записал и что осталось непонятным. Говорят, за один обход кладовки можно найти три потерянные вещи ещё до того, как бот что-то запишет. Побочный эффект, но приятный.
Он переспрашивает, а не делает вид, что понял
Это моя любимая черта. Допустим, вы говорите: «Перфоратор в гараже на стеллаже». А стеллаж у бота записан в кладовке. Вместо того чтобы молча что-нибудь напутать, он спросит:
«Стеллаж у меня есть, но в кладовке. Это он или другой?» [перенести] [это другой]
Если вопросов накопилось много, а вы посреди обхода, бот не вываливает их все разом. Они ждут в разделе /вопросы, разберёте потом, за чаем.
Всей семьёй
Отправляете домочадцам ссылку-приглашение, и записи становятся общими. Один записал, все нашли. Можно завести несколько домов, например квартиру, дачу и гараж, и переключаться между ними. Дача отдельно, потому что на даче, как известно, свой мир и свои законы.
Есть и мелочи: список мест кнопками (открыл ящик и видишь всё его содержимое списком), фото с подписью, команда /отмена, если записали что-то неверно.
Чего бот не умеет
- Не угадывает молча. Сомневается — спрашивает.
- Не рисует план квартиры. Он просто помнит, что где лежит: комната → шкаф → полка → коробка. Вам и не нужен чертёж, вам нужен удлинитель.
- Не ищет вещи физически. Пока. Ноги не отросли.
Одна техническая минутка (можно пропустить)
Фразу разбирает языковая модель: где тут вещь, где место, что с ними сделали. А решение, какой именно это шкаф, принимает обычный код по всему, что уже записано. Слова понимает ИИ, порядок держит программа. Поэтому бот не путает два одинаковых ящика в разных комнатах, а в спорных случаях спрашивает человека. Каждая найденная ошибка превращается в тестовый сценарий, их уже больше сотни, и ни одна правка не выходит без прогона через них.
Мне нужна ваша кладовка
Бот работает, но живая жизнь ценнее любых тестов. Ищу людей с настоящими кладовками, чердаками и ящиками «всякое». Особенно ценны дома, где есть ящик со шнурами от неизвестных устройств: там бот проходит настоящую проверку.
Квест для тестировщика
Попробуйте получить ачивки:
- Новосёл — записать первую вещь
- Сыщик — найти что-то, о чём забыли, что записывали
- Экскурсовод — пройти режим обхода хотя бы по одной комнате
- Общий котёл — пригласить домочадца и найти вещь, которую записал он
- Охотник за багами — запутать бота так, чтобы он ответил глупость (и написать мне через /отзыв, это главная ачивка)
Пишите в /отзыв всё подряд: что раздражает, что неожиданно понравилось, где бот поступил странно. Каждая жалоба превращается в исправление.
Бот бесплатный. Но мест в тесте немного: читать отзывы и чинить ошибки я успеваю только в «свободное от работы время». Когда места закончатся, приём остановлю. Активным тестировщикам — моя благодарность и доступ ко всему, что появится дальше.
Немного про данные
Бот в тестовом режиме. Фразы обрабатываются внешними ИИ-сервисами и сохраняются в журнале, чтобы я мог разбирать ошибки. Поэтому не пишите туда ничего чувствительного: «ключ от сейфа под третьей половицей» лучше оставить при себе. Всё, что вы сохранили, можно в любой момент выгрузить одним файлом (/экспорт) или стереть целиком (/удалить_меня).
Попробовать:
Max:
Начните с одной полки. Если через неделю бот найдёт вам хотя бы одну вещь быстрее, чем вы сами, значит, всё было не зря. Если не найдёт, расскажите мне почему, и я это исправлю.