docs: 로빙 일기 시스템 계획 상세화
- activity_log 테이블 추가 (스킬 실행 자동 기록) - 생성 시간 오전 2시/3시로 변경 - DB만 저장 + API 동적 생성 방식으로 변경 - 관리자 대시보드 상세 추가 - 전날 00:00~23:59:59 시간 범위 명시 - 모든 활동 기록 목적 명확화
This commit is contained in:
parent
2c8cf707d2
commit
98af2b019b
@ -27,31 +27,44 @@
|
|||||||
|
|
||||||
## 요구사항
|
## 요구사항
|
||||||
|
|
||||||
1. **자동 생성**: 하루/세션 단위 자동 일기 생성
|
1. **자동 생성**: 매일 오전 2시 또는 3시에 전날(00:00~23:59:59) 일기 자동 생성
|
||||||
2. **감정 반영**: 주요 감정, 감정 변화 요약
|
2. **모든 활동 기록**: 사용자 대화, 자동 스킬 실행(이메일 요약, 뉴스 게시, 브리핑 등), 스케줄러 작업, 에러/경고 로그 포함
|
||||||
3. **문제 정리**: 장애/실패/리뷰 큐 기반 "배운 점" 서술
|
3. **감정 반영**: 주요 감정, 감정 변화 요약
|
||||||
4. **저장**: 마크다운 파일 + DB (robeing_diary 테이블)
|
4. **문제 정리**: 장애/실패/리뷰 큐 기반 "배운 점" 서술
|
||||||
5. **조회**: 운영자 md 파일 조회, 향후 대시보드 확장
|
5. **저장**: DB만 저장 (robeing_diary 테이블), 조회 시 API로 마크다운 동적 생성
|
||||||
|
6. **조회**: 관리자 대시보드 일기 목록/상세 페이지, 선택적으로 DOCS 동기화
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 아키텍처
|
## 아키텍처
|
||||||
|
|
||||||
### 1. 데이터 수집
|
### 1. 데이터 수집
|
||||||
- rb8001의 대화/감정/리뷰 큐/에러 로그 집계
|
- **대화 데이터**: `conversation_log` (사용자 대화, intent, confidence)
|
||||||
- Diary Aggregator 함수
|
- **활동 데이터**: `activity_log` (자동 스킬 실행: 이메일 요약, 뉴스 게시, 브리핑 등)
|
||||||
|
- **감정 데이터**: `emotion_readings` (감정 변화, 지배적 감정, 엔트로피)
|
||||||
|
- **성장 데이터**: `robeing` 테이블 (스탯, 경험치, 레벨업)
|
||||||
|
- **문제 데이터**: `intent_review_queue` (리뷰 이슈), 애플리케이션 로그 (ERROR/WARNING)
|
||||||
|
- **시간 범위**: 전날 00:00:00 ~ 23:59:59
|
||||||
|
- **Diary Aggregator 함수**: 모든 데이터 집계
|
||||||
|
|
||||||
### 2. 요약·서술
|
### 2. 활동 로그 기록
|
||||||
|
- 스킬 실행 시 자동으로 `activity_log` 테이블에 기록 (스킬명, 실행 시간, 결과, 에러 발생 여부)
|
||||||
|
- 모든 로빙 활동을 추적하여 일기 집계에 포함
|
||||||
|
|
||||||
|
### 3. 요약·서술
|
||||||
- 구조화 데이터(JSON) → 일기 텍스트
|
- 구조화 데이터(JSON) → 일기 텍스트
|
||||||
- 템플릿 + LLM 조합
|
- 템플릿 + LLM 조합
|
||||||
|
- 섹션: "오늘 한 일", "감정 상태", "문제와 배운 점", "내일 계획"
|
||||||
|
|
||||||
### 3. 저장
|
### 4. 저장
|
||||||
- **DB**: `robeing_diary(date, robeing_id, summary, dominant_emotion, stats JSONB)`
|
- **DB**: `robeing_diary(date, robeing_id, summary, dominant_emotion, stats JSONB, full_content TEXT)`
|
||||||
- **파일**: `DOCS/journey/diary/rb8001/yymmdd_오늘주제.md` (예: `251209_오늘의_성장.md`)
|
- **파일**: 저장하지 않음 (API로 동적 생성)
|
||||||
|
- **로빙별 구분**: `robeing_id` 컬럼으로 각 로빙별 일기 관리
|
||||||
|
|
||||||
### 4. 조회
|
### 5. 조회
|
||||||
- 1단계: 서버에서 md 파일 직접 조회
|
- **API**: rb8001에 `/api/diary/{date}` 엔드포인트 추가 (DB 조회 후 마크다운 동적 생성)
|
||||||
- 2단계: 관리자 대시보드 일기 목록/상세 보기
|
- **관리자 대시보드**: admin-dashboard에 일기 목록/상세 페이지 추가
|
||||||
|
- **DOCS 동기화**: 선택적으로 별도 스크립트로 `DOCS/journey/diary/rb8001/yymmdd_주제.md`에 주기적 동기화
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -77,11 +90,14 @@
|
|||||||
|
|
||||||
## 구현 단계
|
## 구현 단계
|
||||||
|
|
||||||
1. Diary Aggregator 스키마 정의
|
1. **DB 테이블 생성**: `robeing_diary` 테이블, `activity_log` 테이블 생성
|
||||||
2. TDD 테스트 작성
|
2. **활동 로그 기록**: 스킬 실행 시 `activity_log`에 자동 기록 로직 추가
|
||||||
3. 집계 로직 + md 템플릿 구현
|
3. **Diary Aggregator 구현**: 모든 데이터 소스 집계 로직 구현
|
||||||
4. DB/파일 저장 연결
|
4. **일기 생성 로직**: LLM으로 일기 텍스트 생성, `robeing_diary`에 저장
|
||||||
5. 스케줄러 등록 (매일 자정)
|
5. **API 엔드포인트**: rb8001에 `/api/diary/{date}` 추가 (마크다운 동적 생성)
|
||||||
|
6. **관리자 대시보드**: admin-dashboard에 일기 목록/상세 페이지 추가
|
||||||
|
7. **스케줄러 등록**: 매일 오전 2시 또는 3시에 전날 일기 생성
|
||||||
|
8. **DOCS 동기화 스크립트**: 선택적으로 별도 스크립트로 DOCS 동기화
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user