diff --git a/ideas/250809_로빙_스탯_설계_원칙.md b/ideas/250809_로빙_스탯_설계_원칙.md new file mode 100644 index 0000000..1c4cd9f --- /dev/null +++ b/ideas/250809_로빙_스탯_설계_원칙.md @@ -0,0 +1,88 @@ +--- +tags: [로빙, 스탯, 설계, 경험치, 성장, 동적조정, A/B테스트] +date: 2025-08-09 +date modified: 2025-08-09 +--- +# 로빙 스탯 상세 설계 원칙 + +로빙의 스탯 시스템은 하드코딩된 규칙을 탈피하여, 실제 수행 능력과 직접 연동되고 데이터 기반으로 자동 성장하는 동적 시스템을 목표로 한다. 모든 파라미터는 관측 가능한 지표로부터 학습 및 조정된다. + +## 1. 기본 스탯 축: 정의와 성장 지표 + +4+1 구조를 유지하며, 각 스탯의 성장과 경험치(XP) 획득을 위한 구체적인 계량 지표를 정의한다. + +| 스탯 (Stat) | 의미 (Meaning) | 실제 영향 (Actual Impact) | 주요 성장 지표 (Growth Metrics) | +| :--- | :--- | :--- | :--- | +| **기억 (Memory)** | 정보의 저장, 검색, 활용 능력 | 벡터 DB 용량, TTL, 검색 정확도, 회상 컨텍스트 길이 | 회상 정확도(Precision), 회상률(Recall), 컨텍스트 적합도 | +| **연산 (Compute)** | 데이터 처리 및 논리적 추론 능력 | LLM 모델 레벨, 병렬 작업 수, 분석 깊이, 스킬 복잡도 | 태스크 성공률, 토큰 효율성, 응답 시간 단축률 | +| **공감 (Empathy)** | 사용자 의도 및 감정 파악 능력 | 감정 벡터 정밀도, 어투/톤 자동 조정, 사용자 만족도 | 감정 예측 정확도, 사용자 긍정 피드백 비율 | +| **통솔 (Leadership)** | 복합 태스크 관리 및 위임 능력 | 멀티스킬 조합, 워크플로 자동 생성 및 관리 | 워크플로 성공률, 멀티 에이전트 협업 성공률 | +| **윤리 (Ethics)** | 안전 및 리스크 통제 능력 | 민감 정보 필터링 강도, 자율 행동 허용 범위 | 민감정보(PII) 필터링 성공률, 위험 행동 개입률 | + +### 성장 지표의 수식화 +- **컨텍스트 적합도 (Contextual Relevance)**: 현재 질문(`q`)과 회상된 기억(`m`)의 평균 의미 유사도 + $ \text{Relevance} = \frac{1}{N} \sum_{i=1}^{N} \cos(\text{embedding}(q), \text{embedding}(m_i)) $ +- **토큰 효율성 (Token Efficiency)**: 불필요한 입력을 줄이고 유의미한 출력을 늘리는 능력 + $ \text{Efficiency} = \frac{\text{Useful Output Tokens}}{\text{Total Input Tokens}} $ +- **감정 예측 정확도 (Emotion Accuracy)**: 예측된 감정 확률(`p`)과 실제 사용자 피드백(`y`) 간의 차이를 측정 (Brier Score) + $ \text{Brier Score} = \frac{1}{N} \sum_{i=1}^{N} (p_i - y_i)^2 $ + +## 2. 경험치(XP) 획득 및 성장 규칙 + +XP는 단순 행동 카운트가 아닌, "예측의 질"과 "실제 성능 기여도"를 결합한 동적 점수로 계산한다. + +### 2.1. 핵심 경험치(XP) 공식 +$ \text{XP} = \text{BaseScore} \times \text{Impact} \times \text{Novelty} \times \text{ConfidenceAdj} \times \text{Diminish} $ +- **BaseScore**: 예측이 얼마나 '정확'했는가 (Proper Scoring Rule 사용) +- **Impact**: 해당 예측/행동이 실제 성능에 얼마나 '영향'을 주었는가 +- **Novelty**: 얼마나 '새로운' 문제나 정보를 다루었는가 +- **ConfidenceAdj**: 자신의 예측 '확신도'가 얼마나 잘 보정되었는가 +- **Diminish**: 반복 행동에 대한 '체감 효용'을 반영했는가 + +### 2.2. XP 구성요소 상세 정의 +- **BaseScore (프로퍼 스코어링 규칙)**: 정직한 확률 예측을 유도. + - **로그 스코어 (Log Score)**: `S_log = y·log(p) + (1−y)·log(1−p)` (이진 분류) + - **브리어 점수 (Brier Score)**: `S_brier = −(p−y)²` (오차 제곱) + +- **Impact (영향도)**: 예측 전후의 성능 변화량(Uplift)으로 측정. + $ \text{Impact} = (\text{Metric}_{\text{after}} - \text{Metric}_{\text{before}}) $ + +- **Novelty (신규성)**: 과거 지식 분포(`P_old`)와 현재 정보(`P_new`) 간의 차이(KL Divergence)로 측정. + $ \text{Novelty} = D_{KL}(P_{\text{new}} || P_{\text{old}}) $ + +- **Diminish (체감효과)**: 동일 유형의 연속 성공 시 XP를 점진적으로 감소. + $ \text{Diminish} = \frac{1}{1 + k \cdot \text{streak}} $ + (k: 감소 계수, streak: 연속 성공 횟수) + +### 2.3. 레벨업과 스탯 분배 +- **레벨업**: 누적 XP가 동적으로 설정된 임계값을 초과할 때 발생. 임계값은 고정 수치가 아니라, 최근 30일간의 평균 성능이 기준선을 넘는 기간과 폭에 비례해 자동 산정. +- **자율 스탯 분배**: 레벨업 시 주어지는 포인트를 각 스탯별 누적 XP 기여도에 비례하여 자동 분배. + $ \text{Points}_{\text{stat}_i} = \text{TotalPoints} \times \frac{\sum \text{XP}_{\text{stat}_i}}{\sum \text{XP}_{\text{total}}} $ + +## 3. 동적 조정 및 A/B 검증 메커니즘 + +시스템의 모든 규칙과 임계값은 정적이지 않으며, 지속적인 데이터 분석과 실험을 통해 자동 튜닝된다. + +### 3.1. 적응형 임계값 (Adaptive Thresholding) +기억 삽입/삭제, 스킬 발동 조건 등의 임계값을 고정하지 않고, 최근 데이터 분포의 통계량을 활용해 실시간으로 재계산한다. +$ \text{Threshold}_t = \text{EWMA}(\text{scores}) + c \cdot \text{StDev}(\text{scores}) $ +- `EWMA`: 지수 가중 이동 평균 (최신 데이터에 높은 가중치) +- `StDev`: 표준편차 (데이터 변동성 반영) +- `c`: 시스템의 보수성/공격성을 조절하는 계수 + +### 3.2. 베이지안 파라미터 갱신 +스킬 성공률, XP 가중치 등 시스템의 모든 내부 파라미터(가설, `H`)를 사전 확률 `P(H)`로 정의하고, 새로운 데이터(증거, `E`)가 관측될 때마다 사후 확률 `P(H|E)`로 업데이트한다. +$ P(H|E) \propto P(E|H) \cdot P(H) $ +이를 통해 작은 데이터로도 점진적이고 안정적인 학습이 가능하다. + +### 3.3. 정책 A/B 검증 +새로운 로직(예: 기억 회상 알고리즘 B)이 기존 로직(A)보다 우수한지 객관적으로 검증한다. +- **실험 단위**: 사용자나 채널이 아닌, '대화 스레드' 단위로 정책 A/B를 랜덤 할당하여 교란 효과를 최소화한다. +- **핵심 지표**: 사용자 재작업률(감소 목표), 태스크 성공률(증가 목표), 응답 품질 점수 등을 추적한다. +- **통계 방식**: 고정 샘플 크기 대신, 베이지안 A/B 테스트나 순차검정(SPRT)을 도입하여 더 빠른 의사결정을 내리고, 효과가 미미하면 조기 종료한다. +- **밴딧으로의 전환**: A/B 테스트로 승리한 정책은 다음 주부터 멀티 암드 밴딧(Multi-Armed Bandit)으로 전환하여, 효과가 좋은 정책에 트래픽을 동적으로 할당하며 지속적으로 최적화한다. + +## 4. 적용 원칙 +- **스탯-스킬 상호의존성**: 스탯은 단순한 조건 체크를 넘어, 스킬 함수의 동작 자체에 영향을 준다. (예: `analyze_data(level=ComputeStat)`) +- **테스트 가능한 함수형 코어**: 모든 계산 로직(XP, 임계값 등)은 외부 상태에 의존하지 않는 순수 함수로 작성하여 결정성과 재현성을 보장한다. +- **의미 있는 성장**: 레벨과 스탯의 성장은 추상적인 숫자가 아니라, 로빙의 자율성, 처리 가능한 태스크의 복잡도, 허용되는 권한 범위의 확장과 같은 구체적인 변화로 이어진.