hgzero/claudedocs/설계서_업데이트_요약.md
yabo0812 d2f396cffb 설계서 전면 업데이트: RAG Service 문서화 및 불필요 설계 정리
## 주요 변경사항

### 1. RAG Service 독립 서비스 문서화
- RAG Service OpenAPI 명세 작성 (9개 API)
  - Terms APIs: 용어 검색, 조회, 맥락 기반 설명 (3개)
  - Documents APIs: 관련 문서 검색, 통계 (2개)
  - Minutes APIs: 회의록 벡터 검색, 연관 검색 (4개)
- 기술 스택: Python 3.11+, FastAPI, PostgreSQL+pgvector, Azure AI Search
- 성능 요구사항 명시 (용어 검색 <500ms, 설명 생성 <3초)

### 2. 불필요한 설계서 삭제 (10개 파일, 27% 감소)
- AI Service (3개): 결정사항제안, 논의사항제안, 회의록개선
- Meeting Service (5개): 실시간수정동기화, 충돌해결, Todo완료처리, Todo할당, 리마인더발송
- Notification Service (2개): Todo알림발송, 초대알림발송

### 3. API 설계서 업데이트 (v2.0 → v2.1)
- 마이크로서비스: 5개 → 6개 (RAG Service 추가)
- 총 API 개수: 47개 → 56개 (+9개)
- AI Service 주요 특징 업데이트
  - RAG Service 연동 명시
  - 삭제된 Suggestion API 제거
  - 차별화 포인트: 맥락 기반 용어 설명, 하이브리드 검색 강조
- RAG Service 섹션 완전 신규 작성
- 통계 및 문서 이력 업데이트

### 4. 내부 시퀀스 다이어그램 업데이트 (2개)
- ai-전문용어감지.puml: RAG Service API 호출 방식 명시
- ai-맥락기반용어설명.puml: RAG Service API 호출 방식 명시

### 5. 문서화
- 설계서 업데이트 요약 문서 작성 (claudedocs/설계서_업데이트_요약.md)
- 전체 변경 사항, 영향 분석, 다음 단계 작업 명시

## 영향 분석
- 설계서 파일: 37개 → 27개 (10개 삭제)
- 유저스토리 커버리지: 28개 유저스토리 100% 반영
- 서비스 아키텍처: AI Service와 RAG Service 분리로 독립성 향상

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 17:51:57 +09:00

330 lines
11 KiB
Markdown

