AI-система для роботів-компаньйонів (Social Robots)

Відвідувачі та покупці відвертаються від робота, щойно він повторює ту саму фразу. Ми розробляємо AI-систему для соціальних роботів під ключ: керований діалог, пам’ять контексту, передбачувана поведінка в залі. Це знижує частку зірваних сесій і розвантажує оператора.
Часті запитання

Чому соціальний робот зривається в шаблон на третій репліці

Перші дві-три репліки робот-компаньйон тримає впевнено, далі розмова осипається в завчені фрази. Користувач помічає це раніше за інженера: він уже двічі сказав, про що йдеться, а робот знову вітається і пропонує тему заново.

Причина зазвичай не в самій моделі, а в тому, як збирається діалог. Якщо в запит іде лише остання репліка, історія не зберігається — і скидання контексту відбувається після кожної фрази.

Службові вставки та підказки сценарію переповнюють вікно, ранні репліки витісняються, і робот-компаньйон відкочується до початку сценарної гілки. Простий тест: запитати через три ходи, як звати співрозмовника і про що він говорив хвилину тому.

У шумному приміщенні розпізнавання мовлення помиляється двічі: пропускає тиху репліку і приймає за неї чужу розмову. Телевізор, другий мовець за столом, дзвін посуду дають хибні спрацьовування, і робот відповідає не тому й не на те.

Лікується це відсіюванням за напрямком голосу, порогом впевненості та підтвердженням перед дією, а не підвищенням чутливості мікрофона.

Затримка відповіді ламає ритм сильніше, ніж неточність: пауза в кілька секунд читається як поломка, і людина йде.

Допомагають короткі репліки-підтвердження, поки збирається змістовна відповідь, локальні гілки на кшталт таймера чи погоди та розбиття довгої репліки на смислові частини.

Деградація до заздалегідь записаних фраз — не захист, а маскування: замість уточнювального питання робот повторює скрипт, і розмова вмирає остаточно. Правильна поведінка при невпевненості — перепитати, чесно змінити тему або визнати, що не розчув.

Розбираємо, як це закривається на рівні зберігання історії діалогу, обробки звуку та логіки поведінки робота-компаньйона.

Що дає керований діалог: ефект у вимірюваних показниках

Керований діалог оцінюють не за красою окремих відповідей, а за поведінкою на довгій серії однотипних сесій. Головний показник — частка автономних відповідей: яку частину реплік соціальний робот закриває сам, без переведення на оператора.

На запусках у гостьових сценаріїв вона виходить на плато 82–91% і далі зростає не кількістю прописаних фраз, а уточненням правил розбору незрозумілих формулювань.

Другий показник — стійкість діалогу під навантаженням. Ми тримаємо окремий контур перепитувань: якщо система не впевнена в намірі гостя, робот не відповідає навмання, а звужує питання і повертається до теми через одну-дві репліки.

Так сесія не зривається в роздратування та дострокове завершення — це видно за часткою діалогів, доведених до кінця сценарію.

Час відновлення після збою вважаємо від першої некоректної відповіді до повернення в нормальний режим.

Раніше це було ручне перезавантаження на кілька хвилин із втратою контексту, тепер — автоматичний відкат на попередню стабільну конфігурацію зі збереженням сесії: укладається в десятки секунд і помітно для гостя лише за короткою паузою.

Класи відмов ідуть у міру накопичення телеметрії: залиплі стани, повторювані відповіді, втрата пам'яті між сесіями, відповіді поза роллю персонажа.

Навантаження на оператора знижується до нагляду та розбору спірних випадків — один черговий супроводжує парк із кількох десятків роботів, а не одного.

Інженерна база тут — ROS та зовнішні сервіси розпізнавання і синтезу мовлення, пов'язані єдиним шаром інтеграції. Це дозволяє змінювати окрему модель, не переписуючи логіку поведінки робота.

Де соціальний робот працює автономно, а де потрібен оператор

