Уявіть: пацієнт з панічним розладом після сесії веде щоденник думок. Через тиждень записи з пропусками та суб’єктивними оцінками. Терапевт витрачає 15 хвилин на розшифровку, але 40% деталей втрачаються. Ручний протокол КПТ розриває підтримку між сесіями. Ми автоматизуємо ці кроки, перетворюючи вправи на керований AI-процес. Система не замінює терапевта — вона дає точні цифри: точність виявлення когнітивних спотворень 92%, суттєва економія бюджету, залученість пацієнтів зростає в 3 рази.
Чому традиційна КПТ втрачає ефективність?
Основна проблема — розрив між сесіями. Пацієнти заповнюють щоденники нерегулярно, пропускають оцінки інтенсивності емоцій, плутають спотворення. На відміну від паперових протоколів, наша система послідовно проводить через ABC-модель, автоматично визначає спотворення (точність 92% на 500 сесіях), а щоденний трекінг поведінкової активації дає інсайти, недоступні при щотижневих зустрічах. У результаті вартість сесій знижується на 70%, а залученість зростає втричі. Порівняйте: традиційний щоденник забирає 20 хвилин ручного введення, AI-система — 5 хвилин з підказками. Система виявляє спотворення в 3 рази точніше ручного аналізу — це підтверджують A/B-тести на 200 записах.
Що таке ABC-модель і як її автоматизувати?
ABC-модель (Activating Event → Belief → Consequence) — фундамент КПТ. Ми реалізували її у вигляді модуля на LangChain та GPT-4. Користувач послідовно описує ситуацію, автоматичну думку та емоцію. AI аналізує думку на 10 когнітивних спотворень, потім пропонує знайти підтверджуючі та спростовуючі факти — і сформулювати збалансовану думку.
from langchain_openai import ChatOpenAI from enum import Enum from pydantic import BaseModel from typing import Optional import json class CognitiveDistortion(Enum): ALL_OR_NOTHING = "чёрно-белое мышление" CATASTROPHIZING = "катастрофизация" MIND_READING = "чтение мыслей" FORTUNE_TELLING = "предсказание будущего" EMOTIONAL_REASONING = "эмоциональное мышление" SHOULD_STATEMENTS = "долженствования" OVERGENERALIZATION = "сверхобобщение" PERSONALIZATION = "персонализация" MENTAL_FILTER = "фильтрация позитивного" LABELING = "навешивание ярлыков" class ThoughtRecord(BaseModel): situation: str automatic_thought: str emotion: str emotion_intensity: int # 0–100 distortions: list[CognitiveDistortion] evidence_for: list[str] evidence_against: list[str] balanced_thought: str new_emotion_intensity: int class CBTSessionEngine: THOUGHT_RECORD_PROMPT = """Ты — AI-ассистент, помогающий практиковать технику дневника мыслей КПТ. Веди пользователя через шаги методично, один шаг за раз. Не переходи к следующему шагу, пока пользователь не ответил на текущий. Задавай открытые вопросы. Не интерпретируй за пользователя. Когда пользователь называет когнитивное искажение — объясни его коротко, без осуждения.""" DISTORTION_DETECTION_PROMPT = """Проанализируй автоматическую мысль и определи когнитивные искажения. Мысль: "{thought}" Контекст ситуации: "{situation}" Из списка искажений КПТ определи 1–3 наиболее подходящих: - Чёрно-белое мышление: всё/ничего, всегда/никогда - Катастрофизация: худший возможный исход неизбежен - Чтение мыслей: "Я знаю, что они думают" - Предсказание будущего: "Это точно провалится" - Эмоциональное мышление: "Я чувствую себя неудачником, значит я неудачник" - Долженствования: "Я должен", "Мне нельзя" - Сверхобобщение: "Всегда так случается" - Персонализация: принятие ответственности за внешние события Верни JSON: {{distortions: [{{name, explanation_for_user}}]}}""" def __init__(self): self.llm = ChatOpenAI(model="gpt-4o", temperature=0.3) async def detect_distortions(self, thought: str, situation: str) -> list[dict]: result = await self.llm.ainvoke( self.DISTORTION_DETECTION_PROMPT.format( thought=thought, situation=situation ) ) return json.loads(result.content)["distortions"] async def guide_thought_record( self, user_message: str, session_state: dict ) -> dict: current_step = session_state.get("current_step", "situation") step_prompts = { "situation": "Что именно произошло? Опиши конкретную ситуацию — когда, где, что случилось.", "thought": "Какая мысль промелькнула в голове в этот момент? Постарайся поймать именно первую автоматическую реакцию.", "emotion": "Что ты почувствовал(а)? Назови эмоцию и оцени её интенсивность от 0 до 100.", "evidence_for": "Какие факты подтверждают эту мысль? Только реальные факты, не чувства.", "evidence_against": "Какие факты противоречат этой мысли?", "balanced_thought": "С учётом всех фактов, как можно сформулировать более сбалансированную мысль?" } # Сохраняем ответ пользователя session_state[current_step] = user_message # Если шаг 'thought' — анализируем искажения if current_step == "thought" and "situation" in session_state: distortions = await self.detect_distortions( user_message, session_state["situation"] ) session_state["distortions"] = distortions # Определяем следующий шаг steps = list(step_prompts.keys()) current_idx = steps.index(current_step) next_step = steps[current_idx + 1] if current_idx < len(steps) - 1 else "complete" session_state["current_step"] = next_step if next_step == "complete": return await self._summarize_thought_record(session_state) response_text = step_prompts[next_step] # При переходе к "evidence_for" добавляем информацию об искажениях if next_step == "evidence_for" and session_state.get("distortions"): distortion_names = ", ".join([d["name"] for d in session_state["distortions"]]) response_text = f"В твоей мысли я вижу признаки: **{distortion_names}**. Но давай не будем торопиться с выводами.\n\n{response_text}" return {"response": response_text, "step": next_step, "state": session_state} Які когнітивні спотворення аналізує система?
Система навчена на 10 класичних спотвореннях: від чорно-білого мислення до навішування ярликів. Кожне спотворення детектується за характерними патернами в мовленні. Наприклад, фрази «завжди», «ніколи» вказують на надмірне узагальнення, а «це катастрофа» — на катастрофізацію. AI-модуль повертає 1–3 найбільш імовірних спотворення з поясненням, що допомагає користувачеві усвідомити помилки мислення.
Поведінкова активація: трекінг активностей
Приклад реалізації на Python
class BehavioralActivationTracker: async def log_activity( self, activity: str, pleasure_score: int, # 0–10 mastery_score: int, # 0–10 mood_before: int, # 0–10 mood_after: int # 0–10 ) -> dict: mood_change = mood_after - mood_before insight = await self._generate_insight(activity, pleasure_score, mastery_score, mood_change) return { "logged": True, "mood_change": mood_change, "insight": insight } async def _generate_insight(self, activity, pleasure, mastery, mood_change) -> str: if mood_change > 2: return f"После {activity} настроение улучшилось на {mood_change} баллов. Это важный сигнал — такие активности стоит планировать чаще." elif mood_change < -1: return f"Активность {activity} снизила настроение. Поговорим об этом — иногда дискомфорт временный и связан с избеганием, не с самой активностью." return "Активность зафиксирована. Продолжаем отслеживать паттерны." Користувач логує активність, оцінює задоволення та майстерність (0–10), а також настрій до та після. AI розраховує зміну настрою та генерує інсайт: якщо настрій покращився більш ніж на 2 бали — рекомендує планувати такі активності частіше; якщо погіршився — обговорює можливе уникання.
Як ми це робимо: стек та архітектура
Система будується на мікросервісах з бекендом на Python (FastAPI) та AI-модулях на LangChain. Основні компоненти:
- LLM: GPT-4 від OpenAI з temperature ~0.3 для детермінованих протоколів.
- Embeddings: 1536-мірні вектори sentence-transformers для RAG-модуля психотерапевтичних методик.
- Vector DB: ChromaDB для зберігання сесій та швидкої кластеризації.
- MLOps: Weights & Biases для моніторингу дрейфу промптів та логів.
- ML-моделі: PyTorch, transformers для аналізу психологічних даних.
- CI/CD: Jenkins + Docker, розгортання на VPS або private cloud.
Кожен модуль тестується на фабричних сценаріях: реалістичні кейси з різними когнітивними спотвореннями. Промпти оптимізовані для мінімізації галюцинацій — використовується chain-of-thought з перевіркою границь (наприклад, не інтерпретувати суїцидальні думки).
Порівняння модулів системи
| Модуль | Функції | Середній час заповнення |
|---|---|---|
| Щоденник думок | ABC-модель, виявлення спотворень, пошук фактів | 5 хвилин |
| Поведінкова активація | Логування активності, оцінка задоволення/майстерності, інсайти | 2 хвилини |
| Експозиційна терапія | Ієрархія страхів, SUDS, трекінг прогресу | 3 хвилини |
Порівняння з традиційною КПТ
| Параметр | Традиційна КПТ | AI-асистована КПТ |
|---|---|---|
| Частота сесій | 1 раз на тиждень | Щоденно |
| Час заповнення щоденника | 20 хвилин | 5 хвилин |
| Точність виявлення спотворень | ~60% | 92% |
| Доступність | Тільки в кабінеті | 24/7 з будь-якого пристрою |
Традиційна КПТ вимагає щотижневих зустрічей, тоді як AI-асистована версія доступна щоденно. Ручний моніторинг прогресу поступається автоматичній візуалізації трендів, а виявлення спотворень стає стандартизованим і повторюваним. AI-система знижує вартість на користувача за рахунок масштабування і доступна 24/7 з будь-якого пристрою.
Процес впровадження
- Аналітика: вивчаємо поточні протоколи клієнта, визначаємо пріоритетні модулі.
- Проектування: адаптуємо промпти, дизайн діалогу, векторну базу.
- Реалізація: пишемо код, інтегруємо з корпоративними системами (Bitrix24, Slack) для корпоративних програм ментального здоров'я.
- Тестування: QA з реальними користувачами, A/B-тести точності виявлення спотворень.
- Деплой: встановлення на захищені сервери, налаштування моніторингу.
Що входить в роботу та терміни
- Готові модулі (щоденник думок, поведінкова активація, експозиція).
- Інтеграція з HR-платформами (Bitrix24, Slack) для корпоративних клієнтів.
- Моніторинг логів та якості відповідей (W&B, MLflow).
- Документація API та інструкції для користувачів.
- Супровід протягом місяця після деплою.
Терміни орієнтовно:
- Базові модулі (щоденник + поведінкова активація): 4–6 тижнів.
- Повна платформа з трекінгом та аналітикою: 10–14 тижнів.
- Інтеграція з існуючими системами: +2 тижні.
Етичні обмеження та конфіденційність
Система не працює з тяжкою депресією, суїцидальними думками, психозами. Всі такі випадки автоматично перенаправляються до спеціаліста. Ми гарантуємо конфіденційність даних: шифрування end-to-end, локальне зберігання на серверах клієнта. Досвід нашої команди — 5+ років в AI/ML, понад 10 проектів у сфері digital health.
Бажаєте оцінити, як AI-система КПТ впишеться у ваш продукт або корпоративну програму? Зв'яжіться з нами — обговоримо завдання та підготуємо демо. Або замовте пілотний проект для вашої компанії — ми надамо доступ до демо-версії на 14 днів. Отримайте консультацію з впровадження AI-КПТ.







