Каждую неделю я трачу 15-20 минут на заказ продуктов во «ВкусВилл». Сценарий обычно один и тот же: открыть каталог, найти молоко среди 15 похожих карточек, добавить, искать хлеб, сомневаться между бородинским и чиабаттой, снова добавить, потом сыр, потом что-то к чаю. К пятой позиции я уже не уверен, кто тут клиент: я или бесконечная лента товаров.
В какой-то момент поймал себя на мысли: я трачу больше времени на поиск гречки, чем гречка потом варится.
По данным Platforma (2021), россияне в среднем проводят от 19 до 49 минут в месяц на выбор продуктов онлайн с мобильного (жители Москвы — в 2,5 раза больше). При этом 65% покупателей называют экономию времени главной причиной онлайн-покупки продуктов (РБК, 2022) - данные несколько устаревшие, но все же.
Парадокс понятный: мы идём в онлайн, чтобы сэкономить время, и там же это время сливаем в рутину.
Я решил проверить простую гипотезу: если человек обычно заказывает одно и то же, можно ли собрать корзину по одной фразе вроде:
> «Собери завтрак на двоих»
Спойлер: можно. Я сделал Telegram-бота, который понимает обычный язык, сам ищет товары в каталоге «ВкусВилл» и отдаёт готовую ссылку на корзину.
> Дисклеймер: это личный open-source проект. Я не связан с компаниями ВкусВилл или Яндекс. Бот использует публичный API ВкусВилл и Yandex Cloud AI Studio на общих условиях. Код доступен на GitHub под лицензией Apache 2.0.
Давайте сразу к делу. Вот как выглядит типичный диалог:
**Пользователь:** Собери завтрак на двоих **Бот:** > ? Завтрак на двоих (5 товаров, 612 руб): > 1. Яйца куриные С0, 10 шт — 89 руб × 1 = 89 руб > 2. Хлеб бородинский нарезной — 65 руб × 1 = 65 руб > 3. Масло сливочное 82.5%, 180 г — 169 руб × 1 = 169 руб > 4. Сыр Маасдам нарезка, 125 г — 159 руб × 1 = 159 руб > 5. Апельсиновый сок, 1 л — 130 руб × 1 = 130 руб > > Итого: 612 руб > [Открыть корзину](ссылка) > > Наличие и точное количество товаров будет проверено при > открытии ссылки на корзину. Цены уточняйте на сайте.
Бот не просто находит «что-то съедобное», а собирает цельный набор. Как сосед, которому вы дали список. Только сосед может принести ещё семечки и рассказ на 20 минут, а бот просто присылает ссылку.
##Что бот делает под капотом?
На запрос «завтрак на двоих» бот обычно делает 5 шагов:
Разбивает задачу на позиции (яйца, хлеб, масло, сыр, сок) Ищет каждую позицию в каталоге Выбирает лучший кандидат по релевантности/цене Рассчитывает количество (для рецептов - с учётом порций) Собирает одну ссылку на корзину На практике это 5-12 инструментальных вызовов и около 60 секунд ответа.
## Ещё два сценария
Рецепт далее корзина

Пользователь: собери ингредиенты для окрошки на квасе
Бот извлекает ингредиенты, ищет их в каталоге, считает количества и собирает одну корзину.
Персонализация

Бот: Запомнил: молоко [записал в блокнотъ] безлактозное молоко
После этого в новых заказах бот подставляет нужный вариант автоматически.
Через пару недель он иногда помнит ваши привычки лучше, чем вы в субботу утром.
## Архитектура

