본문으로 건너뛰기

Sleep Pattern Analyst 전문가 에이전트 명세서

1. 개요

1.1 에이전트 정보

  • 에이전트 타입: SLEEP_PATTERN (Sleep Pattern Analysis Expert)
  • 전문 분야: 수면 패턴 분석 및 SOL(Sleep Onset Latency) 예측
  • 버전: 2.0.0 (수면 목표 달성률 분석 기능 추가)
  • LLM 엔진: Gemini Pro (Fallback: 규칙 기반 분석)

1.2 확장된 분석 범위 (v2.0.0)

기존 분석 영역에 수면 목표 달성률 기반 예측이 추가되어 보다 정확하고 개인화된 SOL 예측을 제공합니다.

기존 분석 영역

  • ✅ 수면 패턴 메트릭스 (평균 SOL, SOL 변동성, 주중/주말 차이)
  • ✅ 수면 트렌드 분석 (개선/악화/안정)
  • ✅ 수면 부채 영향 분석
  • ✅ 생체리듬 정렬도 평가
  • ✅ 계절적 요인 및 이상치 탐지

신규 추가 분석 영역

  • 🆕 수면 목표 달성률 분석: 취침/기상 목표 준수율이 SOL에 미치는 영향
  • 🆕 목표-실제 갭 분석: 목표 대비 실제 수면 시간 차이와 SOL 상관관계
  • 🆕 목표 준수 일관성 평가: 연속 달성 일수와 SOL 안정성 관계
  • 🆕 개인별 목표 적응 패턴: 사용자별 목표 달성 패턴 학습

2. 분석 아키텍처

2.1 데이터 입력 구조

interface SleepPatternAnalysisInput {
// 기존 수면 데이터
sleepData: SleepDataSummary & {
// 새로 추가된 수면 목표 관련 필드
goalAchievementRate: number; // 전체 목표 달성률 (0-1)
lightsOutGoalSuccessRate: number; // 취침시간 목표 달성률
wakeTimeGoalSuccessRate: number; // 기상시간 목표 달성률
goalAdherenceConsistency: number; // 목표 준수 일관성
averageGoalActualGap: number; // 평균 목표-실제 차이(분)
recentGoalSuccessStreak: number; // 최근 연속 달성 일수
};

analysisDate: Date;
userId: string;
userCycleId: string;
}

2.2 분석 프로세스 플로우

3. 확장된 메트릭 정의

3.1 기존 메트릭 (유지)

interface SleepPatternMetrics {
// 기본 SOL 메트릭
averageSOL: number; // 평균 SOL (분)
solVariability: number; // SOL 변동성 (표준편차)
weekdayVsWeekendSOL: number; // 주중/주말 SOL 차이
trendDirection: 'improving' | 'worsening' | 'stable';

// 수면 패턴 메트릭
sleepDebtImpact: number; // 수면 부채 영향 (0-1)
circadianMisalignment: number; // 생체리듬 정렬도 (0-1)
}

3.2 신규 수면 목표 메트릭

interface SleepGoalPatternMetrics {
// 목표 달성률 메트릭
overallGoalAchievementRate: number; // 전체 목표 달성률 (0-1)
bedtimeGoalSuccessRate: number; // 취침 목표 달성률 (0-1)
waketimeGoalSuccessRate: number; // 기상 목표 달성률 (0-1)

// 목표-실제 갭 메트릭
averageBedtimeGap: number; // 평균 취침시간 갭 (분)
averageWaketimeGap: number; // 평균 기상시간 갭 (분)
gapVariability: number; // 갭 변동성 (표준편차)

// 일관성 메트릭
goalAdherenceConsistency: number; // 목표 준수 일관성 (0-1)
currentGoalStreak: number; // 현재 연속 달성 일수
longestGoalStreak: number; // 최장 연속 달성 일수
goalStreakTrend: 'improving' | 'declining' | 'stable';
}

4. 예측 알고리즘 개선

4.1 목표 달성률 기반 SOL 조정

