@startuml !theme mono title 03. 전문용어 이해 지원 - 이벤트스토밍 플로우 actor "회의록 작성자" as User participant "회의록 시스템" as System participant "RAG 시스템" as RAG participant "LLM" as LLM participant "문서 저장소" as DocStore == 전문용어 자동 감지 == System -> System : **커맨드**: 전문용어 감지하기\n(데이터: 회의록 텍스트, 용어 사전) activate System System -> System : 회의록 텍스트 분석 System --> System : **이벤트**: 전문용어가 감지됨\n(데이터: 용어, 감지 위치, 신뢰도) deactivate System note right of System **Policy/Rule**: 전문용어 감지 시 → RAG 시스템이 과거 회의록 및 사내 문서에서 자동 검색 end note == RAG 검색 수행 == System -> RAG : **커맨드**: 용어 설명 요청하기\n(데이터: 용어, 회의 맥락, 조직 정보) activate RAG RAG --> System : **이벤트**: RAG 검색이 시작됨\n(데이터: 검색 ID, 쿼리) RAG -> DocStore : **커맨드**: RAG 검색 수행하기\n(데이터: 검색 쿼리, 문서 데이터베이스) activate DocStore DocStore -> DocStore : 벡터 유사도 검색 DocStore --> RAG : **이벤트**: 관련 문서가 검색됨\n(데이터: 문서 목록, 관련도 점수) deactivate DocStore == LLM 설명 생성 == RAG -> LLM : 검색된 문서 전달 activate LLM LLM -> LLM : 문서 내용 분석 LLM -> LLM : 용어 설명 생성 LLM --> RAG : **이벤트**: 용어 설명이 생성됨\n(데이터: 설명 ID, 설명 내용, 참조 출처) deactivate LLM RAG --> System : 설명 반환 deactivate RAG == 사용자에게 설명 제공 == System -> User : **커맨드**: 설명 제공하기\n(데이터: 용어, 설명 내용, 참조 문서) activate System System --> User : **이벤트**: 설명이 제공됨\n(데이터: 제공 시간, 수신자) deactivate System User -> User : 용어 이해 완료 == 설명을 찾지 못한 경우 == alt 설명을 찾지 못함 note right of System **Policy/Rule**: 설명을 찾지 못하면 → 전문가(회의 참석자)에게 설명 요청 end note System -> User : 전문가에게 설명 요청 알림 User -> System : 수동으로 설명 입력 note right of System **Policy/Rule**: 새로운 용어 설명이 추가되면 → 용어 사전에 자동 저장 end note System -> DocStore : 용어 사전 업데이트 end note over User, DocStore **Actor**: 회의록 작성자, AI 시스템 **External System**: RAG 시스템 (벡터 DB, 임베딩), LLM, 문서 저장소 **커맨드 데이터**: 용어, 회의 맥락, 검색 쿼리 **이벤트 데이터**: 감지된 용어, 설명 내용, 참조 출처 end note @enduml