Если простыми словами, то:
Telegramпринимает сообщенияShopping Agentрешает, что искать и в каком порядкеMCP Gatewayходит во внешние инструменты (поиск/корзина)Хранилищадержат предпочтения, историю и кэш
## Почему именно так
Qwen в Yandex Cloud: стабильно работает с русским языком и удобно доступен из РФ
MCP: единый протокол для инструментов; меньше «самописной склейки»
Сменяемая модель: провайдера можно заменить без переписывания половины проекта
Я сознательно не ухожу в код в этой статье. Здесь цель - показать продукт и механику. Технический разбор будет отдельно.
## Что пошло не так (и это нормально)
Рабочий ИИ-бот - это не только «вау-демо», но и ежедневные маленькие драки с реальностью.
Пользователь просит 3 пачки молока, а модель пытается положить одну
Поиск может зациклиться на одном и том же запросе (режим «я точно закрыл дверь?»)
Иногда встречаются величины уровня
0.68 банки огурцовИз 5 найденных товаров в корзину может уехать 4 (обычно страдает сыр, не знаю почему)
Все эти кейсы я вынес в отдельную статью про «11 граблей» с кодом и фиксами.
№ |
Метрика |
Значение |
1 |
Ручной заказ |
15-20 мин/неделю |
2 |
Через бота |
~60 секунд |
3 |
Экономия |
~75 мин/месяц (~15 часов/год) |
4 |
Действия |
~20 кликов -> 1 сообщение |
5 |
Tool calls |
5-12 на запрос (до 20 для сложных рецептов) |
6 |
Точность подбора |
~90% (с верификацией корзины) |
7 |
Покрытие тестами |
98% |
\* Если попросить «что-нибудь вкусное, полезное, недорогое и с пармезаном, но чтобы недорого», модель тоже немного задумается.
## Что дальше в серии
№ |
Статья |
О чём |
1 |
Вы здесь |
Демо и обзор: как бот собирает корзину |
2 |
MCP + Qwen |
Как устроен цикл tool calling и интеграция с API |
3 |
11 граблей tool calling |
Дубликаты, зацикливание, дробные количества, мусорные запросы |
4 |
Тестирование ИИ-бота |
Как тестировать недетерминированную систему |
5 |
Юнит-экономика |
Сколько стоит один заказ и где точка окупаемости |
Попробовать
Бот в Telegram: [@vkus_eda_voda_bot](https://t.me/vkus_eda_voda_bot)
Исходный код: [GitHub](https://github.com/mrPDA/vkuswill_bot) (Apache)
Как использовать:
Отправьте сообщение: «собери завтрак на двоих»
Подождите ответ (~60 секунд)
Откройте ссылку на корзину и оформите заказ
Источник вдохновения
Статья Вкусвилл о собственном MCP
Интересно, какие рутинные задачи в быту можно так же «свернуть в одно сообщение», напишите в комментариях. Соберу идеи для следующих экспериментов.
P.S. Бот сделан в формате AI-assisted development: архитектура и ключевые решения мои, ИИ помогал с реализацией. Отдельно покажу, где это реально ускоряет разработку, а где, наоборот, создаёт новые риски.
Комментарии (23)

n39r19
03.03.2026 07:23Зарегался специально чтобы прокомментировать этот пост)
Автор молодец, ведь есть кайф в автоматизации своей личной рутины. Даже трата N*100 времени, чтобы автоматизировать N своего времени - это отдельный кайф, он не всем понятен
Удачи в развитии продукта, жду следующих статей!

ProfDonda
03.03.2026 07:23Не понял проблемы, честно говоря. Мы в семье за 3 - 4 месяца первоначального пользования ВВ выяснили, какой творог/молоко/котлеты/рыба/выпечка/etc.etc.etc. нам понравились и просто повторяем свои заказы в той или иной комбинации. Там же есть история Заказов. Какой такой "по релевантности/цене"?? На вкусно или нам невкусно, вот какой критерий.

sharxan Автор
03.03.2026 07:23Глобально проблемы нет. Это вопрос удобства. ВкусВилл опубликовал MCP сервер, а это уже шаг к реализации более френдли истории для пользователя. Заказ голосом, какая-то автономность и да просто автоматизировать бытовуху. Например, робот пылесос из этой серии, можно пылесосить 2 раза в неделю обычным пылесосом.
Через Алису есть тестовый функционал, хочу доработать его. Вижу такой путь: Алиса закажи то и то, а Алиса спрашивает, у вас возможно закончилось и это. Добавить? Подтверждаем - смотрим в корзину, все ли ок. - оплачиваем.

ProfDonda
03.03.2026 07:23Пылесосить роботом-пылесосом очень удобно, запустил его и ушёл гулять/в кино/в другую комнату. Запускаем через день, а то и ежедневно. А вот с едой каждую неделю разная программа, по настроению/сезону/аппетиту. Но виды продуктов "наработаны" опытом. Впрочем, в каждой семье свои привычки.

sharxan Автор
03.03.2026 07:23Привет!
Спасибо, что дочитали статью и воспользовались ботом, дали обратную связь. Стало понятно, что еще необходимо доработать, добавить новый функционал. Например, поведение бота при сложносоставных запросах с большим количеством элементов.
Взял в работу.
Всем хорошего дня!

diffnotes-tech
03.03.2026 07:23"Точность подбора ~90%" - ну то есть каждый десятый товар мимо. Для завтрака на двоих из 5 позиций это каждый второй заказ с сюрпризом)