/**
* 목표 달성률에 따른 SOL 예측 조정
*/
function adjustSOLByGoalAchievement(
basePrediction: number,
goalMetrics: SleepGoalPatternMetrics
): number {
let adjustment = 0;

// 1. 전체 목표 달성률 영향
if (goalMetrics.overallGoalAchievementRate >= 0.8) {
adjustment -= 8; // 높은 달성률: SOL -8분
} else if (goalMetrics.overallGoalAchievementRate <= 0.4) {
adjustment += 12; // 낮은 달성률: SOL +12분
}

// 2. 연속 달성일 영향
if (goalMetrics.currentGoalStreak >= 7) {
adjustment -= 5; // 1주 이상 연속: SOL -5분
} else if (goalMetrics.currentGoalStreak === 0) {
adjustment += 8; // 연속 중단: SOL +8분
}

// 3. 목표-실제 갭 영향
const averageGap = (goalMetrics.averageBedtimeGap + goalMetrics.averageWaketimeGap) / 2;
if (averageGap > 30) {
adjustment += Math.min(15, averageGap / 3); // 큰 갭: 최대 +15분
}

// 4. 일관성 영향
adjustment += (1 - goalMetrics.goalAdherenceConsistency) * 10; // 최대 +10분

return Math.max(0, Math.round(basePrediction + adjustment));
}

4.2 신뢰도 점수 조정

/**
* 수면 목표 관련 요소를 반영한 신뢰도 계산
*/
function calculateEnhancedConfidenceScore(
baseConfidence: number,
goalMetrics: SleepGoalPatternMetrics,
dataQuality: number
): number {
let confidenceAdjustment = 0;

// 목표 데이터 품질 보너스
if (goalMetrics.overallGoalAchievementRate > 0) {
confidenceAdjustment += 0.1; // 목표 데이터 존재 시 +0.1
}

// 높은 일관성 보너스
if (goalMetrics.goalAdherenceConsistency > 0.8) {
confidenceAdjustment += 0.15; // 높은 일관성: +0.15
}

// 연속 달성일 보너스
if (goalMetrics.currentGoalStreak >= 7) {
confidenceAdjustment += 0.1; // 1주 이상 연속: +0.1
}

// 높은 변동성 페널티
if (goalMetrics.gapVariability > 45) {
confidenceAdjustment -= 0.2; // 높은 갭 변동성: -0.2
}

return Math.max(0.3, Math.min(1.0, baseConfidence + confidenceAdjustment));
}

5. LLM 프롬프트 템플릿 업데이트

5.1 확장된 수면 패턴 분석 프롬프트

const ENHANCED_SLEEP_PATTERN_PROMPT = `
Analyze comprehensive sleep patterns for SOL prediction:

**Sleep Data (Last 7 days)**: {{recentSOL}}
**Pattern Metrics**:
- Average SOL: {{averageSOL}}min
- Variability: {{solVariability}}min
- Trend: {{trendDirection}}
- Sleep Debt Impact: {{sleepDebtImpact}}
- Circadian Alignment: {{circadianAlignment}}

**Sleep Goal Analysis** (NEW):
- Goal Achievement Rate: {{goalAchievementRate}}
- Bedtime Goal Success: {{bedtimeGoalSuccess}}
- Waketime Goal Success: {{waketimeGoalSuccess}}
- Goal Consistency: {{goalConsistency}}
- Average Goal Gap: {{averageGoalGap}}min
- Current Streak: {{goalStreak}} days

**Contextual Factors**:
- Seasonal factors: {{seasonalFactors}}
- Anomalies: {{anomalies}}
- Data quality: {{dataQualityScore}}

Provide structured response focusing on sleep goal impact:
1. SOL Score (0-120 min): [number]
2. Confidence (0.0-1.0): [number]
3. Goal Impact Analysis: [How goal adherence affects SOL]
4. Key Factors: [max 3 bullet points including goal-related factors]
5. Prediction Reasoning: [max 60 words emphasizing goal patterns]

Prioritize goal adherence patterns in your analysis.
`;

5.2 토론 프롬프트 업데이트

const GOAL_AWARE_DEBATE_PROMPT = `
**Sleep Pattern Expert Debate - Round {{roundNumber}}**

**My Analysis**: SOL {{mySOL}}min (confidence: {{myConfidence}})
- Goal Achievement Rate: {{myGoalRate}}
- Goal Impact Assessment: {{myGoalImpact}}

**Other Experts**:
{{otherAnalyses}}

**Goal-Related Disagreements**:
{{goalDisagreements}}

As sleep pattern specialist, defend or revise considering goal adherence:

**Response Format** (JSON):
{
"revisedSOL": number,
"revisedConfidence": number,
"goalImpactReasoning": "goal adherence impact explanation",
"counterArguments": ["goal pattern argument 1", "sleep pattern argument 2"],
"supportingEvidence": ["goal data evidence", "sleep pattern evidence"],
"finalStance": "maintain/revise",
"reasoning": "Combined goal and sleep pattern explanation (max 50 words)"
}

Focus on goal adherence vs natural sleep patterns balance.
`;

