Є-Наратив 2.0: як ми створили бота, що викриває російські наративи та ворожі маніпуляції
Всім привіт! Мене звати Денис Ціон, я займаю позицію Backend Engineer в Master of Code Global. До цього понад вісім років працював QA Engineer. Протягом своєї кар’єри в QA мав досвід роботи з продуктовими та сервісними проєктами, де впроваджував сучасні підходи до автоматизації. Також активно займався інтеграцією AI у робочі процеси — використовуючи його для оптимізації тестування, прискорення аналізу даних та валідації результатів. Цього року я разом із волонтерською організацією запустив власний пет-проєкт на основі штучного інтелекту — чат-бота, який на базі ШІ здатен аналізувати тексти, виявляти ворожі наративи та російські інформаційні атаки, а також пояснювати їхній вплив на свідомість українців і не тільки.
Навіщо? Все очевидно: війна триває як на полі бою, так і в інформаційному просторі. Ворог системно та методично поширює російські наративи в українському інфосередовищі — від Telegram-каналів до Facebook-коментарів. І щоб дати цьому раду, разом із однодумцями ми вирішили створити інструмент, який допоможе звичайним користувачам соціальних мереж не лише впізнавати ворожі меседжі, а й розуміти, як вони спотворюють їхню свідомість.
Так з’явився Є-Наратив 1.0, а згодом і Є-Наратив 2.0 — GPT-базовані чат-боти, що виявляють російські інформаційні атаки в текстах і пояснюють логіку їх поширення через когнітивні викривлення. Спочатку бот задумувався як менеджер бази знань — ми обрали саме conversational-інтерфейс, адже це найзручніший спосіб взаємодії з даними. Але вже під час перших тестів стало зрозуміло, що бот може бути значно кориснішим, ніж просто менеджером по базі знань.
Тож в цій статті я розповім, як виникла ідея Є-Наративу, які підходи ми застосували під час розробки бота, і поділюся першим досвідом його використання.
Як виникла ідея
У нашій команді в різні періоди роботи над проєктом було від 4 до 7 осіб. Наприкінці минулого року ми почали працювати над масштабною базою знань: вручну збирали, класифікували й структурували російські мета-наративи, а також пов’язані з ними наративи, конкретні висловлювання, приклади формулювань і ключові тригери.
Структура виглядала так: на найвищому рівні були мета-наративи, під ними — конкретні наративи, а ще нижче — набір ключових слів і меседжів, що дозволяли відрізнити один наратив від іншого. Поступово виникла ідея: а що, як дати цю базу GPT? Тобто у нас було кілька ідей для візуалізації та організації масиву даних. Так і народилася ідея створити чат-бота на GPT Builder, який керуватиме цією багаторівневою базою знань.
Складнощі роботи з GPT Builder і боротьба з наративами
Усе виявилося не так легко, як здавалось.
GPT Builder — інструмент від OpenAI, який дозволяє створити свого власного чат-бота з базою знань, промптом і навіть API-інтеграціями. Однозначно це потужний інструмент для роботи над власними продуктами. Але є нюанс: GPT Builder працює з файлами знань (Knowledge base) не як з цілісним текстом, а як із набором векторизованих уривків (chunks). Тому виникла потреба у більшій кількості тестування та ітерацій.
Що це означає? GPT під час відповіді бере лише кілька найбільш релевантних шматків тексту, а не всю базу. Якщо база містить десятки мета-наративів, але chunk із першого виявиться приблизно схожим на запит користувача — саме він і буде використаний. Усі інші частини просто ігноруються.
Поясню ще простіше: GPT не читає всю базу знань одразу, а дивиться лише на кілька шматків тексту, які вважає найрелевантнішими та такі, що є на початку тексту документа. До прикладу, коли ви запитуєте про розділ у книзі, а вам показують тільки кілька сторінок — решта може залишитися «за кадром».
Уявімо, що в базі є 20 мета-наративів. Один із них (№ 1) описує «Україна — failed state», а інший (№ 15) пояснює «Захід втомився від підтримки України». Якщо користувач запитує: «Чому кажуть, що Європа більше не хоче допомагати Україні?», GPT перетворює цей запит у вектор і шукає найближчі chunks. Якщо система «бачить», що фраза «не хоче допомагати» більше співпадає з формулюванням у chunk про «Україна — failed state» (№ 1), то саме його й використає. У результаті користувач отримає відповідь із першого наративу, навіть якщо правильна відповідь була у № 15.
Іншими словами, це не завжди уривок з найбільш точною відповіддю на запит, який насправді обирає GPT. Він вибирає найбільш схожий за словами. Це стало одним із головних викликів для команди: потрібно було змусити GPT «бачити» всю базу, а не лише кілька перших фрагментів.
Як ми це виявили
Ми тестували GPT із запитами, що мали стосунок до мета-наративів 10 або 15. І — отримували відповідь, пов’язану з тим, що ієрархічно чи хронологічно було ближче до початку тексту. Очевидно: GPT «бачив» лише кілька перших фрагментів із бази й не доходив до решти матеріалу або «не хотів» проводити пошук через, на його думку, громіздкий контекст. Саме тому відповіді часто були неповними.
Як ми це вирішили у Є-Наративі 2.0
У другій версії ми змінили підхід до роботи з базою знань, щоб GPT більше не «залипав» на перших фрагментах і міг давати точніші відповіді. Для цього ми зробили кілька речей:
- Ручний chunking. Розділили базу знань на менші логічні блоки (по
500–700 слів, а то і менше), кожен із чітким заголовком. Так GPT легше знаходить потрібний фрагмент — що було підтверджено тестуванням. - Оптимізована структура. Загальну інформацію («шапку») та приклади винесли в окремі файли, щоб вони не змішувались з основними наративами.
- Розділ «мета-наратив». Додали пояснення до кожного меседжу: яку мету переслідує той чи інший інформаційний вкид.
- Аналіз когнітивних викривлень. Тепер бот не лише визначає наратив, а й пояснює, які саме психологічні упередження він використовує, щоб впливати на людей.
Вся ця логіка закладена в спеціально розроблений промпт, який ми часто оновлюємо та вдосконалюємо. Наразі його підтримка й версійність залишаються на мені.
Робота з когнітивними викривленнями та як бот пояснює їхній вплив
На Фото 1 лише частина «пасток мислення», у які може потрапляти кожен із нас. На цьому візуалі зібрано понад сотню когнітивних упереджень — і саме вони стають основою для інформаційних атак. Уявіть, наскільки незручним був би класичний інтерфейс із такою базою. Тому ми й вирішили дати користувачам простий conversational-інструмент — чат-бот.
Фото 1
Ось основні когнітивні упередження, які найчастіше виявляв бот або ті, з якими стикаються користувачі мережі:
- confirmation bias — коли людина звертає увагу передусім на те, що підтверджує її думку та ігнорує все інше.
- availability heuristic — коли ми оцінюємо ймовірність події за тим, наскільки легко її пригадати — яскраві або недавні приклади здаються частішими.
- framing — те як подається інформація. Наприклад, «10% загинули» проти «90% вижили» — той самий факт, але сприймається зовсім по-іншому.
- loss aversion — ефект, коли меседжі, на кшталт, «ви втратите свою землю/свободу/роботу» сприймаються емоційніше й сильніше впливають на людей, ніж меседжі про можливі здобутки«.
Ці та інші механізми (більше почитати про них можна тут) найчастіше використовуються в ІПсО. GPT аналізує текст, визначає, які викривлення були використані, і пояснює, як саме вони впливають на свідомість користувача.
Як спробувати Є-Наратив 2.0? Скопіюйте будь-який сумвнівний чи відверто маніпулятивний текст допису, коментаря чи новини й вставте його у чат нашого бота:

Фото 2
Для прикладу (Фото 2) я взяв уривок із реальної петиції 2021 року на сайті Президента України. Текст петиції містив відверто маніпулятивні та принизливі твердження, зокрема про український герб і націю.
Фрагмент петиції виглядав так:
«...Стало понятно, почему чиновники двадцать лет уничтожали русский язык, но при этом, сами так и не выучили украинский.
...Довольно длительное время бытовало мнение, что это пикирующий сокол, позаимствованный с герба Рюрика, но ваше представление радикально изменится, как только вам на глаза, даже чисто случайно, попадется Хазарская тамга. Герб Украины это всего-навсего простое тавро— (или клеймо) проставляемое скоту»
І ось як відповів Є-Наратив 2.0:
«Наведений у петиції текст базується на кількох пропагандистських мета-наративах:
- „Влада України — ворог свого народу“ (мета-наратив 1) — твердження про „зраду“, „предательство“.
- „Україна дискримінує громадян за мовою та релігією“ (мета-наратив 5) — згадка про „знищення російської мови“.
- „Україна спотворює історію та факти“ (мета-наратив 6) — маніпуляції навколо походження герба.
- „Україна — штучна держава без власної ідентичності“ (мета-наратив 13) — заперечення існування українців як окремої нації.
У тексті також простежуються когнітивні упередження: упередження негативу, стереотипізація, ілюзія правди через повторювані міфи. Хочете, я коротко поясню, як саме образ „Хазарської тамги“ використовується як інструмент делегітимації української державності?»
Тобто, бот не тільки позначає, що текст є ворожим, а й показує, які саме наративи та когнітивні викривлення використані.
Ба більше, бот може запропонувати створити вашу особисту контрвідповідь, яку зможете вже далі коригувати з чатом. Ось приклад короткої контрвідповіді на попередній приклад з петиції:
«Український герб — це тризуб князя Володимира, символ державності часів Київської Русі. Версії про його „хазарське походження“ або трактування як „тавра“ є пропагандистськими міфами, що не мають історичного підтвердження. Такі твердження використовуються для дискредитації України та її національних символів».
Як створити власного GPT-бота: інструкція
Ось як ви можете створити власного бота на основі GPT Builder:
- Потрібен тариф: Plus, Pro, Team або Enterprise.
- Зайдіть на chat.openai.com/gpts/editor.
- У вкладці Create: введіть інструкцію (наприклад, «create a bot to detect disinfo»).
- У вкладці Configure: додайте інструкції, приклади, файли знань (до 20 PDF або TXT).
- Протестуйте і публікуйте, обравши рівень доступу: private, link, або store.
Докладніше можна почитати за посиланнями: Creating a GPT — Help Center
Моніторинг Є-Наративу та над чим ми продовжуємо працювати
Окрім синтетичних тестів ми впровадили органічний моніторинг: через n8n створили крон-джоб (автоматичне завдання, яке запускається за розкладом), який щодня надсилав учасникам моніторингової групи повідомлення із закликом верифікувати підозрілий текст із соцмереж. Так ми отримали живі приклади наративів ворога під час поточних ІПсО.
Ми активно збираємо фідбек від користувачів, щоб зробити бот максимально зрозумілим і корисним у щоденному використанні.
Окремо працюємо над тим, як бот справляється з іронією/сарказмом/контекстом. Бот доволі сильно обмежений інструкцією — цього вимагала специфіка. Внаслідок чого при тестуванні edge cases (нетипових сценаріїв) або при спробі закинути в бота, що є поза контекстом — він може «викинути» щось доволі цікаве або кумедне. Тому ми також намагаємося зменшити ризик «хибних позитивів» (false positives) — коли бот бачить «ворожий наратив» там, де його немає. Щоб мінімізувати такі випадки, у дорожній карті ми запланували:
- Перенос із GPT Builder у «доросле» середовище, яке дозволить тонше налаштовувати логіку пошуку та враховувати контекст.
- Діалоговий режим. Бот зможе уточнювати: це жарт чи серйозне твердження — і лише потім давати висновок.
- Багаторівневу перевірку. Аналіз не тільки слів, а й контексту, інтонацій (сарказм/іронія) та зв’язків з іншими наративами.
Хто ми: висновок
Ми — команда проєкту «ІПСОЛОГІЯ» ГО Черкаський Інститут Міста. Ми дослідили, зібрали та класифікували каталог наративів, вивчили інформацію про когнітивні упередження, згодували ці бази нашому GPT-базованому боту — й навчили його аналізувати.
Нашою метою стала розробка інструменту, який допоможе розуміти, коли ворог грається вашими емоціями та розумом. Саме тому ми й створили Є-Наратив.
Бот безкоштовний, зараз він проходить адаптивний період, але певних результатів ми вже досягли. Та дуже хочемо, щоб більше людей могли безперешкодно дізнатися, коли ворог намагається маніпулювати нашою свідомістю. Будемо вдячні за вашу взаємодію з ботом й зворотний зв’язок про його роботу — діліться своїми думками в коментарях. Дякую!
До слова, ми активно шукаємо волонтерів, які працюють у суміжних напрямах: дезінформація, когнітивна безпека, моніторинг ІПсО. Якщо ти хочеш об’єднати зусилля — напиши нам на наші сторінки в соцмережах:




Найкращі коментарі пропустити