Agent Treatment Flow 도메인 비즈니스 규칙
1. 치료 프로세스 규칙
1.1 메시지 유형 및 개인화 방식
- 기본 시스템 메시지: 모든 사용자에게 제공되는 9가지 필수 메시지 타입
- 메시지 타입과 노출 규칙은 표준화되어 있음
- 메시지 내용은 사용자별로 개인화됨:
- 슬립큐 소개: 온보딩 설문 결과 기반 개인화
- 기상/취침 안내: 사용자 설정 시각 반영
- 치료 현황: 개인별 진행 상황과 성과 데이터 반영
- 최종 설문 분석: 개인별 설문 응답과 치료 결과 반영
- A-H-I-R 모델과는 독립적으로 사전 정의된 트리거에 따라 작동
- 치료적 개입 메시지: P1-P5 프로세스를 통해 생성되는 심화 메시지
- A-H-I-R (Assess-Hypothesize-Intervene-Re-evaluate) 순환 모델을 따름
- 수집된 데이터를 기반으로 가설을 세우고 검증하며 동적으로 생성
- 치료적 Task, 맞춤형 질문, 가설 기반 개입 등 포함
- 각 순환 주기의 결과는 다음 순환의 입력으로 활용되어야 함
1.2 5단계 치료 모듈 규칙
- 한국인 환자 그룹(
patients.kr)에 속한 사용자를 대상으로만 실행됩니다.
1.2.1 P1 (초기 평가) 규칙
1.2.1.1 P1-A0-1
- 수면일기 작성 독려 & 장벽 파악
- 실행 조건: (①) 수면일기 개수 < 4 AND (②) 최근 2일 연속 미작성
- Trigger Event: Scheduled Event -> 14시(시간은 임의로 설정한 값, 이후에 수정 필요)
1.2.1.2 P1-A1
- 1차 상태 분석 질문 리스트 생성
- 실행 조건: (①) 수면일기 개수 >= 4 AND (②) 8일차 이상
- Trigger Event: 수면일기 작성
1.2.2 P2 (가설 정교화) 규칙
1.2.2.1 P2-A0-1
- 당일 과제 설명 & 동기 부여
- 오늘 날짜 = 과제 시작일
- Trigger Event: Scheduled Event -> 14시(시간은 임의로 설정한 값, 이후에 수정 필요)
1.2.2.2 P2-A3
- 주간 과제 완료 여부 확인
- 과제 주차 마지막 날
- Trigger Event: Scheduled Event -> 14시(시간은 임의로 설정한 값, 이후에 수정 필요)
1.2.2.2 P2-Exit
- Phase 3 진입 여부 결정
- 실행 조건: 29일차
1.2.3 P3 (치료 로드맵) 규칙
1.2.3.1. P3-A1
- 공감 & 지속 동기 메시지
- 실행 조건: 29일차 진입
- Trigger Event: Scheduled Event -> 14시(시간은 임의로 설정한 값, 이후에 수정 필요)
1.2.3.2 P3-A2
- 최종 설문 촉구 & 리포트 예고
- 실행 조건: 36일차 진입
- Trigger Event: Scheduled Event -> 14시(시간은 임의로 설정한 값, 이후에 수정 필요)
1.2.3.3 P3-A3
- 개인화 최종 리포트 작성
- 실행 조건: 사용자가 최종 설문 완료
- PDF/HTML 리포트 생성·저장
1.2.4 P4 (일일 코칭) 규칙
- 실행 시점:
- 매일 오전 8시 (사용자 시간대)
- 수면기록 작성 완료 시
- 사용자 요청 시
- Task 선택 규칙:
- 위기 상황 우선 처리 (PHQ-9 >= 20, SE < 50%)
- 주간 로테이션: 월/목(인지), 화/금(행동), 수/토(감정), 일(모니터링)
- 적응형 오버라이드: 참여도/불안도에 따른 조정
- 난이도 조정:
- 완료율 < 50%: 난이도 1단계 하향
- 완료율 > 80%: 난이도 1단계 상향
- 심리 점수 높음: 난이도 1단계 하향
- 배치 처리: 100명씩 묶어서 처리, 1초 간격 유지
1.2.5 P5 (주간 평가) 규칙
- 실행 시점:
- 매주 일요일 오후 6시
- 설문 회차 완료 시 (5주차, 9주차)
- 위급 상황 감지 시 즉시
- 경로 결정 우선순위:
- CRITICAL 체크 (PHQ-9 >= 20, GAD-7 >= 15, 자살사고)
- SUCCESS 체크 (ISI 20% 개선, 동반증상 개선, 참여율 > 70%)
- MISMATCH 체크 (ISI < 10% 개선, 타증상 개선)
- 기본값 BARRIER
- 처리 시간: 5분 이내 완료
1.3 단계 전환 규칙
- P1 → P2: 1주일 데이터 수집 완료 시 자동 전환
- P2 → P3: 가설 검증 완료 후 24시간 이내 전환
- P3 → P4: 로드맵 생성 즉시 전환
- P4 → P5: 매주 일요일 자정에 자동 전환
- P5 의사결정:
- SUCCESS → P4 지속 (PROCEED_AS_PLANNED)
- BARRIER → P4 조정 (TRIGGER_P4_ADJUSTMENT)
- MISMATCH → P3 재설계 (LOOP_BACK_TO_P3)
- CRITICAL_ISSUE → 즉시 알림 (TRIGGER_DUAL_CHANNEL_ALERT)
2. 메시지 생성 규칙
2.1 Agent 메시지 우선순위 규칙
2.1.1 기본 시스템 메시지 우선순위
- Critical:
- 슬립큐 소개: 사용자가 반드시 확인해야 하며, 다른 메시지 처리 후 재노출
- 서비스 만료 안내: 치료 주기 만료 시 최우선 표시
- High:
- 수면기록 작성하기: 당일 수면기록 미작성 시
- 권장 취침시간 처방 안내: 자정 Queue 처리 후 다음날 아침 노출
- 기상 시각 안내: 설정된 기상 시각에 푸시 알림과 함께
- 최종 설문 분석 결과 안내: 4회차 설문 완료 시
- Medium:
- 취침 준비 안내: 취침 1시간 전 알림
- 오늘의 치료 프로그램 안내: 수면기록 작성 후
- 나의 치료 현황: 2주차부터 수면기록 작성 시
2.1.2 개인화 치료 메시지 우선순위
- Critical: P5에서 CRITICAL_ISSUE 경로 결정 시 생성되는 위기 개입 메시지
- High: P4 일일 치료적 Task 중 위기 대응이 필요한 경우
- Medium: P4 일반 치료적 Task, P1 면담 질문, P5 주간 평가 피드백
- Low: 동기부여 메시지, 진행 상황 업데이트, 격려 메시지
2.2 개인화 규칙
2.2.1 기본 시스템 메시지 개인화
- 데이터 기반 개인화: 사용자의 설정값과 응답 데이터를 직접 반영
- 취침/기상 시각: 사용자가 설정한 정확한 시간 표시
- 설문 결과: ISI, PHQ-9 등 점수와 해석을 메시지에 포함
- 진행 상황: 실제 수면 효율, 개선도 등 수치 데이터 표시
- 컨텍스트 개인화: 사용자의 현재 상황에 맞춘 메시지
- 치료 주차별 적절한 격려 문구
- 시간대별 인사말 (아침/저녁)
- 이전 행동 기반 연속성 있는 메시지
2.2.2 치료적 개입 메시지 개인화
- 가설 기반 개인화: P2에서 수립된 가설에 따른 맞춤형 접근
- 핵심 서사(Core Narrative) 적용: P3에서 선택된 테마 일관성 유지
- 적응형 개인화: 수행률과 피드백 기반 실시간 조정
- 톤 & 매너: 환자가 선호하는 커뮤니케이션 스타일 적용
2.2.3 공통 개인화 원칙
- 메시지 노출 시점은 환자의 생활 패턴을 고려하여 최적화
- 사용자 이름은 적절한 빈도로 사용 (과도하지 않게)
- 의학 용어는 쉬운 표현으로 순화
- 문화적 맥락 고려 (한국어/영어/독일어별 차이)
2.3 메시지 개인화 예시
2.3.1 기본 시스템 메시지 개인화 예시
-
기상 시각 안내:
- 템플릿: "좋은 아침이에요! 오늘
{기상시각}에 일어나기로 하셨죠?" - 개인화: "좋은 아침이에요! 오늘 7시 30분에 일어나기로 하셨죠?"
- 템플릿: "좋은 아침이에요! 오늘
-
슬립큐 소개:
- 템플릿: "
{이름}님,{주요고민}으로 힘드셨군요.{ISI점수}점은{해석}입니다." - 개인화: "김철수님, 잠들기 어려운 문제로 힘드셨군요. ISI 18점은 중등도 불면증에 해당합니다."
- 템플릿: "
-
나의 치료 현황:
- 템플릿: "
{주차}주차 수면 효율이{이전}%에서{현재}%로{변화}했어요." - 개인화: "3주차 수면 효율이 65%에서 78%로 13% 개선되었어요."
- 템플릿: "
2.3.2 치료적 개입 메시지 개인화 예시
-
P4 치료적 Task (정원사 테마):
- "오늘은 수면 정원에 '걱정 잡초'를 뽑는 시간이에요. 잠들기 전 떠오르는 생각을 적어보고, 내일 아침에 다시 볼게요."
-
P5 주간 평가 피드백 (탐험가 테마):
- "이번 주 여정에서 큰 진전이 있었어요! 수면 효율이 15% 향상되어 목표 정상에 한 걸음 더 가까워졌습니다."
2.4 메시지 생성 시점 규칙
- 즉시 생성:
- 슬립큐 소개: 첫 가입 후 Home 화면 진입 시
- 수면기록 작성하기: 슬립큐 소개 완료 후 & 오늘 수면기록 미작성 시
- 최종 설문 분석 결과 안내: 4회차 설문 응답 제출 시
- 예약 생성:
- 오늘의 치료 프로그램 안내: 수면기록 작성 완료 시
- 기상 시각 안내: 설정된 기상 시각
- 취침 준비 안내: 설정된 취침 시각 1시간 전
- 조건부 생성:
- 나의 치료 현황: 2주차부터, 수면기록 작성 완료 시
- 자정 Queue 처리:
- 권장 취침시간 처방 안내: 자정에 처방 발생 시 Queue 저장
- 서비스 사용 만료 안내: 자정에 만료 대상자 Queue 저장
- (이유: 자정에 사용자가 수면 중일 가능성이 높아 방해 방지)
2.5 Task 유형별 규칙
- 인지 접근형 Task:
- 하루 최대 2개, 15분 이내 완료 가능
- 난이도: easy(5분), medium(10분), hard(15분)
- 필수 요소: 목표 신념, 연습 유형, 예시
- 행동 유도형 Task:
- 구체적이고 측정 가능한 행동 제시
- 시간대 지정: morning/afternoon/evening/bedtime
- 추적 지표 명시
- 감정 탐색형 Task:
- 주 2회 이하, 심리적 부담 최소화
- 지지적 메시지 필수 포함
- 가이드 콘텐츠 제공 여부 명시
- 피드백 루프형 Task:
- 즉각적인 피드백 제공 필수
- 성취 트리거 포함
- 데이터 리뷰 범위 명시
2.6 대화 정책 규칙
- V-L-R (Validate-Link-Redirect):
- 불면과 간접 연관 시 적용
- 감정 인정 → 수면 연결 → 재초점화
- R-R (Reaffirm Role-Redirect):
- 무관한 질문 시 적용
- 역할 재확인 → 수면 주제로 전환
- Block & Guide:
- 부적절한 발화 시 적용
- 중립적 차단 → 건설적 목표 안내
3. 데이터 처리 규칙
3.1 MCP 도구 사용 규칙
- 병렬 호출 우선:
- 읽기 전용 작업은 항상 병렬 실행
- 최대 병렬 호출 수: 10개
- 순차 호출은 의존성이 있을 때만 허용
- 타임아웃 설정:
- 일반 MCP 호출: 5초
- 대용량 데이터: 10초
- LLM 호출: 30초
- 에러 처리:
- 3회 재시도 with exponential backoff
- 실패 시 폴백 데이터 사용
3.2 데이터 집계 규칙
- 수면 일지 유효성:
- SE(수면 효율) null이 아닌 기록만 유효
- 최소 4일 이상 데이터 필요
- 7일 이내 최신 데이터 우선
- 설문 데이터 처리:
- 모든 설문은 roundNumber로 구분
- 동일 회차 중복 시 최신 데이터 사용
- 미완료 설문은 null 처리
- 학습 데이터 집계:
- 완료된 레슨만 진도율 계산
- 중단 패턴은 3회 이상 발생 시 유의미
- 선호 시간대는 최빈값 사용
3.3 캐싱 전략 규칙
- 캐시 유효 기간:
- Task 템플릿: 30일
- 사용자 선호도: 24시간
- LLM 응답: 24시간
- 평가 결과: 7일
- 캐시 무효화:
- 사용자 프로필 변경 시
- 치료 단계 전환 시
- Critical Issue 발생 시
4. 안전성 규칙
4.1 Critical Issue 감지 규칙
- 즉시 감지 조건:
- PHQ-9 >= 20 또는 item 9 > 0 (자살사고)
- GAD-7 >= 15 (중증 불안)
- 수면 효율 < 50% 3일 연속
- 키워드: "죽고 싶다", "자살", "극심한 고통"
- 대응 프로토콜:
- 24시간 내 의료진 알림
- 이중 채널 안전망 가동
- 위기 지원 자원 즉시 제공
- 모든 과정 감사 로그 기록
4.2 치료 경계 규칙
- CBT-I 범위를 벗어난 의학적 조언 금지
- 약물 치료 권유 또는 중단 지시 금지
- 다른 정신건강 문제 진단 시도 금지
- 필요시 전문의 상담 권유로 한정
4.3 데이터 보호 규칙
- 모든 환자 데이터 암호화 저장
- HIPAA/GDPR 규정 준수
- 최소 권한 원칙 적용
- 6개월 이상 비활성 데이터 자동 아카이빙
5. 성능 규칙
5.1 메시지 생성 성능 규칙
- LLM 기반 메시지 생성은 30초 이내 완료
- 일일 Task 생성은 매일 오전 6시까지 완료
- 긴급 메시지는 이벤트 발생 후 5초 이내 생성
- 배치 처리 시 분당 최대 6,000건 처리
5.2 분석 성능 규칙
- P1 초기 평가는 10분 이내 완료
- P5 주간 평가는 5분 이내 완료
- 실시간 피드백은 사용자 입력 후 3초 이내 제공
- 동시 처리 가능 사용자: 1,000명
6. LLM 프롬프트 규칙
6.1 프롬프트 구성 규칙
- System Prompt: 역할, 목표, 제약사항 명시
- User Prompt: 구조화된 데이터 + 맥락 정보
- Temperature 설정:
- 분석 작업: 0.0-0.3
- 창의적 Task 생성: 0.7-0.8
- 일반 메시지: 0.5
6.2 출력 형식 규칙
- 모든 LLM 출력은 JSON 형식 준수
- 필수 필드 누락 시 재생성
- 검증 실패 시 템플릿 폴백
7. Flowise 플로우 규칙
7.1 노드 구성 규칙
- Schedule Trigger: cron 표현식 사용
- MCP Node: 병렬 실행 우선
- LLM Chain: 재시도 로직 포함
- Output Parser: 스키마 검증 필수
7.2 에러 처리 규칙
- 각 노드별 에러 핸들러 구성
- 전체 플로우 실패 시 알림
- 부분 실패 허용 (graceful degradation)
8. 품질 지표 규칙
8.1 핵심 성과 지표 (KPI)
- P1 실행 성공률: > 99%
- Task 생성 품질 점수: > 4.0/5.0
- 메시지 전달 성공률: > 99.5%
- 사용자 참여율: > 70%
- 주간 개선율: > 10%
8.2 모니터링 규칙
- 실시간 대시보드 운영
- 이상 패턴 자동 감지
- 주간 품질 리포트 생성
- 월간 임상 효과성 분석
9. 버전 관리 규칙
9.1 메시지 버전 관리
- 모든 메시지에 version 필드 포함
- 하위 호환성 보장
- 중대 변경 시 마이그레이션 계획
9.2 플로우 버전 관리
- Flowise 플로우 버전 태깅
- 롤백 가능한 배포 전략
- A/B 테스트 지원
10. 변경 이력
| 버전 | 날짜 | 작성자 | 변경 내용 |
|---|---|---|---|
| 0.1.0 | 2025-06-22 | bok@weltcorp.com | 최초 작성 - overview.md, agent-message-types.md 내용 통합 |
| 1.0.0 | 2025-06-23 | bok@weltcorp.com | P1-P5 구현 가이드 및 요구사항 전체 반영하여 대폭 확장 |
| 1.1.0 | 2025-06-23 | bok@weltcorp.com | 기본 시스템 메시지와 치료적 개입 메시지 구분, 개인화 방식 명확화 |
| 1.2.0 | 2025-01-04 | bok@weltcorp.com | MessagePriority enum 도입, TreatmentProcess 용어 통일 |