Skip to content

Latest commit

 

History

History
198 lines (131 loc) · 6.83 KB

File metadata and controls

198 lines (131 loc) · 6.83 KB

회고 RAG 문서 초안

1. 개요

회고 RAG는 사용자의 현재 회고 발화를 더 정확하게 이해하고, 이전 회고 맥락과 연결된 더 자연스러운 후속 질문을 생성하기 위한 구조다.

이 RAG는 단순히 과거 문장을 다시 가져오는 기능이 아니라, 회고를 더 깊고 일관되게 이어가기 위한 문맥 기반 회고 보조 시스템을 목표로 한다.

2. 목표

회고 RAG의 목표는 다음과 같다.

  • 현재 회고 발화를 더 정확하게 해석한다.
  • 이전 회고 맥락을 바탕으로 더 자연스러운 후속 질문을 만든다.
  • 회고를 단발성 대화가 아니라 누적되는 경험으로 확장한다.
  • 사용자의 회고 패턴과 반복되는 고민을 더 잘 포착한다.

3. 적용 원칙

  • 회고 원문은 전체 저장한다.
  • 저장된 회고는 전체 보관한다.
  • 과거 세션 회고는 분석에 우선 반영한다.
  • 실시간 후속 질문은 현재 세션의 흐름을 우선한다.
  • 질문은 회고 평가처럼 들리지 않도록 자연스러운 대화 형태를 유지한다.

4. 전체 구조

회고 RAG의 기본 흐름은 아래와 같다.

  1. 사용자가 회고를 입력한다.
  2. 입력 발화를 회고 단위로 정리한다.
  3. 현재 발화에 대한 분석용 query를 생성한다.
  4. 저장된 회고 메모리에서 관련 문맥을 검색한다.
  5. 검색된 문맥을 바탕으로 현재 회고를 분석한다.
  6. 현재 회고를 메모리 형태로 저장한다.
  7. 후속 질문 목적을 판단한다.
  8. 질문용 query를 생성한다.
  9. 현재 세션 중심으로 관련 문맥을 다시 검색한다.
  10. 검색 결과를 기반으로 다음 후속 질문을 생성한다.

5. 회고 메모리 정의

회고 RAG에서 저장하는 메모리는 단순 원문이 아니라, 이후 검색과 질문에 재사용할 수 있는 회고 단위여야 한다.

회고 메모리는 다음 정보를 포함한다.

  • 원문
  • 요약
  • 핵심 근거
  • 감정 표현
  • 주제
  • 회고 차원 힌트
  • 중요도
  • 세션 정보
  • 생성 시각

6. 회고 차원

회고는 아래 4가지 차원을 기준으로 보조적으로 해석한다.

  • 좋았던 점
  • 배운 점
  • 부족했던 점
  • 바라는 점

이 차원은 사용자의 회고를 강제로 분류하기 위한 것이 아니라, 회고가 한쪽으로만 치우쳤을 때 부족한 영역을 발견하고 더 적절한 질문을 만들기 위한 보조 구조다.

7. Retrieval 구조

7.1 분석용 Retrieval

분석용 Retrieval은 현재 발화를 더 잘 이해하기 위한 검색이다.

이 단계에서는 현재 세션뿐 아니라 과거 세션 회고까지 검색 대상으로 포함할 수 있다.

분석용 Retrieval이 찾고자 하는 맥락은 다음과 같다.

  • 같은 주제의 이전 회고
  • 반복적으로 등장한 문제
  • 유사한 감정 패턴
  • 이전에 언급된 배경 정보

7.2 질문용 Retrieval

질문용 Retrieval은 다음 질문을 더 자연스럽게 만들기 위한 검색이다.

이 단계에서는 현재 세션 맥락을 우선 사용한다.

질문용 Retrieval이 찾고자 하는 맥락은 다음과 같다.

  • 방금 말한 내용과 직접 이어지는 표현
  • 아직 충분히 탐색되지 않은 현재 세션의 주제
  • 사용자가 막힌 지점이나 감정이 강하게 드러난 부분
  • 다음 행동으로 이어질 수 있는 단서

