AI и MCP: как Claude составил недельную корзину под КБЖУ в ВкусВилле
Расход времени 30–40 минут на заказ продуктов через интернет-магазин сменился автоматизацией на базе искусственного интеллекта. Пользовательница Хабре продемонстрировала работу Claude, который через протокол MCP (Model Context Protocol) анализирует каталог ВкусВилл, подгоняет граммовку блюд под личные нормы КБЖУ и формирует готовую ссылку на корзину.
# Как ИИ составил мою недельную корзину продуктов с точностью до грамма
Введение: от рутины к автоматизации
Для людей, придерживающихся рационального питания, процесс заказа продуктов в интернет-магазинах часто превращается в рутинную задачу. Отсутствие фильтров по калорийности и питательным веществам заставляет потребителя вручную изучать карточки товаров. В одной из статей на Хабре пользовательница описала свой опыт создания системы, где ИИ берет на себя эту работу.
Раньше создание недельного меню с учетом личных норм калорий, белка и клетчатки занимало от 30 до 40 минут. Сегодня этот процесс оптимизирован с помощью модели Claude и официального MCP-сервера ВкусВилл. Система не просто ищет товары, а составляет меню, рассчитывает точные граммовки ингредиентов и формирует готовую корзину для заказа.
*Примечание редактора Umine Nagi:* Важно понимать, что представленная ниже автоматизация не является универсальным решением для всех. Указанные калорийность и состав пищи являются индивидуальными параметрами конкретной авторской статьи и могут не подходить для иных целей.
Как работает протокол MCP в ритейле
Сердцем новой системы является MCP (Model Context Protocol) — открытый стандарт, позволяющий языковым моделям вызывать внешние инструменты. Официальный сервер ВкусВилла, расположенный по адресу mcp.vkusvill.ru, предоставляет модели доступ к инструментам для поиска товаров, проверки остатков, анализа составов и создания корзины покупок.
Существуют два типа инструментов, доступных сервером: 1. Публичные инструменты: Доступны без авторизации. Примером является поиск товаров (vkusvill_products_search), возвращающий базовую информацию о калорийности и составе. 2. Личные инструменты: Требуют авторизации через OAuth 2.0 с PKCE. Только они предоставляют доступ к остаткам на конкретном адресе доставки, персональным скидкам и истории заказов.
Благодаря этому Claude может взаимодействовать с каталогом так же, как человек, но с возможностью анализа тысяч позиций и расчета точных пропорций.
Алгоритм формирования меню
Процесс создания корзины разбит на несколько логических этапов, которые модель выполняет последовательно или параллельно в зависимости от задачи.
1. Анализ базы данных и поиск
Сначала ИИ сканирует каталог магазина. Однако сервер ВкусВилла возвращает результаты порциями по 10 товаров. Чтобы собрать полный список, например, продуктов с калорийностью до 150 ккал на 100 г, используется специальный скрипт на Python. Этот скрипт автоматически перебирает тысячи поисковых запросов, исключая дубликаты.
Важный нюанс: калорийность готовых продуктов может сильно отличаться в зависимости от партии и производителя. Система учитывает это, маркируя товары, где показатели КБЖУ имеют широкий разброс, как «зависят от партии».
2. Применение метода «Метаболической тарелки»
Основой диеты в данном случае является модель «Метаболическая тарелка», разработанная Сергеем Обложко. Согласно ей, прием пищи должен состоять из: * Половины порции клетчатки (овощи). * Четверти белка. * Четверти сложных углеводов. * Минимального количества жиров.
Также предусмотрено наличие «вкусной точки» — небольшой сладкой порции после каждого приема пищи, что помогает сохранять мотивацию в долгосрочной перспективе.
3. Линейное программирование
Главная сложность — собрать корзину, где сумма калорий и питательных веществ точно попадала бы в заданные коридоры. Например, при норме 900–1000 ккал и строгой норме белка. Ручной подбор часто приводит к тому, что, увеличив количество белка, пользователь превышает лимит калорий.
Вместо этого используется алгоритм линейного программирования (библиотека scipy.optimize.linprog). Модель строит задачу, где: * Переменные: граммы каждого продукта в дневном рационе. * Ограничения: нижние и верхние пределы по калориям, белку, жирам, углеводам и клетчатке. * Целевая функция: минимизация отклонения от желаемого меню при одновременном снижении стоимости корзины.
Примечание: Алгоритм может отказываться от формирования рациона, если выбранные продукты не позволяют математически соответствовать всем нормам (например, нехватка жиров в вегетарианском меню). В таких случаях вводятся допустимые отклонения для отдельных продуктов (например, яиц или масла).
Практический результат
Итогом работы системы стали восемь различных вариантов недельного рациона для одного человека. Варианты варьируются от блюд, приготовленных дома («Домашняя духовка»), до готовых полуфабрикатов из магазина («Готовое из ВВ»).
Каждая корзина включает: * Примерный бюджет на неделю (от 5 370 до 9 850 рублей в зависимости от выбранной схемы). * Дневной расчет КБЖУ, подтверждающий соответствие нормам. * Список рецептов и инструкцию, что готовить заранее. * Прямую ссылку на собранную корзину на сайте ВкусВилл.
Эффективность метода заключается в экономии времени: вместо 30–40 минут ручного подбора, пользователь получает готовый план питания и список покупок за секунды.
Технические ограничения и нюансы
Несмотря на высокую эффективность, система имеет ряд ограничений, которые стоит учитывать: * Обновление данных: Цены и ассортимент актуальны на момент создания корзины. Акции и скидки могут измениться к моменту заказа. * Остатки: Без авторизации система не может гарантировать наличие конкретного товара на нужном адресе доставки. Наличие в каталоге не всегда означает возможность доставки. * Точность состава: Для товаров, у которых калорийность зависит от партии (готовые блюда, супы), модель дает предупреждение о необходимости контроля при покупке.
Заключение
Интеграция искусственного интеллекта через MCP открывает новые возможности для рутинных задач, связанных с планированием питания. Однако, как показывает практика, идеального решения, полностью заменяющего человека, пока не существует. Алгоритмы работают в рамках предоставленных данных и математических моделей, но окончательное решение и адаптация под личные предпочтения всегда остаются за пользователем.
Система демонстрирует, как технологические инструменты могут трансформировать повседневную жизнь, делая заботу о здоровье более управляемой и доступной.