6. 핵심 요인 식별 확장

6.1 목표 관련 요인 추가

async function identifyEnhancedKeyFactors(
sleepMetrics: SleepPatternMetrics,
goalMetrics: SleepGoalPatternMetrics,
seasonalFactors: string[],
anomalies: string[]
): Promise<string[]> {
const factors: string[] = [];

// 기존 수면 패턴 요인들...

// 신규 수면 목표 관련 요인들
if (goalMetrics.overallGoalAchievementRate > 0.8) {
factors.push('Excellent goal adherence supports SOL stability');
} else if (goalMetrics.overallGoalAchievementRate < 0.4) {
factors.push('Poor goal adherence may increase SOL variability');
}

if (goalMetrics.currentGoalStreak >= 7) {
factors.push(`${goalMetrics.currentGoalStreak}-day goal streak indicates strong routine`);
} else if (goalMetrics.currentGoalStreak === 0) {
factors.push('Recent goal adherence break may disrupt sleep onset');
}

if (goalMetrics.averageBedtimeGap > 30 || goalMetrics.averageWaketimeGap > 30) {
factors.push(`Significant goal-actual gap (${Math.round(goalMetrics.averageBedtimeGap + goalMetrics.averageWaketimeGap)/2}min) impacts rhythm`);
}

if (goalMetrics.goalAdherenceConsistency < 0.5) {
factors.push('Inconsistent goal adherence disrupts circadian stability');
}

return factors.slice(0, 5); // 최대 5개 요인
}

7. 성능 지표 및 모니터링

7.1 예측 정확도 지표

  • 전체 예측 정확도: MAE, RMSE, ±15분 정확도
  • 목표 달성률별 정확도: 높은/낮은 달성률 그룹별 분석
  • 목표 일관성별 정확도: 일관성 높은/낮은 사용자 그룹별 분석
  • 갭 크기별 정확도: 목표-실제 갭 크기에 따른 예측 성능

7.2 분석 품질 지표

interface GoalAwareAnalysisMetrics {
// 기존 메트릭들...

// 신규 목표 관련 메트릭들
goalDataCoverageRate: number; // 목표 데이터 존재율
goalAnalysisConfidenceBoost: number; // 목표 분석으로 인한 신뢰도 증가
goalPatternRecognitionRate: number; // 목표 패턴 인식 정확도
goalImpactPredictionAccuracy: number; // 목표 영향 예측 정확도
}

8. 테스트 시나리오

8.1 목표 달성률 테스트 케이스

  1. 높은 목표 달성률 (>80%): SOL 감소 효과 검증
  2. 낮은 목표 달성률 (<40%): SOL 증가 효과 검증
  3. 연속 목표 달성 (7일+): SOL 안정성 증가 검증
  4. 목표 달성 중단: SOL 변동성 증가 검증

8.2 목표-실제 갭 테스트 케이스

  1. 큰 갭 (30분+): SOL 증가 예측 검증
  2. 작은 갭 (<15분): SOL 안정성 검증
  3. 갭 변동성 높음: 예측 신뢰도 감소 검증
  4. 갭 일관성 높음: 예측 정확도 증가 검증

9. 배포 및 롤아웃 계획

9.1 단계적 배포

  1. Phase 1: 기존 분석 + 목표 데이터 수집 (신뢰도 변경 없음)
  2. Phase 2: 목표 기반 SOL 조정 활성화 (A/B 테스트)
  3. Phase 3: 목표 기반 신뢰도 조정 활성화
  4. Phase 4: 완전 통합 및 모니터링

9.2 성공 지표

  • 전체 SOL 예측 정확도 10% 이상 향상
  • 목표 달성률 높은 사용자군에서 15% 이상 정확도 향상
  • 예측 신뢰도 점수 평균 0.1 이상 증가

10. 변경 이력

버전날짜작성자변경 내용
1.0.02025-08-31bok@weltcorp.com최초 작성 (기본 수면 패턴 분석 명세)
2.0.02025-09-08bok@weltcorp.com수면 목표 달성률 분석 기능 추가 - 목표 메트릭, 예측 알고리즘 개선, LLM 프롬프트 업데이트, 테스트 시나리오 정의