Автономний режим будується на локальній обробці: розпізнавання мовлення, діалогова логіка та синтез відповіді виконуються на борту робота.

Відгук не залежить від якості мережі, а при її втраті діалог не обривається — для дитячої кімнати, приймальні чи виставкової зали це базова вимога. Обмеження режиму — заздалегідь окреслена предметна область: за її межею система розпізнає нерозуміння і не додумує відповідь.

Гібридний режим залишає типові репліки машині, а складні переводить на оператора. Передача оператору спрацьовує за зрозумілими ознаками: повторні перепитування, пряме звернення по допомогу, емоційний сплеск, тема поза сценарієм.

Людина підключається в той самий діалог і бачить контекст останніх реплік, тому розмова не починається заново і нитка не губиться.

Порівняння режимів

Режим Коли підходить Обмеження режиму
Автономний Типові сценарії, майданчики без стійкого зв'язку, завдання з високими вимогами до приватності Працює тільки всередині заданої предметної області, не виходить за сценарій
Гібридний Змішаний потік звернень, є чергова операторська зміна Потрібен регламент передачі та вільний оператор у момент звернення
Повністю операторський Некласифіковані ситуації, інтерв'ю, спілкування з пресою Число одночасних діалогів обмежено числом операторів

Вибір режиму визначається не технологією, а класом звернень: чим вища частка непередбачуваних реплік, тим раніше потрібна людина.

Регламент передачі продумуємо окремо — за якою ознакою робот кличе оператора, що відбувається, якщо той не відповів за відведений час, і як накопичуються ці випадки для донавчання автономного контуру.

Як ми впроваджуємо AI-систему: етапи робіт

У соціального робота діалог не живе окремо від поведінки: репліка запускає жест, світло та поворот голови, а якість розпізнавання мовлення залежить від шуму в приміщенні.

Тому роботи йдуть послідовно — кожна наступна сходинка спирається на перевірений результат попередньої, а не на припущення.

  1. Аудит сценаріїв і вузьких місць. Розбираємо реальні записи розмов і логи: де робот втрачає контекст, де пауза перед відповіддю стає некомфортною, на якій фразі гість виходить з діалогу. На виході — карта проблемних місць із частотою повторення.
  2. Проєктування логіки діалогу. Описуємо дерево сценаріїв і правила переходів: гілки утримання уваги, реакція на перебивання, коректний вихід із глухого кута, ескалація до оператора при невпевненому розпізнаванні.
  3. Налаштування інтеграцій. Пов'язуємо мовленнєві модулі, базу знань, зовнішні сервіси та сам пристрій — мотори, світло, звук. Перевіряємо, що команда синтезу коректно перетворюється на фізичну дію без розсинхронізації.
  4. Налаштування на доменних даних. Збираємо словник імен, термінів і типових формулювань майданчика, щоб робот впевнено розумів мовлення конкретної аудиторії, а не лише еталонні фрази.
  5. Приймальна перевірка. Проганяємо систему на реальних сценаріях: рахуємо частку успішно завершених діалогів, час відгуку, частоту повторних питань. Кожен провалений прогін розбираємо і правимо до стабільного результату.
  6. Передача в експлуатацію. Віддаємо регламенти оновлення сценаріїв, панель контролю якості діалогів і зрозумілу інструкцію для персоналу майданчика. Правки контенту вносяться без зупинки робота.

Що залишається у вас після передачі проєкту