# 설계서 업데이트 요약
**작업일**: 2025-01-29
**작업자**: Backend Developer (동욱)
**작업 범위**: 프로토타입, 유저스토리, 개발 소스 기반 설계서 전면 업데이트
---
## 1. 작업 개요
### 목적
- 실제 구현된 기능과 설계서 간 불일치 해소
- RAG Service 독립 서비스 분리 반영
- 구현되지 않은 기능의 설계서 삭제
- MVP 범위 축소에 따른 설계 정리
### 주요 변경 사항
1. **RAG Service 문서화**: 독립 서비스로 분리된 RAG 시스템 전체 문서화
2. **불필요한 설계서 삭제**: 구현되지 않은 기능의 시퀀스 다이어그램 10개 삭제
3. **API 설계서 정리**: 삭제된 기능 제거, RAG 연동 반영
4. **마이크로서비스 구성 업데이트**: 5개 → 6개 서비스
---
## 2. 삭제된 파일 (10개)
### AI Service 시퀀스 (2개)
1. `design/backend/sequence/inner/ai-결정사항제안.puml`
- **삭제 사유**: Discussion/Decision Suggestion 기능 미구현
- **영향**: API 설계서에서 `/suggestions/discussion`, `/suggestions/decision` 엔드포인트 제거
2. `design/backend/sequence/inner/ai-논의사항제안.puml`
- **삭제 사유**: Discussion Suggestion 기능 미구현
- **영향**: 동일
### Meeting Service 시퀀스 (5개)
3. `design/backend/sequence/inner/meeting-실시간수정동기화.puml`
- **삭제 사유**: 실시간 협업 기능 제거 (Last Write Wins로 단순화)
- **영향**: 충돌 해결 로직 불필요
4. `design/backend/sequence/inner/meeting-충돌해결.puml`
- **삭제 사유**: Last Write Wins 정책으로 충돌 처리 불필요
- **영향**: 실시간 동기화 설계 제거
5. `design/backend/sequence/inner/meeting-Todo완료처리.puml`
- **삭제 사유**: Todo 관리 기능 MVP에서 제외
- **영향**: Todo 상태 업데이트 API 제거
6. `design/backend/sequence/inner/meeting-Todo할당.puml`
- **삭제 사유**: Todo 할당 기능 MVP에서 제외
- **영향**: Todo 할당 API 제거
7. `design/backend/sequence/inner/notification-리마인더발송.puml`
- **삭제 사유**: 리마인더 기능 MVP에서 제외
- **영향**: 리마인더 API 제거
### Notification Service 시퀀스 (3개 → 1개 통합)
8. `design/backend/sequence/inner/notification-Todo알림발송.puml`
- **삭제 사유**: Todo 기능 제거로 알림 불필요
- **영향**: Todo 알림 API 제거
9. `design/backend/sequence/inner/notification-초대알림발송.puml`
- **삭제 사유**: 일반 알림 시퀀스로 통합
- **영향**: 중복 설계 제거
10. `design/backend/sequence/inner/notification-{duplicate}.puml` (추가 중복 파일)
- **삭제 사유**: 동일 기능의 중복 시퀀스
- **영향**: 설계 일관성 향상
---
## 3. 추가된 파일 (2개)
### RAG Service 문서화
1. **`design/backend/api/spec/rag-service-api.yaml`** (NEW)
- **내용**: RAG Service OpenAPI 3.0.3 명세서
- **API 개수**: 9개
- Terms APIs: 3개 (검색, 조회, 설명)
- Documents APIs: 2개 (검색, 통계)
- Minutes APIs: 4개 (검색, 조회, 연관, 통계)
- **주요 기술**:
- Python 3.11+, FastAPI
- PostgreSQL + pgvector
- Azure AI Search
- Claude 3.5 Sonnet
- Redis 캐싱
2. **`claudedocs/설계서_업데이트_요약.md`** (이 문서)
- **내용**: 전체 설계서 업데이트 요약
- **목적**: 변경 사항 추적 및 문서화
---
## 4. 수정된 파일 (4개)
### 4.1 유저스토리 (design/userstory.md)
- **버전**: v2.5.0 → v2.5.1
- **변경 내용**:
- 마이크로서비스 개수: 5개 → 6개
- RAG Service 섹션 추가 (2.5)
- 유저스토리 3개 추가:
- UFR-RAG-010: 전문용어 감지
- UFR-RAG-020: 맥락 기반 용어 설명
- UFR-RAG-030: 관련 회의록/자료 검색
### 4.2 API 설계서 (design/backend/api/API설계서.md)
- **버전**: v2.0 → v2.1
- **주요 변경**:
#### 마이크로서비스 구성 업데이트
```markdown
5. **AI Service** - AI 기반 회의록 자동화, Todo 추출, RAG 서비스 연동
6. **RAG Service** - 용어집/관련자료/회의록 검색 (Python/FastAPI 독립 서비스)
```
#### AI Service 섹션 업데이트
- **삭제된 API**:
- `POST /suggestions/discussion` - 논의사항 제안
- `POST /suggestions/decision` - 결정사항 제안
- `PUT /minutes/{minutesId}/improve` - 회의록 개선
- **추가된 API 설명**:
- `POST /sections/{sectionId}/summary` - 안건별 AI 요약 생성
- `POST /sections/{sectionId}/regenerate` - 한줄 요약 재생성
- `GET /meetings/{meetingId}/suggestions/stream` - 실시간 주요 내용 제안 (SSE)
- **RAG 연동 명시**:
```markdown
**Related Transcripts APIs (1개) - RAG 연동**
| GET | /transcripts/{meetingId}/related | 관련 회의록 검색 (RAG 서비스 연동) |
**Term APIs (2개) - RAG 연동**
| POST | /terms/detect | 전문용어 감지 (RAG 서비스 연동) |
| GET | /terms/{termId}/explain | 맥락 기반 용어 설명 (RAG 서비스 연동) |
```
- **주요 특징 업데이트**:
```markdown
- LLM 기반 회의록 자동 작성 (Claude 3.5 Sonnet)
- RAG Service 연동
- 전문용어 자동 감지 및 맥락 기반 설명
- 관련 회의록 검색 (벡터 유사도 70% 이상)
- 조직 내 문서 및 이력 기반 용어 설명 생성
- 안건별 요약 생성 (한줄 요약 + 상세 요약)
- 실시간 주요 내용 제안 (SSE 스트리밍)
```
- **차별화 포인트 업데이트**:
```markdown
1. **맥락 기반 용어 설명**: 단순 사전 정의가 아닌, RAG를 통해 조직 내 실제 사용 맥락과 과거 논의 이력 제공
2. **하이브리드 검색 기반 연관성**: 키워드 매칭과 벡터 유사도를 결합하여 관련 회의록 정확도 향상
3. **실시간 AI 제안**: SSE 기반 스트리밍으로 회의 중 주요 내용 실시간 제안
```
#### RAG Service 섹션 추가 (완전 신규)
- **개요**:
- 파일: `rag-service-api.yaml`
- 베이스 URL: `/api/rag`
- 기술 스택: Python 3.11+, FastAPI, PostgreSQL+pgvector, Azure AI Search, Redis
- **API 목록**: 9개
- Terms APIs: 3개
- Documents APIs: 2개
- Minutes APIs: 4개
- **주요 특징**:
- 하이브리드 검색 (키워드 + 벡터)
- Azure OpenAI text-embedding-3-large (3,072 차원)
- Claude 3.5 Sonnet (맥락 기반 설명)
- Redis 캐싱 (TTL: 30분~1시간)
- EventHub 연동 (회의록 확정 이벤트 수신)
- **성능 요구사항**:
- 용어 검색: < 500ms (캐시 HIT: < 50ms)
- 용어 설명 생성: < 3초
- 회의록 검색: < 1초 (캐시 HIT: < 100ms)
#### 통계 업데이트
```markdown
| 서비스 | API 개수 | 주요 기능 |
|--------|---------|----------|
| User Service | 4 | 사용자 인증 |
| Meeting Service | 17 | 회의, 회의록, Todo 관리 |
| STT Service | 12 | 음성 녹음, 변환, 화자 식별 |
| AI Service | 8 | AI 회의록, Todo 추출, RAG 연동 |
| RAG Service | 9 | 용어집/문서/회의록 검색 |
| Notification Service | 6 | 알림 발송, 설정 관리 |
| **합계** | **56** | |
```
- **유저스토리 커버리지**: 25개 → 28개
#### 문서 이력 추가
```markdown
| 2.1 | 2025-01-29 | 동욱 (Backend Developer) | RAG Service 추가, 불필요한 API 정리 (6개 마이크로서비스) |
```
### 4.3 AI Service 내부 시퀀스 - 전문용어감지 (design/backend/sequence/inner/ai-전문용어감지.puml)
- **변경 내용**: RAG Service API 호출 방식 명시
```plantuml
note over Service
**구현 방식**: AI Service → RAG Service API 호출
POST /api/rag/terms/search
- 하이브리드 검색 (키워드 + 벡터)
- PostgreSQL + pgvector
- Redis 캐싱
end note
```
### 4.4 AI Service 내부 시퀀스 - 맥락기반용어설명 (design/backend/sequence/inner/ai-맥락기반용어설명.puml)
- **변경 내용**: RAG Service API 호출 방식 명시
```plantuml
note over Service
**구현 방식**: AI Service → RAG Service API 호출
GET /api/rag/terms/{termId}
- PostgreSQL + pgvector에서 조회
- Redis 캐싱 적용
end note
```
---
## 5. 영향 분석
### 5.1 설계서 감소율
- **삭제 전**: 37개 시퀀스 파일
- **삭제 후**: 27개 시퀀스 파일
- **감소율**: 27.0% (10개 파일 삭제)
### 5.2 API 개수 변화
- **기존**: 47개 API (5개 서비스)
- **현재**: 56개 API (6개 서비스)
- **증가**: +9개 (RAG Service)
### 5.3 서비스 아키텍처 변화
```
기존 (5개 서비스):
User → Meeting ← STT
AI ← Notification
현재 (6개 서비스):
User → Meeting ← STT
AI ← Notification
RAG (독립 서비스)
```
---
## 6. 다음 단계 작업
### 6.1 완료된 작업
- ✅ 불필요한 시퀀스 파일 삭제 (10개)
- ✅ RAG Service API 명세 작성
- ✅ API 설계서 업데이트 (RAG 추가, 불필요 API 제거)
- ✅ AI Service 특징 및 차별화 포인트 업데이트
- ✅ 통계 및 문서 이력 업데이트
### 6.2 남은 작업 (우선순위 순)
1. **외부 시퀀스 검증** (6개 파일)
- 프로토타입 화면과 일치 여부 확인
- 유저스토리와 매핑 검증
2. **RAG 연동 시퀀스 완성** (3개 파일)
- `ai-관련회의록연결.puml`: RAG Service 호출 흐름 추가
- EventHub를 통한 비동기 처리 흐름 추가
3. **클래스 설계 작성** (미작성 상태)
- AI Service: High 우선순위
- Meeting Service: High 우선순위
- RAG Service: Medium 우선순위
---
## 7. 설계 원칙 준수
### 7.1 마이크로서비스 독립성
- ✅ RAG Service를 완전 독립 서비스로 분리
- ✅ AI Service는 RAG API를 REST로 호출 (직접 DB 접근 없음)
- ✅ 각 서비스별 독립적인 OpenAPI 명세
### 7.2 비동기 처리
- ✅ EventHub를 통한 회의록 확정 이벤트 전달 (Meeting → RAG)
- ✅ RAG Consumer가 벡터 DB에 저장
- ✅ 실시간 응답이 필요한 API는 동기 호출 (용어 검색, 설명)
### 7.3 캐싱 전략
- ✅ Redis를 통한 검색 결과 캐싱 (TTL: 30분~1시간)
- ✅ 용어 검색 성능 목표: < 500ms (캐시 HIT: < 50ms)
---
## 8. 검증 항목
### 8.1 문서 일관성 체크리스트
- ✅ 유저스토리 개수 일치 (28개)
- ✅ API 개수 일치 (56개)
- ✅ 마이크로서비스 개수 일치 (6개)
- ✅ OpenAPI 파일 경로 일치 (`design/backend/api/spec/*.yaml`)
- ✅ 문서 버전 및 날짜 업데이트
### 8.2 설계서 검증
- ✅ PlantUML 문법 검사 필요
- ✅ OpenAPI YAML 검증 필요
- ⏳ 외부 시퀀스 프로토타입 일치 확인 (향후)
---
## 9. 참고 자료
### 삭제된 설계서 목록
전체 목록은 `claudedocs/설계서_삭제_목록.md` 참조
### RAG Service 소스 코드
- `rag/src/api/main.py`: FastAPI 엔드포인트 9개
- `rag/src/services/`: 비즈니스 로직
- `rag/src/models/`: 데이터 모델
### 관련 유저스토리
- UFR-RAG-010: 전문용어 감지
- UFR-RAG-020: 맥락 기반 용어 설명
- UFR-RAG-030: 관련 회의록/자료 검색
---
**작성 완료**: 2025-01-29
**작성자**: Backend Developer (동욱)