Двомовна (EN/ES) платформа, що генерує персоналізований план підтримки для батьків: коротке опитування → план дій і підбір воркшопів із бібліотеки клієнта, написаний AI під конкретну сім'ю.
У клієнта вже була бібліотека з 24 освітніх воркшопів для батьків. Хотілося, щоб кожна сім'я отримувала персональний план, який веде до потрібних воркшопів — але клієнт не міг прийняти систему, де LLM вирішує, яку пораду отримає сім'я у вразливий момент. І так само не міг прийняти жорсткий шаблон, що читається однаково для всіх.
Платформа, яка чисто розділяє ці два завдання: матриця обирає — модель пише.
Рекомендації та воркшопи обирає детермінований rules-engine, що обчислює дерево умов, збережене як JSON-контент. LLM отримує вже обраний набір і пише текст навколо нього — він ніколи не обирає. Це не інструкція в промпті, це enforcement: схема відповіді генерується з обраних ID, і будь-яка відповідь, чиї ID не збігаються точно, провалює валідацію й ретраїться з фідбеком про помилку.
Ця інверсія — і є весь продукт. Методологія клієнта керує тим, що отримує сім'я, а модель робить те, у чому вона справді сильна — пише 2000 слів, які звучать так, ніби написані для цієї сім'ї і жодної іншої.
Заголовок підлаштовується під ситуацію сім'ї, чесний дисклеймер про draft-контент, 20 питань за ~8 хвилин — відповіді зберігаються на пристрої, можна зупинитись і повернутись.
Ризик рецидиву й безпека, домашнє середовище, рутина, комунікація — кожна відповідь має вагу 1–4, з якої rules-engine детерміновано збирає план.
Батько, який повідомляє про безпосередню загрозу безпеці, отримує екстрені ресурси синхронно, з rule-based логіки, ще до старту генерації. Система принципово не «діагностує» кризу зі скорів опитування — це рішення клініциста, не софту. Ця політика живе в контенті, а boot-валідація відхиляє будь-яке правило, що читає таку відповідь.
Додати питання, рекомендацію, рівень скорингу чи секцію звіту — це правка JSON. Промпти теж живуть у контент-файлах. Крос-файлова валідація на старті падає одразу: помилка в ключі валить запуск, а не мовчки стає правилом, яке ніколи не спрацює.
Затверджений засновником пасаж мав з'являтися щоразу, коли звіт торкається професійної допомоги. Промпт давав перемінний результат — тому згенерований текст тепер перевіряється програмно й ретраїться при провалі. Перемінно — гірше, ніж зламано.
Відповідь моделі стрімиться в браузер і рендериться у фінальному лейауті звіту — батьки бачать, як план пишеться, замість спінера на 40 секунд. Але стрім — лише прогрес: звітом стає повний об'єкт, розпарсений і провалідований за схемою після закриття стріму.
Під час рев'ю клієнт протестував сценарій виснаженого самотнього батька — і звіт підтримував дитину, але жодного разу самого батька. Правило спрацьовувало, але його мовчки зрізав ліміт на кількість рекомендацій: «отримайте підтримку для себе» мало найнижчу вагу серед усього, що тригерив такий батько. Що важча ситуація сім'ї — то надійніше випадала саме підтримка батька. Правильним фіксом було вивести правило з-під ліміту, а не піднімати вагу, яка зробила б появу лише ймовірнішою, а не гарантованою.
Здано у два майлстоуни за п'ять тижнів і випущено в продакшен на інфраструктурі клієнта. Рев'юер клієнта оцінив згенеровані рекомендації та підбір воркшопів на «A+» і затвердив запуск.
Напишіть — за 20 хвилин скажемо, чи є сенс, і назвемо фіксовану ціну.
Зв'язатися з нами