7.0 KiB
7.0 KiB
260303 자기개선 루프 구현을 위한 DB/서비스 리서치
목적
- 로빙의
자기개선 루프(예측-행동-평가-반성)를 실제 서비스에 붙이기 위한 현재 자산(DB/서비스/코드)을 정리한다. - 이미 운영 중인 컴포넌트를 재사용해 최소 변경으로 구현 가능한 경로를 제시한다.
요약 결론
rb8001은 이미 피드백/평가/리뷰 큐를 갖고 있어 루프의평가와반성입력 데이터가 존재한다.robeing-monitor는 상태/로그를 저장하지만 설정 테이블(robeing_settings)이 미구현(TODO)이라 정책 버전 관리 계층이 비어 있다.robeing-gateway는 모니터 서비스 프록시 경로가 있어 루프 지표를 프론트에 노출하기 좋은 진입점을 이미 보유한다.
외부 서비스에서의 자기개선 루프 패턴
OpenAI (Evals 중심)
- 핵심 패턴:
로그 수집 -> task-specific eval -> human calibration -> continuous eval - 포인트:
- 정량 점수만 보지 않고 인간 평가와 결합
- 변경마다 지속 평가(CE)로 데이터셋을 확장
- 참고:
LangSmith (운영 리뷰 큐 중심)
- 핵심 패턴:
실행 트레이스 -> annotation queue -> human/LLM/heuristic 평가 -> 개선 반영 - 포인트:
- 런(run) 단위 리뷰 할당
- 품질 피드백을 워크플로 단계별로 붙여 운영
- 참고:
Arize Phoenix (관측/평가 일체형)
- 핵심 패턴:
OTEL 추적 -> LLM-as-judge eval -> human feedback 결합 -> dataset 실험 - 포인트:
- 오픈소스/벤더 중립형 관측
- 평가 템플릿 + 커스텀 평가자 + 설명 가능한 평가 로그
- 참고:
robeing-monitor 존재 여부
- 로컬 워크스페이스에서
ivada/robeing-monitor폴더 존재 확인 완료 - 상태: 이미 존재함(추가 clone 불필요)
- 원격 참고: robeing-monitor
현재 DB/서비스 자산
1) rb8001 (루프 데이터의 핵심 소스)
- 피드백 수집 엔드포인트:
app/router/feedback_endpoint.pyPOST /api/feedback/chat
- 리뷰 큐 테이블(의도 예측/정답/상태):
app/models/intent_review_model.py- 핵심 컬럼:
predicted_intent,predicted_confidence,user_feedback,status,true_intent
- 리뷰 큐 처리/통계:
app/state/intent_review_repository.py- 상태 전이:
pending -> confirmed/corrected
- IR 평가 + 피드백(학습용 데이터셋):
app/state/ir_valuation_repository.py- 테이블:
ir_deck_evaluations,ir_deck_page_evaluations,ir_deck_feedback
- 감정 예측 평가 함수:
app/core/emotion/bayesian.py- 함수:
evaluate_prediction(),should_update()
- 일기 집계에서 피드백 루프 추출:
2) robeing-monitor (상태 저장/조회 허브)
- 개요 및 API:
README.md- 상태 조회/업데이트, 로그 저장, 모니터링 API
- DB 모델:
app/state/database.py- 테이블:
robeing,conversation_log - 주석/TODO:
robeing_settings테이블 미구현
- 상태 서비스:
3) robeing-gateway (노출 계층)
- 모니터 프록시/설정:
- 의미:
- 루프 지표 API를 monitor에 추가하면 gateway를 통해 프론트로 안전하게 전달 가능
자기개선 루프 관점 매핑
예측 (Predict)
- 출처: 의도 분류 결과, 감정 예측 분포
- 저장 지점:
intent_review_queue.predicted_*, 감정 예측 결과
행동 (Act)
- 출처: rb8001의 응답/워크플로 실행, 스킬 호출
- 저장 지점:
conversation_log,activity_log(rb8001 내부 집계에서 사용)
평가 (Evaluate)
- 출처:
user_feedback,true_intent, IR 등급 피드백, 감정 예측 오차 - 저장 지점:
intent_review_queue,ir_deck_feedback, 감정 평가 함수 출력
반성 (Reflect)
- 현재: 부분 구현(리뷰큐 상태 전이, 일부 재학습 흐름)
- 부족: 정책 버전/실험 버전/롤백 이력을 구조적으로 남기는 저장소 부재
구현 시 필요한 최소 추가 설계
A. 정책 버전 저장소(필수)
- 위치 권장:
robeing-monitorDB - 신규 테이블 제안:
robeing_policy_versions- 컬럼 예:
id,robeing_id,policy_type,version,config_json,created_at,is_active
B. 루프 실행 로그(필수)
- 신규 테이블 제안:
robeing_self_improvement_runs- 컬럼 예:
run_id,robeing_id,predict_snapshot,action_summary,evaluation_metrics,reflection_notes,created_at
C. 평가 지표 표준화(필수)
- 공통 지표 키를 고정:
- intent:
accuracy,f1,correction_rate - feedback:
up_ratio,down_ratio - emotion:
kl_divergence,brier_score,entropy_diff
- intent:
우선 실행 순서 (현실적)
rb8001에서 루프 관련 결과를 JSON 스냅샷으로 일단 저장(테이블 추가 전 임시 단계).robeing-monitor에 정책 버전/루프 실행 테이블 추가.robeing-gateway로 루프 대시보드 API 프록시 연결.- 주간 단위로
정책 업데이트 -> 롤백 가능성 검증운영 절차 고정.