Наталя ХандусенкоГаряченьке
16 вересня 2026, 14:39
2026-09-16
«Замість крупи приніс батончик»: розробник випробував новий MCP-сервер від «Сільпо» та створив голосового агента для замовлення
Senior Software Engineer Володимир Заплатинський вирішив уперше за вісім років в ІТ взяти участь у хакатоні. Натхненням для айтівця став випуск публічного MCP-сервера від мережі супермаркетів «Сільпо». Результатом експерименту став голосовий помічник для покупок, розроблений на основі штучного інтелекту.
Senior Software Engineer Володимир Заплатинський вирішив уперше за вісім років в ІТ взяти участь у хакатоні. Натхненням для айтівця став випуск публічного MCP-сервера від мережі супермаркетів «Сільпо». Результатом експерименту став голосовий помічник для покупок, розроблений на основі штучного інтелекту.
Проте під час створення агента розробник зіштовхнувся із забавними, але показовими труднощами. Штучний інтелект виявився занадто довірливим до даних з API та не завжди робив те, чого від нього очікували. Володимир Заплатинський поділився курйозним випадком із власного досвіду: «Я попросив агента купити гречку. Він приніс батончик з гречкою. Статус відповіді при цьому був успішний. Агент це як людина, яку ви відправили в магазин. Вона зробить, що сказали, але не помітить, що щось пішло не так. Попросили гречку, дали батончик, принесла батончик».
За словами інженера, два тижні роботи над проєктом перетворилися на процес навчання штучного інтелекту критичному мисленню. Щоб змусити агента працювати коректно, Заплатинському довелося вбудувати додаткові механізми перевірки:
перевіряти, що отриманий результат дійсно відповідає поставленому питанню, а не просто повертає «успішний» статус API;
навчити агента розрізняти порожній каталог від технічного збою (якщо філія недоступна, помічник перемикається на самовивіз);
перечитувати стан кошика та адреси безпосередньо перед дією, адже слоти доставки швидко застарівають.
Розробник підкреслив, що головним уроком хакатону для нього стала різниця між технічним застосуванням інструментів та вмінням контролювати процес: «Головне, що я забрав для себе із цього хакатону — суть не в тому, щоб навчити агента користуватися інструментами. Це він освоює за годину. Суть в тому, щоб навчити його сумніватися. Це те саме, що відрізняє досвідченого розробника від новачка. Тільки тепер це доводиться писати явно».
Технічно застосунок побудований на сучасному стеку: OAuth до MCP реалізовано через PKCE та Dynamic Client Registration, токени зберігаються в Upstash Redis, а для розпізнавання та синтезу українського мовлення використано Web Speech API та Respeecher. Фронтенд написано на Angular, а бекенд працює на Vercel Edge Functions. Основний код Володимир писав за допомогою Claude Code, особисто перевіряючи кожен діф.
Зібраний голосом кошик повноцінно синхронізується з сайтом «Сільпо», зберігаючи той самий список товарів та підсумкову вартість. Однак проєкт поки що працює в одноакаунтному режимі та прив’язаний до особистого профілю розробника.
Володимир Заплатинський відкрив вихідний код проєкту на GitHub і зазначив, що розширення до мультикористувацького режиму стане першим завданням, якщо він вирішить розвивати застосунок надалі.