# AI기반 회의록 작성 및 이력 관리 개선 서비스 - 유저스토리 (v2.1.2) - [AI기반 회의록 작성 및 이력 관리 개선 서비스 - 유저스토리 (v2.1.2)](#ai기반-회의록-작성-및-이력-관리-개선-서비스---유저스토리-v212) - [차별화 전략](#차별화-전략) - [1. 기본 기능 (Hygiene Factors)](#1-기본-기능-hygiene-factors) - [2. 핵심 차별화 포인트 (Differentiators)](#2-핵심-차별화-포인트-differentiators) - [마이크로서비스 구성](#마이크로서비스-구성) - [유저스토리](#유저스토리) - [논리 아키텍처 반영 사항 요약](#논리-아키텍처-반영-사항-요약) - [1. 마이크로서비스 구성 변경 (v2.0)](#1-마이크로서비스-구성-변경-v20) - [2. 주요 변경사항](#2-주요-변경사항) - [2.1 User Service 역할 변경](#21-user-service-역할-변경) - [2.2 Meeting Service 통합](#22-meeting-service-통합) - [2.3 AI Service 통합](#23-ai-service-통합) - [3. 유저스토리 영향도](#3-유저스토리-영향도) - [3.1 변경 없음](#31-변경-없음) - [3.2 서비스 통합에 따른 변경](#32-서비스-통합에-따른-변경) - [3.3 기능적 변경](#33-기능적-변경) - [4. 성능 개선 효과](#4-성능-개선-효과) - [5. 차별화 전략 유지](#5-차별화-전략-유지) - [문서 이력](#문서-이력) --- ## 차별화 전략 본 서비스는 다음과 같은 차별화 포인트를 통해 경쟁 우위를 확보합니다: ### 1. 기본 기능 (Hygiene Factors) - **STT(Speech To Text)**: 음성을 텍스트로 변환하는 기본 기능 - 시장의 대부분 서비스가 제공하는 기능으로 차별화 포인트가 아님 - 필수 기능이지만 경쟁 우위를 가져다주지 않음 ### 2. 핵심 차별화 포인트 (Differentiators) - **맥락 기반 용어 설명**: 단순 용어 설명을 넘어, 관련 회의록과 업무이력을 바탕으로 실용적인 정보 제공 - **강화된 Todo 연결**: Action item이 담당자의 Todo와 실시간으로 연결되고, 진행 상황이 회의록에 자동 반영 - **섹션 AI 요약 재생성**: 버튼 클릭으로 작성한 섹션 내용을 AI가 요약 (2-3문장, 2-5초 처리) - **지능형 회의 진행 지원**: 회의 패턴 분석을 통한 안건 추천, 효율성 분석 및 개선 제안 --- ## 마이크로서비스 구성 1. **User** - 사용자 인증 (LDAP 연동, JWT 토큰 발급/검증) 2. **Meeting** - 회의, 회의록, Todo, 실시간 협업 통합 관리 - 회의 관리: 회의 예약, 시작, 종료 - 회의록 관리: 회의록 생성, 수정, 확정 - Todo 관리: Todo 할당, 진행 상황 추적, 회의록 양방향 연결 - 실시간 협업: WebSocket 기반 실시간 동기화, 버전 관리, 충돌 해결 - 템플릿 관리: 회의록 템플릿 관리 - 통계 생성: 회의 및 Todo 통계 3. **STT** - 음성 녹음 관리, 음성-텍스트 변환, 화자 식별 (기본 기능) 4. **AI** - AI 기반 회의록 자동화, Todo 추출, 지능형 검색 (RAG 통합) - LLM 기반 회의록 자동 작성 - Todo 자동 추출 및 담당자 식별 - 섹션 AI 요약 재생성 (버튼 클릭 시 요약 생성) - 관련 회의록 자동 연결 (벡터 유사도 검색) - 전문용어 자동 감지 및 맥락 기반 설명 생성 (RAG) - 과거 회의록 및 사내 문서 검색 - 업무 이력 통합 5. **Notification** - 알림 발송 및 리마인더 관리 --- ## 유저스토리 ``` 1. User 서비스 1) 사용자 인증 관리 AFR-USER-010: [사용자관리] 시스템 관리자로서 | 나는, 서비스 보안을 위해 | 사용자 인증 기능을 원한다. - 시나리오: 사용자 인증 관리 사용자가 로그인을 시도한 상황에서 | 사번과 비밀번호를 입력하면 | LDAP 연동을 통해 인증이 완료되고 권한에 따라 서비스에 접근할 수 있다. - [ ] 사용자 인증 (사번, 비밀번호) - [ ] 세션 관리 - M/8 --- AFR-USER-020: [대시보드] 사용자로서 | 나는, 회의록 서비스의 주요 정보를 한눈에 파악하기 위해 | 대시보드를 통해 요약 정보를 확인하고 싶다. - 시나리오: 대시보드 조회 로그인 후 대시보드에 접근하면 | 예정된 회의, 진행 중 Todo, 최근 회의록 등 주요 정보가 표시되고 | 플로팅 액션 버튼을 통해 새 회의를 시작하거나 예약할 수 있다. **변경사항 (논리 아키텍처)**: - 프론트엔드가 Meeting Service에 직접 API 요청하여 회의, Todo, 회의록 정보 조회 - User Service는 인증만 담당 (JWT 토큰 검증) - 모든 API 요청에 사용자 정보(userId, userName, email) 포함 [대시보드 주요 위젯] - 사용자 인사말 (이름 표시) - 통계 카드: - 예정된 회의 개수 - 진행 중 Todo 개수 - Todo 완료율 (%) - 최근 회의 섹션: - 회의 제목 - 회의 일시 - 회의 장소 - 참석자 수 - 회의 상태 (진행중/예정/확정완료) - 참여하기/보기 버튼 - 전체 보기 링크 (회의록 목록으로 이동) - 할당된 Todo 섹션: - Todo 목록 (최대 3개) - 전체 보기 링크 (Todo 관리로 이동) - Todo 없을 시 안내 메시지 - 내 회의록 섹션: - 작성한 회의록 목록 (최대 3개) - 전체 보기 링크 - 회의록 없을 시 안내 메시지 [플로팅 액션 버튼 (FAB)] - 메인 FAB 버튼 (+) - 클릭 시 확장 메뉴 표시: - 🚀 새 회의 시작 - 📅 회의 예약 - 우측 하단 고정 위치 [네비게이션] - 좌측 사이드바 (데스크톱): - 로고 및 서비스명 - 📊 대시보드 - 📋 회의 목록 - ✅ Todo 관리 - 사용자 프로필 (이름, 이메일) - 하단 탭 바 (모바일): - 🏠 홈 - 📋 회의록 - ✅ Todo [처리 결과] - 사용자별 맞춤 대시보드 표시 - 실시간 통계 업데이트 - 반응형 레이아웃 (모바일/태블릿/데스크톱) - M/8 --- 2. Meeting 서비스 (회의, 회의록, Todo, 실시간 협업 통합) 1) 회의 준비 및 관리 UFR-MEET-010: [회의예약] 회의 생성자로서 | 나는, 회의를 효율적으로 준비하기 위해 | 회의를 예약하고 참석자를 초대하고 싶다. - 시나리오: 회의 예약 및 참석자 초대 회의 예약 화면에 접근한 상황에서 | 회의 제목, 날짜/시간, 장소, 참석자 목록을 입력하고 예약 버튼을 클릭하면 | 회의가 예약되고 참석자에게 초대 이메일이 자동 발송된다. [입력 요구사항] - 회의 제목: 최대 100자 (필수) - 날짜/시간: 날짜 및 시간 선택 (필수) - 장소: 최대 200자 (선택) - 참석자 목록: 이메일 주소 입력 (최소 1명 필수) [처리 결과] - 회의가 예약됨 (회의 ID 생성) - 일정이 캘린더에 자동 등록됨 - 참석자에게 초대 이메일 발송됨 - 회의 시작 30분 전 리마인더 자동 발송 - M/13 --- UFR-MEET-020: [템플릿선택] 회의 생성자로서 | 나는, 회의록을 효율적으로 작성하기 위해 | 회의 유형에 맞는 템플릿을 선택하고 싶다. - 시나리오: 회의록 템플릿 선택 회의 시작 전 템플릿 선택 화면에 접근한 상황에서 | 제공되는 템플릿 중 하나를 선택하고 커스터마이징하면 | 회의록 도구가 준비된다. [템플릿 유형] - 일반 회의: 기본 구조 (참석자, 안건, 논의 내용, 결정 사항, Todo) - 스크럼 회의: 어제 한 일, 오늘 할 일, 이슈 - 프로젝트 킥오프: 프로젝트 개요, 목표, 일정, 역할, 리스크 - 주간 회의: 주간 실적, 주요 이슈, 다음 주 계획 [커스터마이징 옵션] - 섹션 추가/삭제 - 섹션 순서 변경 - 기본 항목 설정 [처리 결과] - 선택된 템플릿으로 회의록 도구가 준비됨 - S/5 --- UFR-MEET-030: [회의시작] 회의 생성자로서 | 나는, 회의를 시작하고 회의록을 작성하기 위해 | 회의를 시작하고 음성 녹음을 준비하고 싶다. - 시나리오: 회의 시작 예약된 회의 시간에 회의 시작 버튼을 클릭한 상황에서 | 회의 ID를 확인하고 시작하면 | 회의 세션이 생성되고 음성 녹음이 준비된다. [회의 시작 조건] - 예약된 회의가 존재함 - 회의 시작 시간 10분 전부터 회의 시작 버튼 활성화 - 회의 생성자가 시작 권한을 가짐 - 이미 시작된 회의일 경우, 진행중으로 표시 [처리 결과] - 회의 세션이 생성됨 (세션 ID) - 음성 녹음 준비 완료 - 참석자 목록 표시 - 회의 시작 시간 기록 - 실시간 회의록 주요 항목 추천 - M/8 --- 2) 회의 종료 및 완료 UFR-MEET-040: [회의종료] 회의 생성자로서 | 나는, 회의를 종료하고 회의록을 정리하기 위해 | 회의를 종료하고 요약 내용을 확인한 후 다음 단계를 선택하고 싶다. - 시나리오: 회의 종료 회의가 진행 중인 상황에서 | 회의 종료 버튼을 클릭하면 | 음성 녹음이 중지되고 AI가 회의 전체 내용을 요약 정리한다. [회의 종료 처리] - 음성 녹음 즉시 중지 - 회의 종료 시간 기록 - AI가 회의 전체 내용 처리 - STT로 텍스트화된 회의 전체 내용을 주요 안건으로 요약 정리 - 회의 예약 시 선택한 템플릿 반영 - 회의 진행 시 저장한 주요 메모 항목 반영 - 회의 통계 자동 생성 - 회의 총 시간 - 참석자 수 - 발언 횟수 (화자별) - 주요 키워드 [처리 결과] - 회의가 종료됨 - AI 요약 내용 전체 표시 - 안건별 AI 한줄 요약 - 안건별 상세 요약 정리 - Todo 자동 추출 결과 - 회의 통계 표시 - 회의 종료 화면은 확인 전용 (편집 불가) - 안건 내용 수정 불가 - Todo 수정 불가 - 확인만 가능 - 사용자에게 다음 단계 선택 옵션 제공 - 옵션 1: 회의록 수정 화면으로 이동 (회의록 확정을 위한 편집) - 옵션 2: 바로 최종 확정 (AI가 잘 정리한 경우) - 옵션 3: 대시보드로 이동 (회의록 상태: 작성중) [회의록 상태] - 옵션 1 선택 시: 작성중 상태에서 수정 화면으로 이동 - 옵션 2 선택 시: - 모든 안건 자동 검증 완료 처리 - 회의록 상태: 확정완료 - 확정 시간 기록 - 참석자에게 확정 알림 발송 - 옵션 3 선택 시: 작성중 상태로 저장되며, 추후 회의록 목록에서 편집 가능 [Policy/Rule] - 회의 종료 화면에서는 내용을 확인만 가능하며 편집 불가 - 바로 최종 확정 시 모든 안건이 자동으로 검증 완료 처리됨 - M/8 --- UFR-MEET-050: [최종확정] 회의 생성자로서 | 나는, 회의록을 완성하기 위해 | 모든 안건을 검증하고 최종 회의록을 확정하고 싶다. - 시나리오 1: 회의록 수정 화면에서 최종 확정 회의록 수정 화면에서 | 모든 안건을 검증하고 확정 버튼을 클릭하면 | 필수 항목과 안건 검증 상태가 검사되고 최종 버전이 생성된다. [필수 항목 검사] - 회의 제목 입력 여부 - 참석자 목록 작성 여부 - 주요 논의 내용 작성 여부 (안건별) - 결정 사항 작성 여부 - 모든 안건 검증 완료 여부 [안건 검증 요구사항] - 각 안건별로 검증 완료 처리 필요 - 검증률 = 검증 완료된 안건 수 / 전체 안건 수 - 검증률이 100%가 되어야 최종 확정 가능 - 검증되지 않은 안건이 있으면 확정 불가 [처리 결과] - 최종 회의록 확정됨 (확정 버전 번호) - 확정 시간 기록 - 회의록 확정 상태로 전환 - 참석자에게 확정 알림 발송 - Todo 항목은 이미 추출되어 있음 (UFR-AI-020에서 처리) [필수 항목 미작성 시] - 누락된 항목 안내 메시지 표시 - 해당 섹션으로 자동 이동 [안건 미검증 시] - 검증되지 않은 안건 목록 표시 - 검증률 표시 (예: 70% - 7개 중 5개 검증 완료) - 미검증 안건으로 자동 이동 - 시나리오 2: 회의 종료 화면에서 바로 최종 확정 회의 종료 화면에서 | AI가 정리한 내용을 확인하고 "바로 최종 확정" 버튼을 클릭하면 | 모든 안건이 자동으로 검증 완료 처리되고 회의록이 확정된다. [바로 확정 처리] - 필수 항목 자동 충족 (AI가 이미 생성) - 회의 제목: 회의 예약 정보 - 참석자 목록: 회의 참석자 정보 - 주요 논의 내용: AI가 안건별로 생성 - 결정 사항: AI가 안건별로 추출 - 모든 안건 자동 검증 완료 처리 - 검증률 100% 자동 설정 - 각 안건별 검증 완료 상태로 변경 - 검증자: 회의록 생성자 - 검증 시간: 확정 시간 [처리 결과] - 최종 회의록 확정됨 (확정 버전 번호) - 확정 시간 기록 - 모든 안건 검증 완료 상태 - 회의록 확정 상태로 전환 - 참석자에게 확정 알림 발송 - 회의록 수정 화면을 거치지 않고 바로 확정 완료 [Policy/Rule] - 회의 종료 화면에서 바로 확정 시 AI 생성 내용 그대로 사용 - 모든 안건 자동 검증 완료 처리 - 추후 회의록 수정 필요 시 회의록 목록에서 편집 가능 - M/13 --- UFR-MEET-046: [회의록목록조회] 회의 참석자로서 | 나는, 참여한 회의록들을 효율적으로 관리하기 위해 | 회의록 목록을 조회하고 필터링하고 싶다. - 시나리오: 회의록 목록 조회 및 필터링 대시보드에서 "회의록" 메뉴를 클릭하면 | 회의록 목록이 표시되고 | 다양한 필터와 검색으로 원하는 회의록을 찾을 수 있다. [화면 정보] - 화면번호: 12-회의록목록조회 - 프로토타입: design/uiux/prototype/12-회의록목록조회.html - 데이터 소스: common.js → SAMPLE_MINUTES 배열 (30개 샘플 데이터) [데이터 구조] - **데이터 레이어**: common.js의 SAMPLE_MINUTES 배열 - **뷰 레이어**: 12-회의록목록조회.html (동적 렌더링) - **렌더링 방식**: JavaScript로 SAMPLE_MINUTES 데이터를 동적으로 HTML로 생성 - **샘플 데이터 분포**: 총 30개 (작성중 13개, 확정완료 17개) [회의록 목록 조회] - 회의록 상태별 필터링: 전체 / 작성중 / 확정완료 - 정렬 옵션: 최근수정순 / 최근회의순 / 제목순 - 참여 유형 필터: 참석한 회의 / 생성한 회의 (다중 선택 가능) - 검색 기능: 회의 제목, 참석자, 키워드로 검색 - 통계 표시: 전체 개수, 작성중 개수, 확정완료 개수 - 페이지네이션: 초기 10개 표시, "10개 더보기" 버튼으로 추가 로드 - 목록 표시 정보: - 회의 제목 - 회의 일시 - 참석자 수 - 회의록 상태 (작성중/확정완료) - 검증 완료율 (작성중인 경우, %) - 생성자 표시 (👑 아이콘) - 마지막 수정 시간 [처리 결과] - 필터/정렬/검색 조건에 맞는 회의록 목록 표시 - 회의록 클릭 시 상세 조회 화면으로 이동 - 모바일/태블릿/데스크톱 반응형 레이아웃 - 실시간 통계 업데이트 - M/8 --- UFR-MEET-047: [회의록상세조회] 회의 참석자로서 | 나는, 지난 회의록의 상세 정보와 전체 내용을 | 한눈에 확인하고 싶다. - 시나리오: 회의록 상세 정보 조회 회의록 목록에서 특정 회의록을 클릭하면 | 해당 회의의 기본 정보와 섹션별 상세 내용이 표시되고 | 필요한 경우 수정작업을 수행할 수 있다. [화면 정보] - 화면번호: 10-회의록상세조회 - 프로토타입: design/uiux/prototype/10-회의록상세조회.html [회의 기본 정보 표시] - 회의 제목 - 회의 일시 (날짜 및 시간, 소요 시간) - 참석자 목록 (아바타 표시, 역할 구분: 생성자/참석자) - 회의 장소 (온라인/오프라인) - 회의록 상태 (작성중/확정완료) - 생성자 및 최종 수정 시간 [섹션별 상세 내용 표시] - 각 섹션 구분 표시 (번호, 제목) - 섹션별 검증 상태 표시 (검증완료 배지) - AI 요약 섹션: - 섹션별 AI 요약 내용 - 생성/수정 시간 표시 - 편집 버튼 (수정 권한이 있는 경우) - 상세 내용 섹션: - 논의 사항 (리스트 형태) - 결정 사항 (리스트 형태) - 일정 정보 (있는 경우) - 리소스 정보 (있는 경우) - 관련 회의록 섹션: - 관련도 높은 회의록 최대 3개 표시 - 각 회의록별 정보: 제목, 날짜, 관련도 %, 요약 내용 - 클릭 시 해당 회의록으로 이동 [탭 네비게이션] - **탭 구성**: 대시보드 / 회의록 (2개 탭) - **기본 노출**: 대시보드 탭 우선 노출 - **탭 전환**: 클릭 시 콘텐츠 전환, URL 변경 없음 - **대시보드 탭 내용**: - 핵심내용 (주요 포인트 요약) - 결정사항 - Todo 진행상황 - 관련회의록 - **회의록 탭 내용**: - 섹션별 상세 내용 - AI 요약 - 관련회의록 [부가 기능] - 회의록 수정 버튼 (수정 권한이 있는 경우만 활성화) - 뒤로가기 버튼 (회의록 목록으로 복귀) - 더보기 메뉴 (다운로드, 삭제 등) [처리 결과] - 모바일/태블릿/데스크톱 반응형 레이아웃 - 긴 내용은 적절한 단락 구분 및 여백 적용 - 페이지 로딩 시 스크롤 위치는 최상단 - 관련 회의록 자동 표시 [권한별 표시] - 조회 권한만 있는 경우: 수정 버튼 비활성화 - 수정 권한이 있는 경우: 수정 버튼 활성화 - M/8 --- UFR-MEET-055: [회의록수정] 회의 참석자로서 | 나는, 검증이 완료되지 않았거나 수정이 필요한 | 지난 회의록을 수정하고 싶다. - **화면번호**: 11-회의록수정 - 시나리오: 지난 회의록 수정 회의록 상세 화면에서 수정 버튼을 클릭하면 | 회의록 수정 화면으로 이동하고 | 내용을 수정할 수 있다. [진입 경로] - 10-회의록상세조회 화면 → 하단 액션 바 "수정" 버튼 클릭 - 권한이 있는 경우에만 "수정" 버튼 활성화 [수정 가능 항목] - ✅ **회의 제목**: 수정 가능 - ❌ **회의 일시**: 수정 불가 (readonly, 회의 예약 화면에서만 변경 가능) - ❌ **회의 장소**: 수정 불가 (readonly, 회의 예약 화면에서만 변경 가능) - ✅ **참석자 목록**: 회의 생성자만 추가/삭제 가능 - 05-회의진행 화면과 동일한 UI 제공 - 참석자 추가: 이메일 입력 후 초대 버튼 - 참석자 삭제: 각 참석자 옆 × 버튼 (회의 생성자는 삭제 불가) - ✅ **섹션별 AI 요약**: AI 재생성 버튼으로 수정 가능 - ✅ **섹션별 내용**: 마크다운 에디터로 수정 가능 - ✅ **관련회의록**: 추가/삭제 가능 - ❌ **검증완료 섹션**: 회의 생성자만 잠금 해제 후 수정 가능 (참석자는 수정 불가) - 🔄 **회의록 상태**: 수정 시 자동으로 '작성중'으로 변경 (사용자 직접 변경 불가) [수정 기능] - 수정 중 자동 저장 (30초 간격) - 저장 상태 표시 (저장됨/저장 중) - 수정 이력 관리 (v2.0 고도화 예정) [처리 결과] - 수정 내용 즉시 반영 - 수정 시간 업데이트 - 확정완료 상태였던 경우 → 작성중 상태로 변경 - 취소 시 이전 상태로 복원 [권한 제어] **검증완료 전 (작성중/초안 상태)** - 모든 참석자가 회의록 수정 가능 - 모든 섹션 편집 가능 (검증완료 섹션 없음) - 참석자 관리: 회의 생성자만 가능 **검증완료 후** - 회의 생성자만 회의록 수정 가능 - 참석자는 "수정" 버튼 비활성화 (조회만 가능) - 검증완료 섹션: 회의 생성자만 잠금 해제 후 수정 가능 - 수정 시 회의록 상태는 '작성중'으로 자동 변경 (재검증 필요) - M/13 --- 3. STT 서비스 (음성 인식 및 변환 - 기본 기능) 1) 음성 인식 및 변환 UFR-STT-010: [음성녹음인식] 회의 참석자로서 | 나는, 발언 내용이 자동으로 기록되기 위해 | 음성이 실시간으로 녹음되고 인식되기를 원한다. - 시나리오: 음성 녹음 및 발언 인식 회의가 시작된 상황에서 | 참석자가 발언을 시작하면 | 음성이 자동으로 녹음되고 화자가 식별되며 발언이 인식된다. [음성 녹음 처리] - 오디오 스트림 실시간 캡처 - 회의 ID와 연결 - 음성 데이터 저장 (Azure 스토리지) [발언 인식 처리] - AI 음성인식 엔진 연동 (Azure Speech 등) - 화자 자동 식별 - 참석자 목록 매칭 - 음성 특징 분석 - 타임스탬프 기록 - 발언 구간 구분 [처리 결과] - 음성 녹음이 시작됨 (녹음 ID) - 발언이 인식됨 (발언 ID, 화자, 타임스탬프) - 실시간으로 텍스트 변환 요청 (UFR-STT-020 연동) [성능 요구사항] - 발언 인식 지연 시간: 1초 이내 - 화자 식별 정확도: 90% 이상 [비고] - STT는 기본 기능으로 경쟁사 대부분이 제공하는 기능임 - 차별화 포인트가 아닌 필수 기능 - M/21 --- UFR-STT-020: [텍스트변환] 회의록 시스템으로서 | 나는, 인식된 발언을 회의록에 기록하기 위해 | 음성을 텍스트로 변환하고 싶다. - 시나리오: 음성-텍스트 변환 발언이 인식된 상황에서 | AI 음성인식 엔진에 텍스트 변환을 요청하면 | 음성이 텍스트로 변환되고 정확도와 함께 반환된다. [텍스트 변환 처리] - 인식된 발언 데이터 전달 - 언어 설정 (한국어, 영어 등) - AI 음성인식 엔진 처리 - 문장 부호 자동 추가 - 숫자/날짜 형식 정규화 [처리 결과] - 텍스트가 변환됨 (텍스트 ID) - 변환된 내용 (원문 텍스트) - 정확도 점수 (0-100%) - AI 회의록 자동 작성 요청 (UFR-AI-010 연동) [정확도 낮은 경우] - 정확도 60% 미만 시 경고 표시 - 수동 수정 인터페이스 제공 [비고] - STT는 기본 기능으로 차별화 포인트가 아님 - M/13 --- 4. AI 서비스 (AI 기반 회의록 자동화, Todo 추출, 지능형 검색 - RAG 통합) 1) AI 회의록 작성 UFR-AI-010: [회의록자동작성] 회의 참석자로서 | 나는, 회의록 작성 부담을 줄이기 위해 | AI가 발언 내용을 실시간으로 정리하고 회의 종료 시 전체 안건을 요약하기를 원한다. - 시나리오 1: 실시간 AI 주요 메모 작성 (회의 진행 중) 텍스트가 변환된 상황에서 | LLM에 실시간 회의록 작성을 요청하면 | AI가 주요 메모 항목을 실시간으로 추천한다. [실시간 AI 처리 과정] - 변환된 텍스트와 회의 맥락(제목, 참석자) 분석 - 회의 내용 이해 - 중요 키워드 추출 - 주요 발언 식별 - 주요 메모 항목 추천 - 구어체 → 문어체 변환 - 불필요한 표현 제거 - 문법 교정 [실시간 처리 결과] - AI 주요 메모 항목 추천 (실시간) - 회의 참석자가 필요한 항목만 선택하여 저장 - 참석자에게 실시간 동기화 (UFR-COLLAB-010 연동) [Policy/Rule] - 텍스트 변환되면 자동으로 주요 메모 항목 추천 - 실시간 업데이트 (3-5초 간격) - 회의 진행 중에는 주요 메모 항목만 표시하여 회의 집중도 향상 - 시나리오 2: 회의 종료 시 전체 안건 요약 회의가 종료된 상황에서 | LLM에 전체 회의록 요약을 요청하면 | AI가 회의 전체 내용을 주요 안건으로 요약 정리한다. [회의 종료 시 AI 처리 과정] - STT로 텍스트화된 회의 전체 내용 분석 - 회의 예약 시 선택한 템플릿 정보 반영 - 회의 진행 시 저장한 주요 메모 항목 반영 - 회의 내용을 주요 안건으로 분류 및 요약 - 안건별 주제 식별 - 안건별 핵심 내용 정리 - 발언자별 의견 정리 - 결정 사항 및 보류 사항 구분 - 안건별 구조화 - 편집 불가능한 AI 한줄 요약 생성 - 편집 가능한 상세 요약 정리 생성 [회의 종료 시 처리 결과] - 주요 안건별 회의록 초안 생성 - 각 안건별 구조화된 내용 - AI 한줄 요약 (편집 불가) - 상세 요약 정리 (편집 가능) - 논의 주제 - 발언자별 의견 - 결정 사항 - 보류 사항 - 회의록 수정 화면에서 안건별 편집 및 검증 가능 - M/34 --- 2) Todo 자동 추출 UFR-AI-020: [Todo자동추출] 회의 참석자로서 | 나는, 회의 후 실행 사항을 명확히 하기 위해 | AI가 안건별 내용에서 Todo 항목을 자동으로 추출하고 기본값을 설정하기를 원한다. - 시나리오: AI Todo 자동 추출 회의록 수정 화면에서 | 각 안건의 내용을 분석하여 Todo 자동 추출을 요청하면 | 액션 아이템이 식별되고 기본값이 자동으로 설정된다. [AI 분석 과정] - 안건별 상세 내용 분석 - 액션 아이템 식별 - "~하기로 함", "~까지 완료", "~담당" 등 키워드 탐지 - 명령형 문장 분석 - 마감일 언급 추출 - 담당자 자동 식별 - 발언 내용 기반 ("제가 하겠습니다", "~님이 담당") - 직책/역할 기반 매칭 - 과거 회의록 패턴 학습 [처리 결과] - Todo가 자동 추출됨 - 추출된 항목 수 - 각 Todo별 정보 - Todo 내용 - 담당자 (기본값: 회의록 생성자) - 마감일 (기본값: 다음 회의 날짜 또는 오늘) - 우선순위 (기본값: 보통) - 관련 안건 링크 - Todo 서비스에 자동 전달 (UFR-TODO-010 연동) - 회의록 수정 화면에서 Todo 편집 가능 [기본값 설정 규칙] - 담당자 - AI가 식별한 담당자가 있으면 해당 담당자 - 식별 실패 시: 회의록 생성자 - 마감일 - 회의록에 마감일이 언급된 경우: 해당 날짜 - 언급되지 않았지만 다음 회의 날짜가 있는 경우: 다음 회의 날짜 - 둘 다 없는 경우: 오늘 날짜 - 우선순위 - 회의록에 우선순위가 언급된 경우: 해당 우선순위 - 언급되지 않은 경우: 보통 [Todo 독립성] - Todo는 회의록 확정 상태와 무관하게 완료 처리 가능 - 회의록이 작성중 상태여도 Todo 진행 가능 - Todo 완료 상태는 회의록에 실시간 반영 - M/21 --- 3) 섹션 AI 요약 재생성 (신규, 차별화 포인트) UFR-AI-035: [섹션AI요약] 회의 참석자로서 | 나는, 작성한 섹션 내용을 쉽게 요약하기 위해 | 버튼 클릭으로 AI가 섹션 내용을 요약해주기를 원한다. - 시나리오: 섹션 AI 요약 재생성 회의록 작성/수정 중에 | 특정 섹션의 "AI 재생성" 버튼을 클릭하면 | AI가 해당 섹션 내용을 분석하여 2-3문장의 요약을 자동 생성한다. [사용 시점] - 회의록 작성 중 각 섹션 완료 시 - 회의록 수정 중 섹션 내용 변경 후 - 기존 요약이 부적절하다고 판단될 때 [AI 처리 과정] - 회의 맥락 조회 (선택적) - 회의 제목, 참석자, 안건 파악 - 섹션 내용 파싱 - 논의사항 추출 - 결정사항 추출 - 보류사항 추출 - 핵심 내용 식별 - 중요도 평가 - 키워드 추출 - 요약 생성 - 2-3문장으로 압축 - 논의→결정 흐름 반영 - 명확한 문장 구성 [처리 결과] - 생성된 AI 요약 (2-3문장, 150자 이내) - 생성 시간 기록 - 사용자는 생성된 요약을 다시 수정 가능 [Policy/Rule] - 섹션 내용이 변경되면 요약도 재생성 가능 - 이전 요약은 이력으로 보관 - 처리 시간 2-5초 (빠른 응답) - 프롬프트 입력 불필요 (자동 처리) - M/21 --- UFR-AI-036: [AI한줄요약] 회의 참석자로서 | 나는, 각 안건의 핵심을 빠르게 파악하기 위해 | AI가 생성한 편집 불가능한 한줄 요약을 확인하고 싶다. - 시나리오: AI 한줄 요약 제공 회의 종료 시 | AI가 안건별 전체 내용을 요약하면 | 각 안건마다 편집 불가능한 한줄 요약과 편집 가능한 상세 요약이 함께 생성된다. [AI 처리 과정] - 안건별 전체 내용 분석 - 핵심 메시지 추출 - 가장 중요한 논의 사항 - 최종 결정 또는 결론 - 핵심 키워드 - 한 문장 요약 생성 - 30자 이내 간결한 표현 - 논의→결정 핵심 반영 - 명확하고 이해하기 쉬운 문장 [처리 결과] - AI 한줄 요약 (편집 불가) - 각 안건의 최상단에 표시 - 읽기 전용으로 고정 - 안건의 핵심을 한눈에 파악 가능 - 상세 요약 정리 (편집 가능) - AI 한줄 요약 하단에 표시 - 사용자가 자유롭게 편집 가능 - 논의 주제, 발언자별 의견, 결정 사항 포함 [Policy/Rule] - AI 한줄 요약은 회의 종료 시 1회 생성 - 생성 후에는 편집 불가 (원본 보존) - 상세 요약 정리는 사용자가 자유롭게 수정 가능 - 회의록 수정 화면(11-회의록수정)에서 표시 - M/21 --- 4) 관련 회의록 자동 연결 (신규, 차별화 포인트) UFR-AI-040: [관련회의록연결] 회의 참석자로서 | 나는, 이전 회의 내용을 쉽게 참조하기 위해 | AI가 같은 폴더 내 관련 있는 과거 회의록을 자동으로 찾아 연결해주기를 원한다. - 시나리오: 관련 회의록 자동 연결 회의록이 작성되는 상황에서 | AI가 회의 주제와 내용을 분석하면 | 같은 폴더 내 유사한 주제의 과거 회의록을 찾아 자동으로 연결한다. [AI 분석 과정] - 현재 회의록 주제 및 키워드 추출 - 벡터 유사도 검색 - 과거 회의록 DB에서 검색 - 주제 유사도 계산 - 관련도 점수 계산 (0-100%) - 같은 폴더 내 상위 5개 회의록 선정 [연결 기준] - 주제 유사도 70% 이상 - 동일 참석자가 50% 이상 - 키워드 3개 이상 일치 - 시간적 연관성 (후속 회의, 분기별 회의 등) [처리 결과] - 관련 회의록 목록 생성 - 각 회의록별 정보 - 제목 - 날짜 - 참석자 - 관련도 점수 - 연관 키워드 - 회의록 상단에 "관련 회의록" 섹션 자동 추가 - 클릭 시 해당 회의록으로 이동 [Policy/Rule] - 관련도 70% 이상만 자동 연결 - 최대 5개까지 표시 - S/13 --- 5. AI 서비스 (지능형 검색 - RAG 기능, AI Service에 통합됨) 1) 맥락 기반 용어 설명 (강화) UFR-RAG-010: [전문용어감지] 회의 참석자로서 | 나는, 업무 지식이 없어도 회의록을 정확히 작성하기 위해 | 전문용어가 자동으로 감지되고 맥락에 맞는 설명을 제공받고 싶다. - 시나리오: 맥락 기반 전문용어 자동 감지 회의록이 작성되는 상황에서 | 시스템이 회의록 텍스트를 분석하면 | 전문용어가 자동으로 감지되고 맥락에 맞는 설명이 준비된다. **변경사항 (논리 아키텍처)**: - AI Service에 RAG 기능 통합 - RAG와 AI 모두 LLM 기반 처리로 긴밀하게 연동 - 동일한 벡터 임베딩 모델 및 LLM 공유 가능 - 회의록 자동 작성 시 용어 설명이 병렬 처리되어 효율적 [전문용어 감지 처리] - 회의록 텍스트 실시간 분석 - 용어 사전과 비교 - 조직별 전문용어 DB - 산업별 표준 용어 DB - 신뢰도 계산 (0-100%) - 감지된 용어 위치 기록 [처리 결과] - 전문용어가 감지됨 - 감지된 용어 정보 - 용어명 - 감지 위치 (줄 번호, 문단) - 신뢰도 점수 - 용어 하이라이트 표시 - 맥락 기반 설명 자동 생성 (UFR-RAG-020 연동) [Policy/Rule] - 신뢰도 70% 이상만 자동 감지 - 중복 용어는 첫 번째만 하이라이트 [비고] - 단순 용어 설명이 아닌 맥락 기반 실용적 정보 제공이 차별화 포인트 - S/13 --- UFR-RAG-020: [맥락기반용어설명] 회의 참석자로서 | 나는, 전문용어를 맥락에 맞게 이해하기 위해 | 관련 회의록과 업무 이력을 바탕으로 실용적인 설명을 제공받고 싶다. - 시나리오: 맥락 기반 용어 설명 자동 제공 전문용어가 감지된 상황에서 | RAG 시스템이 관련 문서를 검색하면 | 과거 회의록 및 업무 이력에서 맥락에 맞는 실용적인 설명이 생성되어 제공된다. [RAG 검색 수행] - 벡터 유사도 검색 - 과거 회의록 검색 (동일 용어 사용 사례) - 사내 문서 저장소 검색 (위키, 매뉴얼, 보고서) - 업무 이력 검색 (프로젝트 문서, 이메일 등) - 관련 문서 추출 (관련도 점수순) - 최대 5개 문서 선택 [맥락 기반 설명 생성] - 검색된 문서 내용 분석 - 용어 정의 추출 - 실제 사용 사례 추출 - 현재 회의 맥락에 맞는 설명 생성 - 간단한 정의 (1-2문장) - 이 회의에서의 의미 (맥락 기반) - 관련 프로젝트/이슈 연결 - 과거 논의 요약 (언제, 누가, 어떻게 사용했는지) - 참조 출처 링크 [처리 결과] - 맥락 기반 용어 설명이 생성됨 (설명 ID) - 설명 내용 - 간단한 정의 - 맥락 기반 상세 설명 - 실제 사용 사례 - 관련 프로젝트/이슈 - 과거 회의록 링크 (최대 3개) - 사내 문서 링크 - 툴팁 또는 사이드 패널로 표시 - 설명 제공 시간 기록 [설명을 찾지 못한 경우] - "관련 정보를 찾을 수 없습니다" 메시지 표시 - 전문가(회의 참석자)에게 설명 요청 버튼 제공 - 수동 입력된 설명은 용어 사전에 자동 저장 [비고] - **차별화 포인트**: 단순 용어 설명이 아닌, 조직 내 실제 사용 맥락과 이력을 제공 - 업무 지식이 없어도 실질적인 도움을 받을 수 있음 - S/21 --- 6. Meeting 서비스 (실시간 협업 - Meeting Service에 통합됨) 1) 실시간 협업 UFR-COLLAB-010: [회의록수정동기화] 회의 참석자로서 | 나는, 회의록을 함께 검증하기 위해 | 회의록을 수정하고 실시간으로 다른 참석자와 동기화하고 싶다. - 시나리오: 회의록 실시간 수정 및 동기화 회의록 초안이 작성된 상황에서 | 참석자가 회의록 내용을 수정하면 | 수정 사항이 버전 관리되고 웹소켓을 통해 모든 참석자에게 즉시 동기화된다. **변경사항 (논리 아키텍처)**: - Meeting Service에 실시간 협업 기능 통합 - WebSocket, 버전 관리, 충돌 해결이 Meeting Service 내부에서 처리됨 - 서비스 간 통신 오버헤드 제거, 성능 향상 [회의록 수정 처리] - 수정 내용 검증 - 수정 권한 확인 - 수정 범위 제한 (잠긴 섹션은 수정 불가) - 수정 이력 저장 - 수정자 - 수정 시간 - 수정 전/후 내용 - 수정 위치 - 버전 관리 - 새 버전 번호 생성 - 이전 버전 보관 [실시간 동기화] - 웹소켓을 통해 수정 델타 전송 - 전체 내용이 아닌 변경 부분만 전송 (효율성) - 모든 참석자 화면에 실시간 반영 - 수정자 표시 (이름) - 수정 영역 하이라이트 (3초간) [처리 결과] - 참석자가 회의록을 수정함 (수정 ID) - 수정 사항이 동기화됨 - 동기화 시간 - 영향받은 참석자 목록 - 수정 완료될 때마다 수정된 내용이 메일로 알림이 발송된다. (알림 여부 설정 가능) [Policy/Rule] - 회의록 수정 시 웹소켓을 통해 모든 참석자에게 즉시 동기화 - M/34 --- UFR-COLLAB-020: [충돌해결] 회의 참석자로서 | 나는, 동시 수정 상황에서도 내용을 잃지 않기 위해 | 안건별로 충돌 없이 편집하고 싶다. - 시나리오: 안건별 동시 편집 충돌 방지 여러 참석자가 회의록을 동시에 수정하는 상황에서 | 각자 다른 안건을 편집하면 | 충돌 없이 실시간으로 저장되고 동기화된다. [안건 기반 충돌 방지] - 안건 단위 잠금 메커니즘 - 각 안건은 독립적인 편집 단위 - 참석자 A가 안건 1 편집 시, 다른 참석자는 안건 2, 3 등 편집 가능 - 동일 안건 동시 편집 시에만 충돌 처리 - 편집 중 안건 표시 - 다른 참석자가 현재 편집 중인 안건 실시간 표시 - 편집자 이름과 프로필 아이콘 표시 - "○○○님이 편집 중" 메시지 [동일 안건 동시 편집 시 충돌 감지] - 동일 안건 동시 수정 탐지 - 필드 단위 비교 (제목, 상세 내용, Todo 등) - 버전 기반 충돌 확인 - 충돌 정보 생성 - 충돌 안건 - 관련 수정자 2명 - 각자의 수정 내용 [충돌 해결 방식] - 필드별 자동 병합 (기본) - 다른 필드 편집 시: 자동 병합 (충돌 없음) - 예: A가 제목 수정, B가 상세 내용 수정 → 둘 다 반영 - Last Write Wins (동일 필드 수정 시) - 동일 필드 동시 수정 시: 가장 최근 수정이 우선 - 이전 수정은 버전 이력에 보관 - 덮어쓰인 사용자에게 알림 - 수동 병합 (선택) - 충돌 내용 비교 UI 표시 - 사용자가 최종 내용 선택 - A 선택 / B 선택 / 직접 작성 [처리 결과] - 안건별 독립 편집으로 충돌 최소화 - 충돌 발생 시: - 충돌이 감지됨 (충돌 ID) - 충돌 안건 및 필드 - 관련 수정자 - 충돌이 해결됨 - 해결 방법 (자동 병합 / Last Write Wins / 수동 병합) - 최종 내용 - 해결된 내용 실시간 동기화 [Policy/Rule] - 안건 단위 독립 편집으로 충돌 최소화 - 동일 안건 내 다른 필드 수정 시 자동 병합 - 동일 필드 동시 수정 시 Last Write Wins 적용 - M/21 --- UFR-COLLAB-030: [검증완료] 회의 참석자로서 | 나는, 회의록의 정확성을 보장하기 위해 | 각 안건을 검증하고 완료 표시를 하고 싶다. - 시나리오: 안건별 회의록 검증 완료 회의록 수정 화면에서 안건 내용을 확인한 상황에서 | 참석자가 안건별 검증 완료 버튼을 클릭하면 | 검증 상태가 업데이트되고 다른 참석자에게 동기화된다. [검증 처리] - 검증자 정보 기록 - 검증 시간 기록 - 검증 대상 안건 기록 - 안건별 검증 상태 업데이트 - 미검증 → 검증 완료 - 전체 검증률 계산 - 검증률 = 검증 완료된 안건 수 / 전체 안건 수 - 회의록 목록에서 검증률 표시 (예: 70%) [안건 잠금 기능] - 회의 생성자만 잠금/해제 가능 - 안건 검증 완료 시 잠금 가능 (선택) - 잠긴 안건은 회의 생성자만 잠금 해제 후 수정 가능 - 참석자는 검증완료된 안건을 읽기 전용으로만 확인 가능 [처리 결과] - 안건 검증이 완료됨 - 검증자 정보 - 검증 상태 (검증 완료) - 완료 시간 - 전체 검증률 업데이트 - 검증 완료 상태 실시간 동기화 - 검증 배지 표시 (체크 아이콘) - 모든 안건 검증 완료 시 전체 메일로 알림 발송 [통합 화면] - 11-회의록수정 화면에서 안건별 검증 처리 - 별도의 06-검증완료 화면 불필요 - 안건별 편집 영역에 검증 완료 버튼 제공 [Policy/Rule] - 안건별 검증 완료 시 해당 안건 잠금 가능 - 모든 안건 검증 완료 시 회의록 최종 확정 가능 (UFR-MEET-050) - M/8 --- 7. Meeting 서비스 (Todo 관리 - Meeting Service에 통합됨, 차별화 포인트) 1) 실시간 Todo 연결 (강화) UFR-TODO-010: [Todo할당] Todo 시스템으로서 | 나는, AI가 추출한 Todo를 담당자에게 전달하기 위해 | Todo를 실시간으로 할당하고 회의록과 연결하고 싶다. - 시나리오: Todo 실시간 할당 및 회의록 연결 AI가 Todo를 추출한 상황에서 | 시스템이 Todo를 등록하고 담당자를 지정하면 | Todo가 실시간으로 할당되고 회의록의 해당 위치와 연결되며 담당자에게 즉시 알림이 발송된다. **변경사항 (논리 아키텍처)**: - Meeting Service에 Todo 관리 기능 통합 - Todo와 회의록이 동일 트랜잭션 내에서 처리 가능 - 회의록-Todo 양방향 연결이 내부 메서드 호출로 처리됨 (10배 빠름) [Todo 등록] - Todo 정보 저장 - Todo ID 생성 - Todo 내용 - 담당자 (AI 자동 식별 또는 수동 지정) - 마감일 (언급된 경우 자동 설정, 없으면 수동 설정) - 우선순위 (높음/보통/낮음) - 관련 회의록 링크 (섹션 위치 포함) [회의록 실시간 연결] - 회의록 해당 섹션에 Todo 뱃지 표시 - Todo 클릭 시 Todo 상세 정보 표시 - 양방향 연결 (Todo → 회의록, 회의록 → Todo) [알림 발송] - 담당자에게 즉시 알림 - 이메일 - 알림 내용 - Todo 내용 - 마감일 - 회의록 링크 (해당 섹션으로 바로 이동) [캘린더 연동] - 마감일이 있는 경우 캘린더에 자동 등록 - 마감일 3일 전 리마인더 일정 생성 [처리 결과] - Todo가 할당됨 (Todo ID) - 담당자 정보 - 마감일 - 할당 시간 - 회의록 연결 정보 (섹션 ID, 타임스탬프) - 담당자에게 알림이 발송됨 - 캘린더 등록 완료 [Policy/Rule] - Todo 할당 시 담당자에게 즉시 알림 발송 - 회의록과 실시간 양방향 연결 [비고] - **차별화 포인트**: Todo와 회의록의 강력한 연결, 원문 맥락 추적 가능 - M/13 --- UFR-TODO-030: [Todo완료처리] Todo 담당자로서 | 나는, 완료된 Todo를 처리하고 회의록에 반영하기 위해 | Todo를 완료하고 회의록에 자동 반영하고 싶다. - 시나리오: Todo 완료 처리 및 회의록 자동 반영 Todo 작업이 완료된 상황에서 | 담당자가 완료 버튼을 클릭하면 | Todo가 완료 상태로 변경되고 연결된 회의록에 완료 상태가 실시간으로 반영된다. [완료 처리] - 완료 시간 자동 기록 - 완료자 정보 저장 - 완료 상태로 변경 - 완료 여부 확인 다이얼로그 표시 [회의록 실시간 반영] - 관련 회의록의 Todo 섹션 자동 업데이트 - 완료 표시 (체크 아이콘) - 완료 시간 기록 - 완료자 정보 표시 [알림 발송] - 완료 알림 - 모든 Todo 완료 시 전체 완료 알림 [처리 결과] - Todo가 완료됨 - 완료 시간 - 완료자 정보 - 회의록에 완료 상태가 반영됨 - 반영 시간 - 회의록 버전 업데이트 [Policy/Rule] - Todo 완료 시 회의록에 완료 상태 즉시 반영 - 모든 Todo 완료 시 완료 알림 [비고] - **차별화 포인트**: Todo 완료가 회의록에 실시간 반영되어 회의 결과 추적 용이 - M/8 --- UFR-TODO-040: [Todo관리] Todo 담당자로서 | 나는, 나의 Todo를 효율적으로 관리하기 위해 | Todo 목록을 조회하고 상태를 변경하고 편집하고 싶다. - 시나리오: Todo 관리 화면 조회 및 관리 09-Todo관리 화면에 접근하면 | 나의 Todo(내가 담당자인 Todo) 목록이 표시되고 | 필터링, 상태 변경, 편집이 가능하다. [화면 정보] - 화면번호: 09-Todo관리 - 프로토타입: design/uiux/prototype/09-Todo관리.html [대전제] - Todo의 상태는 완료/미완료만 존재 - 09-Todo관리 화면에서는 나의 Todo(내가 담당자인 Todo)만 표시 [화면 구성] **1. 상단 통계 블록** - 전체: 미완료 전체 개수 - 마감임박: 기한 3일 이내 미완료 개수 - 지연: 기한이 지난 미완료 개수 **2. 필터링 기준** - 전체(개수): 완료/미완료 전체 - 지연(개수): 기한이 지난 미완료 - 마감임박(개수): 기한 3일 이내 미완료 - 완료(개수): 완료된 Todo **3. Todo 리스트 블록** - 정렬: 미완료 → 완료 순서, 기한일 오래된 순 (복합 정렬) - 표시 항목: - 체크박스 (완료/미완료 토글) - Todo 제목 - 상태 뱃지: D+n(지연) / D-day / D-n / 완료 - 우선순위 뱃지: 높음 / 보통 / 낮음 - 기한 - 회의록 제목 + 링크 (해당 Todo가 속한 회의록 상세로 이동) - 편집 버튼 (권한 있는 경우에만 노출) - 페이징: 최초 10건 노출, 10건 이상일 경우 하단에 "10개 더보기" 버튼 표시 **4. 편집 모달** - 제목 (input) - 담당자 (해당 회의록 참석자 중 select) - 회의 생성자만 변경 가능 - 마감일 (달력) - 우선순위 (높음/보통/낮음 select) [UI/UX 요구사항] - **디자인 차별화**: 액션 가능한 블록(체크박스, 편집 버튼)과 정보 표시 블록은 시각적으로 구분 - **체크박스 동작**: - 체크박스 클릭 시 "완료 처리하시겠습니까?" 확인 모달 표시 - 확인 시 완료 처리, 취소 시 이전 상태 유지 - 미완료로 되돌릴 때도 "미완료로 변경하시겠습니까?" 확인 모달 표시 - **편집 버튼**: 담당자 본인 OR 회의 생성자인 경우에만 노출 - **편집 모달**: 모바일에서는 바텀시트 형식으로 표시 - **회의록 링크**: 클릭 시 10-회의록상세조회 화면으로 이동 (대시보드 탭 우선 노출) [권한 제어] - **Todo 담당자**: 본인에게 할당된 Todo만 편집 가능 - 수정 가능 항목: 제목, 마감일, 우선순위 - 담당자 변경 불가 - **회의 생성자**: 해당 회의의 모든 Todo 편집 가능 (11-회의록수정 화면에서) - 수정 가능 항목: 제목, 담당자, 마감일, 우선순위 - 담당자 변경 가능 [처리 결과] - Todo 상태 변경 시: - 완료/미완료 상태 즉시 업데이트 - 통계 블록 갱신 - 리스트 재정렬 - Todo 편집 저장 시: - Todo 정보 업데이트 - 수정 시간 기록 - 회의록에 수정 내용 실시간 반영 - 담당자 변경 시 이전/새 담당자에게 알림 발송 - 마감일 변경 시 캘린더 자동 업데이트 [Policy/Rule] - 필터별 개수 표시로 사용자가 전체 보기 여부 판단 가능 - 체크박스 토글 시 확인 액션 필수 (실수 방지) - 편집 권한 없는 Todo는 편집 버튼 미노출 [비고] - 진행률 표시 제거 (상태는 완료/미완료만) - 날짜별 그룹핑은 v2.0 고도화 시 고려 - Todo 하이라이트 기능은 v2.0 고도화 시 고려 - M/13 --- ## 논리 아키텍처 반영 사항 요약 ### 1. 마이크로서비스 구성 변경 (v2.0) **변경 전 (v1.0)**: 8개 마이크로서비스 - User, Meeting, STT, AI, RAG, Collaboration, Todo, Notification **변경 후 (v2.0)**: 5개 마이크로서비스 - User, Meeting, STT, AI, Notification ### 2. 주요 변경사항 #### 2.1 User Service 역할 변경 - **변경 전**: 사용자 인증 및 권한 관리, 대시보드 정보 제공 - **변경 후**: 사용자 인증 전용 (LDAP 연동, JWT 토큰 발급/검증) - **이유**: - 프론트엔드가 모든 API 요청에 사용자 정보(userId, userName, email) 포함 - User Service 동기 호출 제거 → 성능 향상, 장애 격리 - 네트워크 지연 제거 (~100ms 개선) #### 2.2 Meeting Service 통합 - **통합 서비스**: Meeting + Collaboration + Todo - **핵심 기능**: - 회의 관리: 회의 예약, 시작, 종료 - 회의록 관리: 회의록 생성, 수정, 확정 - Todo 관리: Todo 할당, 진행 상황 추적, 회의록 양방향 연결 - 실시간 협업: WebSocket 기반 실시간 동기화, 버전 관리, 충돌 해결 - **이점**: - 서비스 간 통신 오버헤드 제거 - Todo와 회의록이 동일 트랜잭션 내에서 처리 가능 - 일관성 향상, 개발 효율성 증가 - 내부 메서드 호출로 처리 속도 10배 향상 #### 2.3 AI Service 통합 - **통합 서비스**: AI + RAG - **핵심 기능**: - LLM 기반 회의록 자동 작성 - Todo 자동 추출 및 담당자 식별 - 섹션 AI 요약 재생성 (버튼 클릭 시 요약 생성) - 관련 회의록 자동 연결 (벡터 유사도 검색) - 전문용어 자동 감지 및 맥락 기반 설명 생성 (RAG) - 과거 회의록 및 사내 문서 검색 - **이점**: - RAG와 AI 모두 LLM 기반 처리로 긴밀하게 연동 - 동일한 벡터 임베딩 모델 및 LLM 공유 가능 - 회의록 자동 작성 시 용어 설명이 병렬 처리되어 효율적 - 서비스 개수 감소로 운영 복잡도 감소 ### 3. 유저스토리 영향도 #### 3.1 변경 없음 - STT 서비스 유저스토리: UFR-STT-010, UFR-STT-020 - Notification 서비스 유저스토리: 알림 발송 관련 #### 3.2 서비스 통합에 따른 변경 - **Collaboration → Meeting**: UFR-COLLAB-010, UFR-COLLAB-020, UFR-COLLAB-030 - **Todo → Meeting**: UFR-TODO-010, UFR-TODO-030 - **RAG → AI**: UFR-RAG-010, UFR-RAG-020 #### 3.3 기능적 변경 - **AFR-USER-020 (대시보드)**: - 프론트엔드가 Meeting Service에 직접 API 요청 - User Service는 인증만 담당 ### 4. 성능 개선 효과 | 항목 | 개선 전 | 개선 후 | 효과 | |------|---------|---------|------| | User Service 동기 호출 | ~100ms | 제거 | 네트워크 지연 제거 | | Todo 처리 | 서비스 간 통신 | 내부 메서드 호출 | 10배 빠름 | | 실시간 동기화 | 서비스 간 REST API | Meeting 내부 처리 | 지연 감소 | | 서비스 개수 | 8개 | 5개 | 운영 복잡도 감소 | ### 5. 차별화 전략 유지 논리 아키텍처 변경에도 불구하고 차별화 포인트는 그대로 유지됩니다: - ✅ **맥락 기반 용어 설명**: AI Service에서 RAG 기능 통합 제공 - ✅ **강화된 Todo 연결**: Meeting Service에서 더 강력한 통합 제공 - ✅ **프롬프팅 기반 회의록 개선**: AI Service에서 계속 제공 - ✅ **지능형 회의 진행 지원**: AI Service에서 계속 제공 --- ## 문서 이력 | 버전 | 작성일 | 작성자 | 변경 내용 | |------|--------|--------|----------| | 1.0 | 2025-01-20 | 도그냥 (서비스 기획자) | 초안 작성 (8개 마이크로서비스) | | 2.0 | 2025-01-22 | 길동 (아키텍트) | 논리 아키텍처 반영 (5개 마이크로서비스로 단순화) | | 2.0.1 | 2025-10-23 | 강지수 (Product Designer) | 공유 기능 제거 반영
- AFR-USER-020: 대시보드 "공유받은 회의록" 섹션 제거
- UFR-MEET-046: 회의록 목록 카테고리 필터 "공유받은 회의" 제거 | | 2.0.2 | 2025-10-23 | 강지수, 도그냥 | Todo 수정 기능 추가 (UFR-TODO-040)
- 회의록 확정 전/후 Todo 수정 기능 추가
- 권한별 수정 범위: 담당자(본인 Todo만), 회의 생성자(모든 Todo)
- 수정 항목: 제목, 담당자, 마감일, 우선순위
- 09-Todo관리, 11-회의록수정 화면에서 수정 가능 | | 2.0.3 | 2025-10-23 | 강지수 (Product Designer) | 회의록 수정 항목 정책 명확화 (UFR-MEET-055)
- 회의 일시/장소: readonly 처리 (회의 예약 화면에서만 변경 가능)
- 참석자 관리: 회의 생성자만 추가/삭제 가능 (11-회의록수정 화면에서 직접 관리)
- 참석자 UI: 05-회의진행 화면과 동일한 방식으로 구현
- 프로토타입: 11-회의록수정.html에 참석자 관리 섹션 추가 | | 2.0.4 | 2025-10-23 | 강지수 (Product Designer) | 검증완료 섹션 잠금해제 정책 단순화
- **정책 변경**: 검증완료 섹션은 회의 생성자만 잠금 해제 후 수정 가능 (참석자는 수정 불가)
- **제거**: 참석자용 잠금해제 요청 기능 완전 제거 (공수 절감)
- UFR-MEET-055: 권한 제어 명확화 (생성자만 잠금 해제 가능)
- UFR-COLLAB-030: 섹션 잠금 기능 설명 업데이트
- 프로토타입 11-회의록수정.html: 잠금해제요청 버튼 제거, 검증완료 섹션 읽기 전용 표시 | | 2.0.5 | 2025-10-23 | 강지수 (Product Designer), 도그냥 (Service Planner) | Todo 및 회의록 관련 요구사항 재정의
- **UFR-TODO-040 (09-Todo관리)**: "Todo수정" → "Todo관리" 기능 확장
- 통계 블록 재정의: 전체(미완료), 마감임박(3일 이내), 지연(기한 경과)
- 필터링: 전체, 지연, 마감임박, 완료 (각 필터에 개수 표시)
- 체크박스 확인 모달: 완료/미완료 전환 시 확인
- 권한: 담당자 본인 OR 회의 생성자만 편집 가능
- **UFR-MEET-047 (10-회의록상세조회)**: 탭 순서 및 기본 노출 변경
- 탭 구성: 대시보드 / 회의록
- 기본 노출: 대시보드 탭 우선 노출 (기존: 회의록 우선)
- **UFR-MEET-055 (11-회의록수정)**: 진입 경로 및 권한 제어 명확화
- 진입 경로: 10-회의록상세조회 → "수정" 버튼 클릭
- 권한 제어: 검증완료 전(모든 참석자), 검증완료 후(회의 생성자만)
- 회의 일시/장소: 읽기 전용 표시 명시 | | 2.1.0 | 2025-10-24 | 강지수 (Product Designer) | 회의 종료 후 워크플로우 개선 및 안건 기반 회의록 구조 도입
- **UFR-MEET-040 (회의종료)**: 회의 종료 시 사용자 선택 옵션 제공
- AI가 STT 텍스트를 주요 안건으로 요약 정리 (템플릿 및 메모 항목 반영)
- 종료 후 선택: 회의록 수정 화면 이동 OR 대시보드 이동
- 회의록 상태: 작성중으로 저장
- **UFR-AI-010 (회의록자동작성)**: 실시간 + 종료 시 이중 처리 방식
- 시나리오 1: 실시간 AI 주요 메모 작성 (회의 진행 중)
- 시나리오 2: 회의 종료 시 전체 안건 요약 (AI 한줄 요약 + 상세 요약)
- **UFR-AI-020 (Todo자동추출)**: Todo 기본값 정책 추가
- 담당자 기본값: 회의록 생성자
- 마감일 기본값: 다음 회의 날짜 OR 오늘
- 우선순위 기본값: 보통
- Todo 독립성: 회의록 확정 상태와 무관하게 완료 처리 가능
- **UFR-AI-036 (AI한줄요약)**: 신규 유저스토리 추가
- 각 안건별 편집 불가능한 AI 한줄 요약 (30자 이내)
- 편집 가능한 상세 요약과 함께 제공
- **UFR-MEET-050 (최종확정)**: 안건 검증 요구사항 추가
- 모든 안건 검증 완료 시 최종 확정 가능
- 검증률 = 검증 완료된 안건 수 / 전체 안건 수
- **UFR-COLLAB-030 (검증완료)**: 안건별 검증으로 변경
- 섹션 검증 → 안건별 검증
- 11-회의록수정 화면에서 안건별 검증 처리
- 06-검증완료 화면 불필요 (11-회의록수정에 통합) | | 2.1.1 | 2025-10-24 | 강지수 (Product Designer) | 회의 종료 화면 정책 명확화 및 실시간 협업 충돌 방지 개선
- **UFR-MEET-040 (회의종료)**: 회의 종료 화면 정책 및 옵션 추가
- 회의 종료 화면은 확인 전용 (편집 불가) 명시
- 안건별 AI 요약 전체 표시 (한줄 요약 + 상세 요약 + Todo)
- 옵션 추가: "바로 최종 확정" (옵션 2)
- 3가지 선택 옵션: 회의록 수정 / 바로 최종 확정 / 대시보드 이동
- **UFR-COLLAB-020 (충돌해결)**: 안건 기반 충돌 방지 메커니즘 강화
- 안건 단위 독립 편집으로 충돌 최소화
- 다른 안건 동시 편집 시 충돌 없음
- 동일 안건 내 다른 필드 편집 시 자동 병합
- 동일 필드 동시 수정 시에만 Last Write Wins 적용
- 편집 중 안건 실시간 표시 (편집자 이름 및 아이콘)
- **UFR-MEET-050 (최종확정)**: 회의 종료 화면 바로 확정 시나리오 추가
- 시나리오 2: 회의 종료 화면에서 바로 최종 확정
- 바로 확정 시 모든 안건 자동 검증 완료 처리
- 필수 항목 자동 충족 (AI 생성 내용 활용)
- 회의록 수정 화면 거치지 않고 바로 확정 완료 | | 2.1.2 | 2025-10-24 | 강지수 (Product Designer) | 역할 용어 통일 및 권한 체계 명확화
- **용어 통일**: "회의록 작성자" → "회의 생성자" 또는 "회의 참석자"로 명확히 구분
- 생성자 권한 필요: UFR-MEET-010 (회의예약), UFR-MEET-020 (템플릿선택), UFR-MEET-030 (회의시작), UFR-MEET-040 (회의종료), UFR-MEET-050 (최종확정)
- 참석자 권한: UFR-MEET-046 (목록조회), UFR-MEET-047 (상세조회), UFR-AI-010~040 (AI 기능), UFR-RAG-010~020 (RAG 기능)
- **역할 정의**:
- 생성자: 회의 예약을 생성한 사람 (특별 권한: 참석자 관리, 회의 시작/종료, 최종 확정)
- 참석자: 회의에 참여하는 전체 인원 (생성자 포함, 기본 권한: 안건 편집, 검증, Todo 관리)
- **권한 체계 명확화**:
- 회의록 상세 조회 화면: 역할 표시 "생성자/참석자"로 변경
- Todo 편집 권한: 담당자 본인 OR 회의 생성자 | ---