Передаємо не архів із вихідними кодами, а працюючий контур, який ваша команда може змінювати без нас. Нижче — перелік того, що фіксується в прийманні: кожен пункт перевіряється на живому стенді, а не лише за паперами.

  • Конфігурації системи — сценарії реплік, пороги спрацьовування, тайминги реакцій і правила переходу між режимами винесені в окремі файли. Поведінка робота змінюється правкою конфігурації, без перезбирання логіки.
  • Схеми інтеграції — карта потоків даних між голосовим контуром, діалоговим ядром і зовнішніми сервісами, з точками відмови. Окремо описано поведінку при втраті мережі: робот переходить у базовий сценарій замість зависання.
  • Політики доступу до даних — розмежування ролей: хто бачить записи діалогів, скільки вони зберігаються, як видаляються на запит. Для сценаріїв із дітьми та літніми людьми це обов'язкова частина, а не опція.
  • Регламенти роботи операторів — коли діалог передається людині, як розбирати спірні відповіді, що робити при повторюваних скаргах. Без цього відлагоджена система деградує за лічені тижні.
  • Документація — архітектура, схема розгортання, журнал відомих обмежень і порядок дій при типових збоях. Пишемо під інженера, який відкриє її через пів року після нас.
  • Навчання команди — практичні сесії на тестовому стенді: додати сценарій, подивитися метрики якості відповідей, відкотити невдалу зміну.
  • Набір еталонних реплік — фіксовані приклади діалогів для регресії. Після будь-якої зміни сценарію ви за хвилини бачите, що не зламалося.

Приймання йде за чек-лістом: ваші інженери самі вносять зміну, проганяють регресію і відкочують версію. Якщо це виходить без нашої підказки — проєкт передано.

Кейс: музейний гід — від частих збоїв до стійкого діалогу

У виставковому просторі Музей міської історії працював соціальний робот-гід: він вів відвідувача маршрутом і відповідав на питання про експонати. Логіка була побудована на жорсткому сценарії — робот впевнено відповідав лише на заздалегідь вписані формулювання.

Варто було відвідувачу перебити його або запитати «а чому ця річ стоїть окремо?», і діалог розсипався: робот повторював останню репліку або йшов у перезапуск, а розмову підхоплював доглядач.

Що змінили

Ми переписали логіку діалогу: робот став тримати контекст усієї сесії, а не однієї репліки, ставити уточнювальне питання замість вгадування і явно визнавати, коли відповіді немає.

Додали звірку фактів із базою музею, щоб гід не вигадував дати й імена, та передачу діалогу доглядачеві з коротким витягом — людина продовжує з того місця, де робот зупинився.

Окремо налаштували нічні прогони записаних розмов: правки перевіряються на реальних діалогах до виходу в залу.

Метрика До впровадження Після запуску
Діалоги, доведені до кінця без збою 62% 94%
Питання поза сценарієм, на які є відповідь 25% 87%
Втручання доглядача на 100 діалогів 34 6
Середня довжина розмови, реплік 3 9

Стійкість тримається не на одній моделі, а на контурі: якщо нове складання логіки на нічному прогоні відповідає гірше за попереднє, воно відкочується, а в залі залишається робоча версія.

Логи діалогів збираються в одному місці, тому причина збою знаходиться за конкретною реплікою, а не за скаргою відвідувача.

Чим відрізняється сценарний каркас від генеративної відповіді

Сценарний каркас — це дерево станів: робот знає, які репліки допустимі в поточному контексті, чим закінчується кожна гілка і як реагувати на мовчання. Поведінка відтворювана: та сама ситуація дає ту саму відповідь, той самий сценарій проходить перевірки детерміновано. Ціна — вузька воронка: відхід від заготовки впирається в «не зрозумів, повторіть».

Генеративна відповідь породжує репліку під конкретний контекст, тому тримає вільну бесіду, відповідає на несподіване питання і підхоплює зміну теми. Передбачуваність поведінки при цьому падає: відповідь не відтворюється від запуску до запуску, складніше втримати межі теми та тон.

Гібридна логіка розводить зони відповідальності. Каркас тримає критичні гілки — привітання, знайомство, розпізнавання наміру, ескалацію до оператора, безпечну відмову — і вирішує, коли передати хід далі.

Генеративний шар веде вільну частину в межах рамок: заданий тон, обмеження довжини репліки, заборонені теми та умови повернення до сценарію.

