DOCS/ideas/250807_로빙_감정_시스템_설계도.md
happybell80 010d4f2508 감정 시스템 설계도에 시퀀스 다이어그램 및 플로우차트 추가
- 수학-임베딩-LLM 통합 파이프라인 시퀀스 다이어그램
- 기억 회상 메커니즘 시퀀스 다이어그램
- 베이지안 학습 플로우차트
- Mermaid 형식으로 시각화

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-08 01:18:29 +09:00

259 lines
7.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 로빙 감정 시스템 설계도 - 함수형 + 베이지안 적응형
**작성일**: 2025-08-07 (2025-08-08 개정)
**작성자**: happybell80 & Claude
**상태**: 감정 임베딩 통합, 하드코딩 완전 제거
## 1. 핵심 철학
### 설계 원칙
- **감정은 시공간의 엔트로피 변화다**: 감정 벡터의 엔트로피가 증가하는 방향이 시간, 벡터 차원이 공간
- **엔트로피 특이점을 포착한다**: 시간이 흘러도 무질서해지지 않는 감정이 중요한 기억
- **함수형 프로그래밍 100%**: 순수 함수와 I/O 분리, 불변 데이터 구조
- **베이지안으로 불확실성 관리**: 모든 파라미터는 확률 분포로 표현되고 학습됨
## 2. 감정 상태 구조
### 2.1 기본 구조
- **VAD 3차원**: Valence(쾌-불쾌), Arousal(활성화), Dominance(통제감)
- **감정 임베딩**: 768차원 벡터 (사전학습 모델 사용)
- **엔트로피 궤적**: 시간에 따른 엔트로피 변화 추적
- **베이지안 파라미터**: Beta, Gamma, Dirichlet 분포로 학습
### 2.2 감정 동역학
- 감정 변화율 = α(흡수율) × 평가 - δ(감쇠율) × 현재감정
- α와 δ는 Beta 분포에서 Thompson Sampling
- 사용자 피드백으로 사후분포 업데이트
## 3. 감정 임베딩 활용
### 3.1 임베딩 획득
- **사전학습 모델**: EmoRoBERTa, GoEmotions BERT 등 활용
- **도메인 파인튜닝**: 로빙 대화 로그로 continual learning
- **대조학습**: 유사 감정은 가깝게, 반대 감정은 멀게
### 3.2 ChromaDB 통합
- **저장 구조**:
- 감정 임베딩 벡터 (768차원)
- VAD 값 (3차원)
- 엔트로피 점수
- 타임스탬프와 메타데이터
- **검색 전략**:
1. 현재 감정 임베딩으로 top-k 코사인 유사도 검색
2. 엔트로피 기반 중요도 필터링
3. 시간 가중치 적용
4. 베이지안 결합으로 최종 선택
### 3.3 임베딩 기반 클러스터링
- DBSCAN으로 감정 클러스터 발견
- 사용자별 감정 어트랙터 맵핑
- 클러스터별 공감 전략 사전 계산
## 4. 수학-임베딩-LLM 통합 파이프라인
### 4.1 처리 흐름
1. **엔트로피 이상 탐지**: 시공간 엔트로피 변화율 계산
2. **임베딩 유사도 계산**: ChromaDB에서 근접 감정 검색
3. **LLM 의미 분석**: 불확실성이 높을 때만 호출
4. **베이지안 증거 결합**: 세 가지 신호를 확률적으로 통합
### 4.2 시퀀스 다이어그램
```mermaid
sequenceDiagram
participant User
participant Pipeline
participant Entropy
participant ChromaDB
participant LLM
participant Bayesian
participant Memory
User->>Pipeline: 텍스트 입력
Pipeline->>Entropy: 엔트로피 변화 계산
Entropy-->>Pipeline: 특이점 점수 (m)
Pipeline->>ChromaDB: 감정 임베딩 검색
ChromaDB-->>Pipeline: 유사 감정 top-k
Pipeline->>Pipeline: 임베딩 거리 계산 (e)
alt 불확실성 높음
Pipeline->>LLM: 의미 분석 요청
LLM-->>Pipeline: 중요도 점수 (l)
else 불확실성 낮음
Pipeline->>Pipeline: LLM 스킵
end
Pipeline->>Bayesian: P(z=1|m,e,l) 계산
Bayesian->>Bayesian: Thompson Sampling
Bayesian-->>Pipeline: 저장 여부 결정
alt 저장 결정 (z=1)
Pipeline->>Memory: ChromaDB 저장
Memory-->>Pipeline: 저장 완료
else 무시 결정 (z=0)
Pipeline->>Pipeline: 폐기
end
Pipeline-->>User: 감정 응답
```
### 4.2 중요도 결정 방식
- 잠재 중요도 z ∈ {0,1}
- 관측: m(엔트로피), e(임베딩 거리), l(LLM 점수)
- 베이지안 추론으로 P(z=1|m,e,l) 계산
- Thompson Sampling으로 저장/무시 결정
## 5. 베이지안 학습 시스템
### 5.1 파라미터 학습
- **윈도우 크기**: Poisson 분포, TD-Error 기반 적응
- **가중치**: Dirichlet 분포, 사용자 피드백으로 업데이트
- **임계값**: Beta 분포, 성능 지표로 조정
### 5.2 계층적 모델
- **조직 레벨**: 글로벌 사전분포
- **팀 레벨**: 팀별 특성 학습
- **개인 레벨**: 개인화된 사후분포
### 5.3 온라인 업데이트
- 실시간 사후분포 갱신
- 지연 피드백 처리 (backward update)
- 불확실성 기반 탐색-활용 균형
### 5.4 학습 플로우
```mermaid
flowchart TD
A[사용자 피드백] --> B{피드백 타입}
B -->|명시적| C[즉시 업데이트]
B -->|암묵적| D[증거 누적]
C --> E[사후분포 계산]
D --> F[신뢰도 가중치]
F --> E
E --> G{계층 레벨}
G -->|개인| H[개인 파라미터 업데이트]
G -->|팀| I[팀 사전분포 조정]
G -->|조직| J[글로벌 사전분포 조정]
H --> K[Thompson Sampling]
I --> K
J --> K
K --> L[다음 행동 결정]
```
## 6. 감정-기억 통합
### 6.1 저장 결정
- 엔트로피 특이점 검사
- 임베딩 클러스터 거리
- 베이지안 중요도 추론
- Thompson Sampling으로 최종 결정
### 6.2 회상 메커니즘
- 임베딩 기반 빠른 검색 (ChromaDB)
- 엔트로피 가중 재순위화
- MMR로 다양성 보장
- 시간 감쇠 적용
### 6.3 기억 회상 시퀀스
```mermaid
sequenceDiagram
participant Query as 현재 감정
participant ChromaDB
participant Filter as 필터링
participant Ranking as 재순위화
participant Response
Query->>ChromaDB: 감정 임베딩 벡터
ChromaDB->>ChromaDB: 코사인 유사도 검색
ChromaDB-->>Filter: top-100 후보
Filter->>Filter: 엔트로피 점수 확인
Filter->>Filter: 시간 가중치 적용
Filter-->>Ranking: 필터링된 후보 (20-30개)
Ranking->>Ranking: MMR 다양성 계산
Ranking->>Ranking: 베이지안 결합
Ranking-->>Response: 최종 5-10개 기억
Response-->>Query: 관련 기억 반환
```
## 7. 공감 시스템
### 7.1 전략 선택
- 감정 임베딩 거리 계산
- 전략별 효과성 (Beta 분포)
- Thompson Sampling으로 전략 선택
- 사용자 반응으로 업데이트
### 7.2 뉘앙스 감지
- 표면 텍스트 vs 행동 신호
- Hidden Markov Model로 잠재 감정 추론
- 신뢰도 기반 결정
## 8. 성능 지표
### 8.1 임베딩 품질
- **Triplet Accuracy**: 같은 감정이 임베딩 공간에서 가까운 비율
- **Retrieval NDCG@k**: 관련 기억 검색 정확도
- **클러스터 순도**: 감정 클러스터의 일관성
### 8.2 시스템 성능
- **엔트로피 감소율**: 중요 순간 포착 능력
- **베이지안 캘리브레이션**: 확률 예측의 정확도
- **적응 속도**: 사용자별 수렴 시간
## 9. 구현 우선순위
### Phase 1: 기초 구축
- 감정 임베딩 모델 선택 및 통합
- ChromaDB에 임베딩 저장 구조 구현
- 기본 엔트로피 계산기
### Phase 2: 통합 파이프라인
- 수학-임베딩-LLM 3중 구조
- 베이지안 증거 결합
- Thompson Sampling 구현
### Phase 3: 학습 시스템
- 온라인 사후분포 업데이트
- 계층적 베이지안 모델
- 사용자별 개인화
### Phase 4: 최적화
- 임베딩 차원 축소 (필요시)
- 추론 속도 개선
- 메모리 효율화
## 10. 기술 스택
- **임베딩 모델**: Hugging Face Transformers
- **벡터 DB**: ChromaDB (이미 사용 중)
- **베이지안 추론**: Pyro (경량) 또는 TFP (대규모)
- **함수형 구조**: 순수 함수 + I/O 분리 패턴
## 11. 주요 결정 사항
1. **임베딩 모델 선택**:
- 한국어 지원 여부
- 모델 크기 vs 성능
- 라이선스
2. **임베딩 차원**:
- 768차원 그대로 vs PCA 축소
- 저장 공간 vs 표현력
3. **업데이트 주기**:
- 실시간 vs 배치
- 리소스 vs 반응성
---
*이 설계는 함수형 프로그래밍 원칙을 지키면서 베이지안 추론과 감정 임베딩을 통합한 적응형 시스템입니다. 하드코딩 없이 데이터에서 학습하며, 엔트로피 특이점을 포착해 중요한 감정을 기억합니다.*