Уявіть: пацієнт з панічним розладом після сесії веде щоденник думок. Через тиждень записи з пропусками та суб’єктивними оцінками. Терапевт витрачає 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-КПТ.