8. Retrieval 기준

검색은 단순 키워드 일치가 아니라 아래 신호를 함께 고려해야 한다.

  • 표현 유사성
  • 주제 유사성
  • 감정 유사성
  • 회고 차원 유사성
  • 핵심 근거 유사성
  • 최근성
  • 중요도

즉, 같은 단어를 찾는 것이 아니라 같은 회고 맥락을 찾는 것이 핵심이다.

9. 분석 단계에서의 활용

검색된 회고 문맥은 현재 발화를 분석할 때 보조 문맥으로 사용한다.

이때의 원칙은 다음과 같다.

  • 현재 발화가 항상 우선이다.
  • 검색된 과거 맥락은 의미 보강에만 사용한다.
  • 과거 회고 때문에 현재 발화를 과도하게 왜곡하면 안 된다.
  • 같은 주제의 반복 여부나 맥락 연결 여부를 보조적으로 판단한다.

10. 질문 생성 단계에서의 활용

질문 생성에서는 검색 결과를 그대로 많이 넣기보다, 다음 질문에 가장 중요한 맥락 하나를 선택해 사용하는 것이 적절하다.

질문 생성 흐름은 아래와 같다.

  1. 현재 회고에서 어떤 차원이 부족한지 판단한다.
  2. 현재 세션 문맥에서 다음 질문에 적합한 anchor를 찾는다.
  3. 그 anchor를 기반으로 한 문장의 자연스러운 질문을 생성한다.

질문은 아래 기준을 만족해야 한다.

  • 한 번에 하나만 묻는다.
  • 사용자의 최근 발화와 자연스럽게 이어진다.
  • 회고를 심문하거나 평가하는 말투를 피한다.
  • 사용자의 표현을 일부 반영하되, 그대로 반복하지 않는다.

11. 저장 정책

현재 회고 RAG의 저장 정책은 아래와 같다.

  • 회고 원문 전체 저장
  • 전체 회고 기록 보관
  • 세션 단위 정보 유지

추후 고려할 항목은 다음과 같다.

  • 개인정보 포함 시 마스킹 여부
  • 삭제 요청 시 삭제 범위
  • 원문과 요약 중 어떤 단위를 우선 보관할지

12. 평가 기준

회고 RAG는 아래 항목을 기준으로 평가한다.

12.1 Retrieval 품질

  • 기대한 관련 회고가 상위에 검색되는지
  • 표현은 달라도 의미가 비슷한 회고를 찾는지

12.2 분석 품질

  • 현재 회고를 더 잘 이해하게 되는지
  • 과거 회고가 현재 발화 해석에 적절히 보조되는지

12.3 질문 품질

  • 질문이 자연스러운지
  • 질문이 맥락을 이어받는지
  • 비슷한 질문을 반복하지 않는지
  • 회고를 더 깊게 만드는지

12.4 사용자 경험

  • 사용자가 기억받고 있다고 느끼는지
  • 과거 회고 반영이 부담스럽지 않은지
  • 회고가 더 정리된다고 느끼는지

13. 기대 효과

회고 RAG가 적용되면 사용자는 아래와 같은 경험을 기대할 수 있다.

  • 이전에 했던 회고와 지금의 회고가 자연스럽게 연결된다.
  • 비슷한 고민이나 패턴을 더 잘 짚어준다.
  • 회고가 점점 쌓이고 정리되는 느낌을 받는다.
  • 단순 대답형 채팅보다 더 깊은 회고 대화를 경험한다.

14. 결론

회고 RAG의 핵심은 과거 문장을 많이 가져오는 것이 아니라, 현재 회고를 더 잘 이해하고 더 좋은 다음 질문을 만들기 위해 필요한 문맥만 적절하게 꺼내 쓰는 데 있다.

따라서 회고 RAG는 아래 방향을 중심으로 구성한다.

  • 회고 메모리를 의미 있게 저장한다.
  • 분석과 질문의 검색 목적을 분리한다.
  • 과거 세션은 분석 보조에 우선 활용한다.
  • 질문은 현재 세션 흐름을 해치지 않도록 만든다.