sharxan Автор
03.03.2026 07:23Точность нужно повышать. У нас как раз на вход неопределенность от пользователя в виде формулирования запросов и на выходе неопределенность от LLM в силу матмеханизма модели. Не всегда валидаторы справляются. Вот если подсветить заранее предпочитаемым продукт, система его запомнит и неопределенность снизится.
janvarev
Даже не знаю - откройте для себя "Избранное", что ли... :))))
Есть тупо пищевые привычки, и брать "абстрактный хлеб к абстрактному чаю" - ну, имхо, такое...
sharxan Автор
Можно итак ))) а можно и записать в блокнот, что ешь, и ходить с этим в магазин, тоже в некотором роде избранное. Поэтому реализация дело вкуса )
conrad98
Нее, нужно придумать проблему, там где её нет, а потом типа "решить" её и пафосно заявить миру "какой же я молодец".
А, по сути, просто отделаться жидко...
Кста, есть ещё и функция "повторить корзину", если уж совсем лень )
lunarshade
Бывает, что любимого товара из избранного просто нет, сидишь полчаса ищешь замену.
janvarev
Бывает, да - но ИИ вряд ли поможет :)
Кстати, мы выделили себе небольшой бюджет "под эксперименты" - брать что-то новое, и, если зайдет, потом тоже добавлять в избранное.
sharxan Автор
Хорошая идея) вообще бывает ИИ подкинет что-то новенькое. Например, на тестах предложил венгерскую кухню )
janvarev
sharxan Автор
Спасибо, что поделились опытом. Этот раздел известен. Это новинки ассортимента. Не всегда из нового на сайте является для кого-то новым.
Вообщем каждый сам может определить, как будет себе искать что-то в качестве эксперимента.
janvarev
Коллега, немного завидую вашему оптимизму :)
Вообще считаю, что на личном уровне ваш энтузиазм более чем полезен, так что мои замечания относятся скорее к возможному общественному использованию (не могу слишком сильно грешить против истины).
Пишу не просто так - я автор опенсорс голосового помощника Ирина (на Хабре есть статьи под этим профилем).
И спустя три года разработки, практического использования и обсуждений я понимаю - основная голосовая команда помощнику - "таймер". Это практически единственное, что удобно ставить голосом, а не руками. Еще, но значительно реже:
команды умного дома (для имеющих такой, Home Assistant)
музыка (для проприетарных голосовых - поставить фоном музыку)
будильник
погода
справочная информация (у меня для этого Perplexity подключен)
Собственно, все.
sharxan Автор
Спасибо за поддержку) как говорится, дорогу осилит идущий.
Хочет нанести какую-то пользу и ради технофана получить удовольствие ) в любом случае я для себя уже в процессе создания попробовал несколько инструментов, про которые читал, но не было точки приложения усилий
lunarshade
Я одно время пользовалась сервисом, который придумывал меню и рецепты, и просто присылала тебе продукты из супермаркета под эти рецепты. Это ещё до развития ии. Мне нравилось постоянно пробовать что-то новое, но потом они закрылись, к сожалению. Как я понимаю, данный бот может быть заменителем такого сервиса))
sharxan Автор
Или хочется чего-то такого, а не понятно, что под настроение)))