Agent Treatment Flow 개요
도메인 정의
Agent Treatment Flow는 불면증 치료 서비스의 Business Logic Layer로서, 모든 치료 관련 콘텐츠의 생성과 노출 전략을 관리하는 도메인입니다. 이 도메인은 "무엇을 보여줄 것인가?"에 집중하여, 개인화된 치료 여정을 설계하고 실행합니다.
핵심 책임
1. Treatment Intelligence
- 환자별 치료 전략 수립
- A-H-I-R 순환 모델 실행
- 치료 단계(P1-P5) 관리
- 임상적 의사결정 지원
2. Content Generation
- 치료 메시지 생성
- 개인화된 Task 설계
- 질문 및 피드백 작성
- 치료 인사이트 도출
3. Prioritization & Orchestration
- 콘텐츠 우선순위 결정
- 노출 시점 최적화
- 다중 콘텐츠 조율
- 컨텍스트 기반 필터링
4. Clinical Analysis
- 치료 효과성 측정
- 패턴 인식 및 분석
- 가설 검증
- 전략 조정 및 최적화
5. Event-driven Content Management
- 도메인 이벤트 감지
- 이벤트 기반 콘텐츠 생성
- 크로스 도메인 조율
- 실시간 반응 관리
UserCycle과 TreatmentProcess의 관계
역할 분리
Agent Treatment Flow 도메인의 TreatmentProcess는 User 도메인의 UserCycle과 명확히 구분된 책임을 가집니다:
-
UserCycle (User 도메인)
- 정의: 환자가 처방받고 6주 또는 90일 동안 사용하는 전체 치료 주기
- 책임: 치료 주기의 생명주기 관리 (시작, 종료, 일시정지, 재개)
- 시작: 환자가 가입하고 처방을 받는 즉시 (Day 1)
-
TreatmentProcess (Agent Treatment Flow 도메인)
- 정의: A-H-I-R (Assess-Hypothesize-Intervene-Re-evaluate) 기반 치료 과정
- 책임: 치료 전략과 진행 방법 관리 ("어떻게 치료할 것인가")
- 시작: UserCycle 시작 후 충분한 데이터 수집 완료 시 (보통 Day 7)
타임라인 예시
Day 1: 가입 완료
↓
UserCycle 시작 (User 도메인)
- 기본 시스템 메시지 제공 시작
- 수면 일기 작성 안내
↓
Day 2-7: 초기 데이터 수집
- 수면 기록 작성
- 기본 시스템 메시지 지속
↓
Day 8: TreatmentProcess 시작 (Agent Treatment Flow 도메인)
- P1 (초기 평가) 진입
- A-H-I-R 순환 시작
- 치료적 개입 메시지 생성 시작
상호 작용
- TreatmentProcess는 UserCycle이 활성 상태일 때만 존재
- UserCycle이 일시정지되면 TreatmentProcess도 일시정지
- UserCycle이 종료되면 TreatmentProcess도 종료
- 하나의 UserCycle에는 하나의 TreatmentProcess만 매핑 (1:1 관계)
치료 플로우 구조
A-H-I-R 순환 모델
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Assess │────▶│ Hypothesize │────▶│ Intervene │────▶│ Re-evaluate │
│ (평가) │ │ (가설수립) │ │ (개입) │ │ (재평가) │
└─────────────┘ └─────────────┘ └─────────────┘ └──────┬──────┘
▲ │
└────────────────────────────────────────────────────────────┘
5단계 치료 모듈
-
P1: 초기 평가 (Initial Assessment)
- 1주일 데이터 수집 및 분석
- 핵심 문제 파악
- 치료 방향 설정
-
P2: 가설 정교화 (Hypothesis Refinement)
- 문제 메커니즘 분석
- 치료 가설 수립
- 개인화 요소 도출
-
P3: 치료 로드맵 (Treatment Roadmap)
- CBT-I 기반 전략 설계
- Phase별 목표 설정
- Task 시퀀스 계획
-
P4: 일일 코칭 (Daily Coaching)
- 매일 개인화된 Task 제공
- 실시간 피드백
- 동기 부여 및 지원
-
P5: 주간 평가 (Weekly Evaluation)
- 치료 효과 측정
- 전략 조정 결정
- 다음 주기 준비
콘텐츠 생성 전략
콘텐츠 유형
-
치료적 Task
- 인지 접근형
- 행동 유도형
- 감정 탐색형
- 피드백 루프형
-
치료 메시지
- 교육적 인사이트
- 동기 부여 메시지
- 진행 상황 피드백
- 긴급 알림
-
평가 질문
- 초기 평가 질문
- 일일 체크인
- 주간 리뷰
- 성찰 프롬프트
개인화 전략
- 핵심 서사: 환자별 고유한 치료 스토리
- 톤 & 매너: 선호하는 커뮤니케이션 스타일
- 난이도 조절: 적응적 Task 난이도
- 타이밍 최적화: 최적의 개입 시점
Agent Board와의 협업
책임 분리
인터페이스 정의
// Agent Treatment Flow → Agent Board
interface TreatmentContent {
id: string;
type: 'task' | 'message' | 'question' | 'insight';
priority: 'critical' | 'high' | 'medium' | 'low';
content: {
title: string;
body: string;
actions?: Action[];
};
metadata: {
phase: 'P1' | 'P2' | 'P3' | 'P4' | 'P5';
clinicalIntent: string;
expectedOutcome: string;
};
displayRules: {
startTime: Date;
endTime: Date;
maxDisplay: number;
};
}
// Agent Board → Agent Treatment Flow
interface InteractionFeedback {
contentId: string;
action: 'viewed' | 'clicked' | 'completed' | 'dismissed';
timestamp: Date;
duration?: number;
response?: any;
}
주요 기능
1. 지능형 콘텐츠 생성
- LLM 기반 개인화 메시지
- 컨텍스트 인식 Task 생성
- 동적 난이도 조절
- 다국어 지원
2. 치료 전략 관리
- 가설 기반 접근
- 데이터 기반 의사결정
- 적응적 전략 수정
- 장기 추적 관리
3. 이벤트 기반 반응
- 수면 기록 변화 감지
- 학습 진도 연동
- 긴급 상황 대응
- 크로스 도메인 조율
4. 효과성 분석
- Task 수행률 추적
- 수면 개선 상관관계
- 개인별 효과 패턴
- 전략 최적화 제안
기술 구현
아키텍처 패턴
- State Machine: P1-P5 단계 전환 관리
- Strategy Pattern: 치료 전략 구현
- Observer Pattern: 이벤트 기반 반응
- Factory Pattern: 콘텐츠 생성
핵심 기술
- LLM Integration: 개인화 콘텐츠 생성
- Rule Engine: 조건 기반 의사결정
- Event Sourcing: 치료 이력 관리
- Analytics Pipeline: 효과성 분석
성공 지표
비즈니스 메트릭
- 치료 완료율
- 수면 개선도
- 사용자 만족도
- 재발 방지율
기술 메트릭
- 콘텐츠 생성 시간
- 개인화 정확도
- 시스템 응답성
- 확장성
향후 발전 방향
-
AI 고도화
- 더 정교한 개인화
- 예측 모델 강화
- 자연어 이해 개선
-
치료 영역 확장
- 다른 수면 장애 지원
- 정신건강 통합 접근
- 라이프스타일 코칭
-
임상 통합
- 의료진 대시보드
- 임상 데이터 연동
- 치료 가이드라인 자동화
5. 주요 컴포넌트
5.1 도메인 모델
- TreatmentProcess: 사용자의 전체 치료 과정 관리
- TreatmentPhase: P1-P5 각 단계별 상태 및 진행
- AgentMessage: 생성된 Agent 메시지
- TreatmentRoadmap: 12주 치료 계획
- DailyTask: 일일 치료적 과제
5.2 핵심 서비스
- MessageDecisionService: 어떤 메시지를 생성할지 결정
- MessageContextProvider: 메시지 생성에 필요한 데이터 수집
- MessageGeneratorFactory: 메시지 타입별 생성기 관리
- TreatmentPhaseManager: 치료 단계 전환 관리
5.3 이벤트 핸들러
- CrossEventReceiver: 타 도메인 이벤트 수신
- InternalEventHandlers: 내부 이벤트 처리
- CrossEventPublisher: Agent Board로 메시지 발행
6. 기술 스택
- Framework: NestJS
- Message Bus: EventEmitter2 + Pub/Sub
- Data Storage:
- PostgreSQL (via Prisma)
- Redis (임시 상태 캐싱)
- AI Integration: OpenAI API (GPT-4)
- Monitoring: DataDog, Sentry
7. 성공 지표
- 메시지 생성 성공률: > 99.5%
- 평균 응답 시간: < 2초
- 사용자 메시지 확인율: > 80%
- 치료 프로세스 완주율: > 70%
8. 변경 이력
| 버전 | 날짜 | 작성자 | 변경 내용 |
|---|---|---|---|
| 1.0.0 | 2025-01-03 | bok@weltcorp.com | 최초 작성 |
| 1.1.0 | 2025-01-04 | bok@weltcorp.com | TreatmentProcess 용어 통일 |
| 1.2.0 | 2025-01-04 | bok@weltcorp.com | UserCycle과 TreatmentProcess의 관계 명확화 섹션 추가 |