Agent Treatment Flow 도메인 이벤트 스토밍
개요
본 문서는 Agent Treatment Flow 도메인의 이벤트 스토밍 워크샵 결과를 정리한 것입니다. AI 기반 CBT-I 치료 프로세스, 메시지 생성, 개인화 전략, 임상 분석 등과 관련된 도메인 이벤트, 명령, 액터, 정책 등을 포함합니다.
메시지 유형 구분
Agent Treatment Flow 도메인은 두 가지 유형의 메시지를 관리합니다:
- 기본 시스템 메시지: 모든 사용자에게 제공되는 9가지 필수 메시지 타입. 표준화된 노출 규칙을 따르되, 내용은 사용자 데이터 기반으로 개인화됨 (취침/기상 시각, 설문 결과, 진행 상황 등). A-H-I-R 모델과 독립적으로 작동.
- 치료적 개입 메시지: P1-P5 프로세스를 통해 생성되는 맞춤형 메시지. A-H-I-R (Assess-Hypothesize-Intervene-Re-evaluate) 순환 모델을 따라 가설 기반으로 동적 생성.
바운디드 컨텍스트 참조
Agent Treatment Flow 도메인은 치료 전략과 메시지 생성의 Business Logic Layer로서 여러 도메인과 상호작용합니다.
- Agent Board 도메인: 생성된 메시지 전달 및 상호작용 피드백 수신
- Sleep 도메인: 수면기록 데이터 수집 및 분석
- Questionnaire 도메인: 표준 설문 결과 활용
- Learning 도메인: 교육 콘텐츠와 Task 연계
- User 도메인: 사용자 프로필 및 선호도 정보
- Mobile 도메인: 알림 설정 및 디바이스 정보
도메인 이벤트
도메인에서 발생하는 중요한 변화나 사실을 나타내는 이벤트들입니다.
1. 치료 프로세스 관리 이벤트
| 이벤트 | 설명 | 트리거 |
|---|---|---|
| TreatmentProcessStarted | 새로운 치료 프로세스가 시작되었음 | InitiateTreatmentProcess |
| TreatmentProcessCompleted | 치료 프로세스가 정상적으로 완료되었음 | CompleteTreatmentProcess |
| TreatmentProcessPaused | 치료 프로세스가 일시 정지되었음 | PauseTreatmentProcess |
| TreatmentProcessResumed | 일시 정지된 치료 프로세스가 재개되었음 | ResumeTreatmentProcess |
| TreatmentProcessTerminated | 치료 프로세스가 조기 종료되었음 | TerminateTreatmentProcess |
| TreatmentSettingsUpdated | 치료 설정이 변경되었음 | UpdateTreatmentSettings |
2. 치료 단계(Phase) 전환 이벤트
| 이벤트 | 설명 | 트리거 |
|---|---|---|
| PhaseTransitioned | 치료 단계가 전환되었음 | TransitionPhase |
| P1AssessmentStarted | P1 초기 평가가 시작되었음 | StartP1Assessment |
| P1AssessmentCompleted | P1 초기 평가가 완료되었음 | CompleteP1Assessment |
| P2HypothesisGenerated | P2에서 가설이 생성되었음 | GenerateHypotheses |
| P2HypothesisRefined | P2에서 가설이 정교화되었음 | RefineHypotheses |
| P3RoadmapCreated | P3에서 치료 로드맵이 생성되었음 | CreateRoadmap |
| P3RoadmapRevised | P3 로드맵이 수정되었음 | ReviseRoadmap |
| P4DailyTaskGenerated | P4에서 일일 Task가 생성되었음 | GenerateDailyTask |
| P5EvaluationCompleted | P5 주간 평가가 완료되었음 | CompleteWeeklyEvaluation |
| P5DecisionMade | P5에서 의사결정이 내려졌음 | MakeP5Decision |
3. 메시지 생성 및 관리 이벤트
| 이벤트 | 설명 | 트리거 |
|---|---|---|
| MessageGenerated | 새로운 메시지가 생성되었음 | GenerateMessage |
| MessageScheduled | 메시지가 예약되었음 | ScheduleMessage |
| MessageDelivered | 메시지가 전달되었음 | DeliverMessage |
| MessageViewed | 메시지가 조회되었음 | Agent Board 피드백 |
| MessageInteracted | 메시지와 상호작용이 발생했음 | Agent Board 피드백 |
| MessageCompleted | 메시지가 완료되었음 | Agent Board 피드백 |
| MessageDismissed | 메시지가 무시/닫기 되었음 | Agent Board 피드백 |
| MessageExpired | 메시지 유효기간이 만료되었음 | 시간 경과 |
| CriticalAlertTriggered | 긴급 알림이 발생했음 | TriggerCriticalAlert |
| SleepQIntroShown | 슬립큐 소개가 표시되었음 | 첫 가입 후 Home 진입 |
| SleepQIntroCompleted | 슬립큐 소개 확인이 완료되었음 | 사용자 확인 액션 |
| SleepQIntroRequeued | 슬립큐 소개가 재노출 대기열에 추가됨 | 다른 메시지 처리 완료 |
| SleepRecordPromptGenerated | 수면기록 작성 안내가 생성되었음 | 슬립큐 소개 완료 & 미작성 |
| PrescriptionGuideQueued | 권장 취침시간 처방 안내가 큐에 추가됨 | 자정 처방 발생 |
| WakeTimeAlertTriggered | 기상 시각 알림이 발생했음 | 설정된 기상 시각 도달 |
| BedtimePreparationSent | 취침 준비 안내가 발송되었음 | 취침 1시간 전 |
| DailyProgramGuideCreated | 오늘의 치료 프로그램 안내가 생성됨 | 수면기록 작성 완료 |
| TreatmentProgressShown | 나의 치료 현황이 표시되었음 | 2주차 이후 수면기록 작성 |
| FinalAnalysisResultGenerated | 최종 설문 분석 결과가 생성되었음 | 4회차 설문 응답 제출 |
| ServiceExpirationQueued | 서비스 만료 안내가 큐에 추가됨 | 자정 만료 대상자 확인 |
4. Task 수행 이벤트
| 이벤트 | 설명 | 트리거 |
|---|---|---|
| TaskAssigned | Task가 할당되었음 | AssignTask |
| TaskStarted | Task 수행이 시작되었음 | StartTask |
| TaskProgressUpdated | Task 진행 상황이 업데이트되었음 | UpdateTaskProgress |
| TaskCompleted | Task가 완료되었음 | CompleteTask |
| TaskSkipped | Task가 건너뛰어졌음 | SkipTask |
| TaskFeedbackReceived | Task 수행 피드백이 수신되었음 | ReceiveTaskFeedback |
| TaskDifficultyAdjusted | Task 난이도가 조정되었음 | AdjustTaskDifficulty |
5. 분석 및 평가 이벤트
| 이벤트 | 설명 | 트리거 |
|---|---|---|
| SleepPatternAnalyzed | 수면 패턴이 분석되었음 | AnalyzeSleepPattern |
| TreatmentEffectivenessEvaluated | 치료 효과성이 평가되었음 | EvaluateTreatmentEffectiveness |
| CriticalIssueDetected | 위험 신호가 감지되었음 | ScreenCriticalIssues |
| ImprovementTrendIdentified | 개선 추세가 확인되었음 | IdentifyTrends |
| BarrierIdentified | 치료 장애물이 식별되었음 | IdentifyBarriers |
| MismatchDetected | 치료 전략 불일치가 감지되었음 | DetectMismatch |
| InsightGenerated | 새로운 인사이트가 생성되었음 | GenerateInsight |
6. 개인화 이벤트
| 이벤트 | 설명 | 트리거 |
|---|---|---|
| CoreNarrativeExtracted | 핵심 서사가 추출되었음 | ExtractCoreNarrative |
| CoreNarrativeUpdated | 핵심 서사가 업데이트되었음 | UpdateCoreNarrative |
| CommunicationStyleIdentified | 선호 커뮤니케이션 스타일이 파악되었음 | IdentifyCommunicationStyle |
| PersonalizationProfileUpdated | 개인화 프로필이 업데이트되었음 | UpdatePersonalizationProfile |
| MessageToneAdjusted | 메시지 톤이 조정되었음 | AdjustMessageTone |
정책(Policies)
시스템의 자동화된 비즈니스 규칙입니다.
치료 프로세스 정책
- P1-P5 치료 프로세스는 A-H-I-R 순환 모델을 따름
- 치료 프로세스 시작 시 자동으로 P1 단계 진입
- P1 완료 후 24시간 이내 P2 자동 시작
- P2 가설 생성 후 즉시 P3 로드맵 설계 시작
- P4는 매일 오전 8시에 일일 Task 자동 생성
- P5는 매주 일요일 오후 6시에 자동 실행
- Critical Issue 감지 시 즉시 의료진 알림 및 사용자 안내
- 기본 시스템 메시지는 A-H-I-R 모델과 독립적으로 운영
메시지 생성 정책
기본 시스템 메시지 정책
- 모든 사용자에게 동일한 타입의 메시지 제공
- 내용은 사용자 데이터 기반 개인화 (시각, 설문 결과, 진행 상황 등)
- A-H-I-R 모델과 독립적으로 사전 정의된 트리거에 따라 작동
- Critical 우선순위 메시지는 즉시 생성 및 전달
- 야간 시간(23:00-06:00) 생성 메시지는 큐에 저장
치료적 개입 메시지 정책
- P1-P5 프로세스를 통해 가설 기반으로 생성
- A-H-I-R 순환 모델 적용
- 핵심 서사(Core Narrative) 테마 일관성 유지
- Task 수행률 30% 미만 시 난이도 자동 하향 조정
- 연속 3일 미수행 시 동기부여 메시지 추가 생성
9가지 기본 시스템 메시지 처리 정책
- 슬립큐 소개: 사용자가 확인할 때까지 최우선 표시, 다른 메시지 처리 후 자동 재노출
- 수면기록 작성하기: 슬립큐 소개 완료 & 당일 미작성 시 자동 생성
- 권장 취침시간 처방 안내: 자정 처방 발생 시 Queue 저장, 다음날 아침 자동 노출
- 기상 시각 안내: 설정 시각에 푸시 알림과 함께 Agent Board 자동 노출
- 취침 준비 안내: 취침 1시간 전 푸시 알림과 함께 자동 생성
- 오늘의 치료 프로그램 안내: 수면기록 작성 완료 즉시 자동 생성
- 나의 치료 현황: 2주차부터 수면기록 작성 시 자동 생성
- 최종 설문 분석 결과 안내: 4회차 설문 제출 즉시 분석 및 생성
- 서비스 사용 만료 안내: 만료 당일 자정 Queue 저장, 다음날 아침 자동 노출
개인화 정책
기본 시스템 메시지 개인화
- 사용자 설정값과 응답 데이터를 직접 반영 (취침/기상 시각, 설문 점수 등)
- 치료 주차별 적절한 격려 문구 사용
- 시간대별 인사말 및 이전 행동 기반 연속성 유지
치료적 개입 메시지 개인화
- 첫 2주간 수집 데이터로 핵심 서사 자동 추출
- P2 가설과 P3 로드맵 기반 완전 개인화
- 매주 개인화 프로필 자동 업데이트
- 선호 시간대 분석 후 메시지 전달 시간 자동 조정
- 피드백 기반 톤 & 매너 자동 최적화
안전성 정책
- 자살 사고, 극심한 우울감 키워드 실시간 모니터링
- Critical Issue 감지 시 24시간 이내 의료진 직접 연락
- 이중 채널 알림 (시스템 + 의료진)
- 모든 Critical Issue 별도 로그 저장 및 추적
분석 및 평가 정책
- 매일 수면 데이터 자동 분석 및 패턴 추출
- 주 3회 이상 데이터 수집 시에만 주간 평가 실행
- 3주 연속 개선 없음 시 자동으로 전략 재검토 권고
- 치료 효과성 예측 모델 매주 업데이트
Agent Board 연동 정책
- 생성된 모든 메시지는 Agent Board로 자동 전송
- Agent Board의 모든 상호작용 피드백 실시간 수신
- 피드백 수신 후 5초 이내 처리 완료
- 비정상 상호작용 패턴 감지 시 자동 알림
명령(Commands)
도메인 이벤트를 발생시키는 사용자 의도나 시스템 동작입니다.
1. 치료 프로세스 관리 명령
| 명령 | 설명 | 영향 |
|---|---|---|
| InitiateTreatmentProcess | 치료 프로세스 시작 | TreatmentProcessStarted 이벤트 발생 |
| PauseTreatmentProcess | 치료 프로세스 일시정지 | TreatmentProcessPaused 이벤트 발생 |
| ResumeTreatmentProcess | 치료 프로세스 재개 | TreatmentProcessResumed 이벤트 발생 |
| CompleteTreatmentProcess | 치료 프로세스 완료 | TreatmentProcessCompleted 이벤트 발생 |
| TerminateTreatmentProcess | 치료 프로세스 조기 종료 | TreatmentProcessTerminated 이벤트 발생 |
| UpdateTreatmentSettings | 치료 설정 변경 | TreatmentSettingsUpdated 이벤트 발생 |
2. 치료 단계 진행 명령
| 명령 | 설명 | 영향 |
|---|---|---|
| TransitionPhase | 다음 단계로 전환 | PhaseTransitioned 이벤트 발생 |
| StartP1Assessment | P1 평가 시작 | P1AssessmentStarted 이벤트 발생 |
| CompleteP1Assessment | P1 평가 완료 | P1AssessmentCompleted 이벤트 발생 |
| GenerateHypotheses | P2 가설 생성 | P2HypothesisGenerated 이벤트 발생 |
| CreateRoadmap | P3 로드맵 생성 | P3RoadmapCreated 이벤트 발생 |
| GenerateDailyTask | P4 일일 Task 생성 | P4DailyTaskGenerated 이벤트 발생 |
| CompleteWeeklyEvaluation | P5 주간 평가 수행 | P5EvaluationCompleted 이벤트 발생 |
| MakeP5Decision | P5 의사결정 | P5DecisionMade 이벤트 발생 |
3. 메시지 관리 명령
| 명령 | 설명 | 영향 |
|---|---|---|
| GenerateMessage | 메시지 생성 요청 | MessageGenerated 이벤트 발생 |
| ScheduleMessage | 메시지 예약 | MessageScheduled 이벤트 발생 |
| DeliverMessage | 메시지 전달 | MessageDelivered 이벤트 발생 |
| ProcessMessageFeedback | 메시지 피드백 처리 | 다양한 Message 관련 이벤트 발생 |
| TriggerCriticalAlert | 긴급 알림 발생 | CriticalAlertTriggered 이벤트 발생 |
4. 분석 명령
| 명령 | 설명 | 영향 |
|---|---|---|
| AnalyzeSleepPattern | 수면 패턴 분석 | SleepPatternAnalyzed 이벤트 발생 |
| EvaluateTreatmentEffectiveness | 치료 효과성 평가 | TreatmentEffectivenessEvaluated 이벤트 발생 |
| ScreenCriticalIssues | 위험 신호 스크리닝 | CriticalIssueDetected 이벤트 가능성 |
| GenerateInsight | 인사이트 생성 | InsightGenerated 이벤트 발생 |
5. 개인화 명령
| 명령 | 설명 | 영향 |
|---|---|---|
| ExtractCoreNarrative | 핵심 서사 추출 | CoreNarrativeExtracted 이벤트 발생 |
| UpdatePersonalizationProfile | 개인화 프로필 업데이트 | PersonalizationProfileUpdated 이벤트 발생 |
| AdjustMessageTone | 메시지 톤 조정 | MessageToneAdjusted 이벤트 발생 |
| OptimizeTaskDifficulty | Task 난이도 최적화 | TaskDifficultyAdjusted 이벤트 발생 |
액터(Actors)
시스템과 상호작용하는 주체들입니다.
내부 액터
| 액터 | 설명 | 주요 명령 |
|---|---|---|
| 치료 오케스트레이터 | 치료 프로세스 전체를 관리하는 시스템 | TransitionPhase, MakeP5Decision, ProcessMessageFeedback |
| 메시지 생성기 | LLM 기반 메시지 생성 시스템 | GenerateMessage, GenerateDailyTask, GenerateInsight |
| 임상 분석기 | 데이터 분석 및 평가 시스템 | AnalyzeSleepPattern, EvaluateTreatmentEffectiveness |
| 개인화 엔진 | 개인화 전략 관리 시스템 | ExtractCoreNarrative, AdjustMessageTone, OptimizeTaskDifficulty |
| 스케줄러 | 시간 기반 작업 실행 시스템 | ScheduleMessage, CompleteWeeklyEvaluation |
외부 시스템/도메인 액터
| 액터 | 설명 | 주요 상호작용 |
|---|---|---|
| Agent Board 도메인 | 메시지 표시 및 상호작용 관리 | 메시지 전달, 피드백 수신 |
| Sleep 도메인 | 수면 데이터 제공 | 수면기록 데이터 조회 |
| Questionnaire 도메인 | 설문 결과 제공 | 표준 설문 결과 조회 |
| User 도메인 | 사용자 정보 제공 | 프로필, 선호도 정보 조회 |
| 의료진 | 치료 감독 및 개입 | Critical Issue 알림 수신, 치료 조정 |
| 시스템 관리자 | 시스템 모니터링 및 관리 | 시스템 상태 확인, 설정 조정 |
집계(Aggregates)
연관된 엔티티와 값 객체들의 클러스터입니다.
TreatmentProcess 집계
- 루트:
TreatmentProcess - 엔티티:
TreatmentPhase(P1-P5 단계)AgentMessage(생성된 메시지)
- 값 객체:
TreatmentSettings(치료 설정)ProcessMetrics(전체 지표)CoreNarrative(핵심 서사)
- 불변식:
- 한 사용자는 동시에 하나의 활성 치료 프로세스만 가능
- 단계는 순차적으로 진행 (예외: P5 결정에 따른 역행)
- 치료 프로세스는 최소 4주, 최대 12주
TreatmentRoadmap 집계
- 루트:
TreatmentRoadmap - 엔티티:
AgentTaskDefinition(Task 정의)RoadmapPhase(로드맵 단계)
- 값 객체:
Milestone(이정표)TreatmentStrategy(치료 전략)Timeline(일정)
- 불변식:
- 최소 3개의 Phase 포함
- 각 Phase는 3-5개의 Task 포함
- Task 간 의존성은 순환 불가
AgentMessage 집계
- 루트:
AgentMessage - 값 객체:
MessageType(기본 시스템 vs 치료적 개입)ContentBody(메시지 본문)ContentMetadata(메타데이터)DisplayRules(표시 규칙)InteractionData(상호작용 데이터)PersonalizationData(개인화 데이터)
- 불변식:
- Critical 우선순위는 즉시 전달
- 야간 시간대는 큐에 저장
- 중복 메시지 방지
- 기본 시스템 메시지는 타입별로 동시에 1개만 활성화
- 치료적 개입 메시지는 P4에서만 생성
핫스팟 및 해결책
1. LLM 의존성 관리
문제: LLM API 장애 시 메시지 생성 중단 해결책:
- 사전 생성된 템플릿 풀 유지
- 우선순위별 폴백 전략
- LLM 응답 캐싱 및 재사용
- 다중 LLM 프로바이더 지원
2. 개인화 vs 표준화 균형
문제: 과도한 개인화로 인한 임상 가이드라인 이탈 해결책:
- CBT-I 핵심 원칙 준수 검증
- 개인화 범위 제한 설정
- 의료진 검토 체크포인트
- 표준 프로토콜 우선순위
3. 메시지 유형 간 균형
문제: 기본 시스템 메시지와 치료적 개입 메시지의 적절한 배분 해결책:
- 기본 시스템 메시지로 안정적 구조 제공
- 치료적 개입 메시지로 개인화된 치료 경험 제공
- 두 유형 간 명확한 역할 분담
- 메시지 과부하 방지를 위한 총량 제한
4. Critical Issue 대응 지연
문제: 긴급 상황 감지와 대응 사이의 시간 지연 해결책:
- 실시간 키워드 모니터링
- 이중 알림 채널 구축
- 자동 에스컬레이션 프로세스
- 24시간 대응 체계 구축
5. 데이터 품질 및 일관성
문제: 여러 도메인에서 수집되는 데이터의 품질 차이 해결책:
- 데이터 검증 레이어 구축
- 결측치 처리 전략
- 이상치 감지 및 처리
- 도메인 간 데이터 동기화
6. 치료 효과 측정의 복잡성
문제: 다차원적 치료 효과를 단일 지표로 표현의 어려움 해결책:
- 복합 지표 체계 구축
- 맥락별 가중치 적용
- 장단기 효과 분리 측정
- 주관적/객관적 지표 통합
변경 이력
| 버전 | 날짜 | 작성자 | 변경 내용 |
|---|---|---|---|
| 1.0.0 | 2025-01-03 | bok@weltcorp.com | 최초 작성 - P1-P5 단계별 이벤트 및 정책 정의 |
| 1.1.0 | 2025-06-23 | bok@weltcorp.com | 기본 시스템 메시지와 치료적 개입 메시지 구분, 개인화 방식 명확화 |