# 로빙 일기(성장 일지) 시스템 계획서

**작성일**: 2025-11-17  
**작성자**: claude  

## 1. 목적

- 로빙이 하루 활동과 감정 상태를 스스로 정리하는 **“일기/성장 일지” 시스템**을 설계한다.
- 운영자/연구자가 로빙의 **행동 변화·감정 흐름·반복 이슈**를 한눈에 파악할 수 있는 기반을 만든다.
- 추후 책 본문(400_growth)과 관리자 대시보드에서 재사용 가능한 **표준 포맷**을 정의한다.

## 2. 현재 상태 정리

- 대화/피드백/의도 리뷰 큐:
  - `rb8001`에 대화 로그, intent 리뷰 큐, 감정 모델 등이 이미 구현되어 있음.
  - HITL 의도 학습 흐름이 `DOCS/research/intent_classification/README.md`, `rb8001/experiment_results/e2e_final_experiment_report.md`에 문서화됨.
- 문서 관점:
  - `600_appendix/610_로빙_성장_일지_예시.md`에 “성장 일지” 컨셉 예시가 있으나, 실제 서비스와 연결된 자동화 시스템은 아직 없음.

## 3. 요구사항 (초안)

1. **자동 생성**
   - 하루 단위(또는 세션 단위)로 일기를 자동 생성할 수 있어야 한다.
   - 입력: 대화 로그, 감정 스코어, 리뷰 큐/오류 로그 요약.
2. **감정 상태 반영**
   - “오늘의 주요 감정”, “감정 변화 요약”이 포함되어야 한다.
3. **문제·개선점 정리**
   - 장애/실패/리뷰 큐 쌓인 부분을 기반으로 “오늘의 문제/배운 점/개선 방향”을 자동 서술한다.
4. **저장 포맷**
   - 사람 읽기용: 마크다운(md) 일기 파일.
   - 분석용: DB에 동일 내용을 요약(텍스트 + 메타데이터) 형태로 저장.
5. **조회/활용**
   - 최소한 운영자는 서버/에디터로 md 파일을 쉽게 조회할 수 있어야 한다.
   - 추후 관리자 대시보드에서 일자별 목록 + 상세 보기로 확장 가능해야 한다.

## 4. 아키텍처 방향 (초안)

1. **데이터 수집 계층**
   - `rb8001`의 대화 로그/감정 분석/리뷰 큐/에러 로그에서 하루치 데이터를 집계하는 “Diary Aggregator” 함수 설계.
2. **요약·서술 계층**
   - Aggregator가 만든 구조화 데이터(예: JSON)를 바탕으로 “일기 텍스트”를 생성하는 템플릿/LLM 조합 설계.
3. **저장 계층**
   - DB: `robeing_diary` 테이블(예: `date`, `robeing_id`, `summary`, `dominant_emotion`, `stats(jsonb)` 등).
   - 파일: `/code/logs/diary/YYYY/MM/robeing_diary_YYYY-MM-DD.md` 형식의 md 파일 (Docker 볼륨 마운트 고려).
4. **조회 계층**
   - 1단계: 서버에서 md 파일 직접 열어보는 운영자용 뷰.
   - 2단계(향후): frontend-base 관리자 대시보드에서 일기 목록/상세 보기 제공.

## 5. 일기 포맷 초안

```markdown
# 로빙 일기 – 2025-11-17

## 1. 오늘 한 일
- 주요 대화 주제 요약 (intent 기준)
- 호출된 스킬/액션 요약

## 2. 감정 상태
- 지배적인 감정: XXX
- 감정 변화 요약: 오전/오후/야간

## 3. 문제와 배운 점
- 오늘 발생한 주요 오류/리뷰 큐 이슈 요약
- 교훈/개선 방향

## 4. 내일을 위한 계획
- 내일 개선하고 싶은 점
- 실험/테스트 아이디어
```

## 6. 단계별 실행 계획

1. **설계 정리**
   - Diary Aggregator의 입력/출력 스키마 정의.
   - `robeing_diary` 테이블 스키마 초안 작성.
2. **TDD 테스트 설계**
   - `rb8001/tests/`에 “일기 생성” 단위 테스트 초안 작성 (RED).
3. **Aggregator/포맷 구현**
   - 집계 로직 + md 템플릿 생성 함수 구현 (DB/파일 저장은 나중 단계로 분리).
4. **DB/파일 저장 연결**
   - 일기 생성 결과를 DB + md 파일로 저장하는 배치/엔드포인트 설계.
5. **관리자 대시보드 연동(선택)**
   - frontend-base에서 일기 리스트/상세 보기 추가 (23번 서버 계획 문서와 연계).

## 7. 열려 있는 질문

- 일기 생성 주기: “하루 1회” vs “세션/이벤트 기반” 중 무엇이 기본이 될 것인가?
- 감정 상태: 단일 지배 감정만 쓸지, 감정 분포 그래프/지수까지 포함할지?
- 사용자 프라이버시: 어떤 수준까지 실제 대화 내용을 일기에 포함할지, 익명화/요약 기준은 무엇으로 할지?