Чистий каркас упирається в стелю впізнаваності фраз — це наочно показала історія Jibo та інших роботів-компаньйонів. Зворотна крайність не краща: без каркаса система втрачає передбачуваність і на супроводі перетворюється на нескінченне підлаштування під кожен новий діалог.

Тому супровід системи будується навколо каркаса: сценарні гілки оновлюють правкою дерева і повторним прогоном перевірок, а генеративний шар — набором тестових діалогів і розбором відхилень.

Технічні сумніви, які варто зняти до старту

До старту замовник перевіряє три речі: де фізично лежать дані діалогів, що станеться при втраті зв'язку і наскільки дорого змінювати поведінку робота після запуску. Нижче — відповіді за цими пунктами та за стикуванням із уже вибраною платформою робота.

Аудіо та текст діалогів залишаються у нас?

Розпізнавання мовлення, синтез і модель відповідей розгортаємо на вашому контурі або в закритому хмарі під вашим контролем. Записи не покидають периметр, логи зберігаються локально з налаштовуваним терміном і доступом за ролями. Зовнішній сервіс, якщо він взагалі потрібен, вимикається одним параметром конфігурації.

Що буде при втраті зв'язку?

Базові сценарії — привітання, навігація, типові репліки — зашиті в модуль і працюють автономно. Після відновлення зв'язку накопичені сесії довантажуються в загальну аналітику. Це плавна деградація, а не відмова: робот продовжує обслуговувати людей.

Модель навчається на наших матеріалах?

Скрипти, регламенти, записи операторів і каталог послуг завантажуємо в базу знань, за якою модель будує відповіді. Робот спирається на ваші формулювання і не вигадує того, чого в матеріалах немає.

Як оновлюються сценарії та підключається обладнання?

Репліки та гілки поведінки тримаємо окремими конфігураціями: правку викочуємо на частину парку, дивимося метрики, відкочуємо без перепрошивки. Мікрофони, приводи та датчики залишаються рідними — працюємо через штатні інтерфейси виробника.

Обговоримо задачу і повернемося з оцінкою та планом

Щоб розбір задачі зайняв одну розмову, а не три, до нього достатньо підготувати кілька вступних — вони беруться з поточної роботи і не потребують окремих документів.

Чим конкретніші вихідні дані, тим точніший склад етапів та оцінка термінів: без них план виходить або завищеним, або з пропущеними роботами.

  • Сценарій взаємодії. Де соціальний робот зустрічає людину — приймальня, зал, зона очікування — і що він має встигнути зробити в перші хвилини спілкування.
  • Поточні можливості платформи. Які датчики та канали виводу вже доступні, чи є маневреність: від цього залежить, що налаштовується, а що розробляється з нуля.
  • Зовнішні дані. Системи, до яких робот має звертатися за відповіддю: база знань, розклад, внутрішній сервіс, облікова система.
  • Обмеження майданчика. Рівень шуму, освітленість, ширина проходів, стабільність мережі — вони прямо впливають на вибір моделей розпізнавання мовлення та логіки поведінки.
  • Хто приймає результат. Людина з боку замовника, яка підтверджує «працює»; інакше пілотне впровадження розтягнеться на узгодження між відділами.
  • Критерій успіху. Метрика, за якою судимо результат: частка діалогів, доведених до кінця, число збоїв на сотню звернень, час до осмисленої відповіді.

Після розбору ми повертаємося з планом робіт: склад етапів із порядком і залежностями, оцінка термінів на кожен, точки, де потрібен зворотний зв'язок з вашого боку.

Зазвичай перший крок — пілотне впровадження на одному роботі й одному майданчику, де перевіряються сценарії та збирається статистика відмов, і лише потім масштабування на парк пристроїв. Опишіть задачу — повернемося з оцінкою та планом.

Напрямки AI-розробки

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1543
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1374
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    816
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1142