[AI] 01_버전별_로드맵 - 100-hours-a-week/9-team-Devths-WIKI GitHub Wiki

🗺️ 버전별 로드맵 (Version Roadmap)

AI 취업 도우미 서비스의 V1 / V2 / V3 개발 로드맵


📚 목차


📋 버전별 요약 비교

항목 V1 V2 V3
API 수 5개 (전체) 5개 (고도화) 5개 (유지)
LLM Gemini/OpenAI API + LangChain + LangGraph Multi-Agent
RAG ❌ 미적용 ✅ VectorDB 도입 ✅ 고도화
임베딩 ❌ 미적용 ✅ Gemini/OpenAI Embedding ✅ 자체 모델 검토
면접 맥락 세션 내 유지 ✅ DB 저장 + RAG ✅ Agent 협업
인프라 EC2 1대 Docker + ALB Kubernetes + Lambda
모델 서빙 API Only + RunPod (일부) SageMaker (대부분)
비용 구조 API 과금 혼합 GPU 인스턴스 + Spot

📌 API 수 변화 없음: V1부터 5개 API 전체 구현, 단 RAG/임베딩 기능은 V2에서 활성화

⚠️ API 통합: 모든 LLM 응답(분석, 면접 질문, 면접 리포트)은 /ai/chat 하나로 통합


🚀 V1 - MVP (빅뱅 배포)

목표: 핵심 기능 동작 검증 + 빠른 출시 기간: 2~3주

📦 기능 범위 (5개 API 전체)

카테고리 기능 API V1 상태
OCR/VLM 이력서/포트폴리오 텍스트 추출 /ai/ocr/extract ⭕ 구현
임베딩 텍스트 데이터 임베딩 /ai/file/embed 🔸 API만 (RAG 미적용)
LLM 응답 모든 대화/분석/면접 /ai/chat ⭕ 구현 (RAG 없이)
캘린더 채용공고 → 일정 파싱 /ai/calendar/parse ⭕ 구현
마스킹 게시판 첨부파일 개인정보 마스킹 /ai/masking/draft ⭕ 구현

🔸 = API 엔드포인트는 구현하되, 내부 RAG/VectorDB 연동은 V2에서 활성화

🛠️ 기술 스택

영역 기술
LLM Gemini API (1.5 Flash/Pro), OpenAI API (문답 프롬프팅)
OCR/VLM Gemini Vision, Clova OCR
캘린더 Google Calendar API + Gemini Tool Use
Backend Spring Boot
AI Server FastAPI (Python) - 단일 인스턴스
인프라 EC2 1대 (Backend + AI 분리)
DB PostgreSQL/MySQL, MongoDB (채팅/분석 저장)

📊 V1 처리방식

처리방식 API
⚡ 동기 file/embed, calendar/parse
🔄 비동기 ocr/extract, masking/draft
📡 스트리밍 (SSE) chat (모든 LLM 응답)

❌ V1 미적용 항목 (V2에서 활성화)

  • VectorDB (ChromaDB/Qdrant) 연동
  • RAG Chain (LangChain RetrievalQA)
  • 임베딩 저장 및 검색
  • LangChain 프레임워크
  • Redis (대화 컨텍스트, LLM 캐시, Task 상태)
  • Docker 컨테이너화
  • Load Balancing

✅ V1 체크리스트

  • FastAPI 모듈 구조 셋업 (5개 모듈)
  • Gemini/OpenAI API 연동
  • Google Calendar API + Tool Calling 연동
  • OCR 텍스트 추출 (Gemini Vision / Clova)
  • VLM 기반 개인정보 좌표 추출 + 마스킹
  • 면접 질문/꼬리질문 생성 (프롬프트 기반)
  • 면접 평가 및 피드백 리포트 (프롬프트 기반)
  • 분석 및 매칭도 (프롬프트 기반)
  • SSE 스트리밍 응답 구현
  • 비동기 처리 (task_id + 폴링)
  • EC2 배포 + 도메인 연결

⚡ V2 - 고도화 (Production Ready)

목표: RAG 도입 + LangChain 적용 + 인프라 안정화 기간: 4~6주

📦 V1 → V2 변경사항

카테고리 기능 변경사항
RAG 이력서/포트폴리오 임베딩 저장 /ai/file/embed 🔄 VectorDB 연동
RAG OCR 후 자동 임베딩 /ai/ocr/extract 🔄 내부 임베딩 처리
RAG 모든 LLM 응답에 RAG 적용 /ai/chat 🔄 RAG Chain 적용 (분석, 면접, 대화)

🛠️ 기술 스택 변경

영역 V1 → V2
LLM 프레임워크 직접 호출 → LangChain 래퍼
RAG ❌ → LangChain RAG Chain
VectorDB ❌ → ChromaDB 또는 Qdrant
임베딩 ❌ → Gemini text-embedding-004
캐시/상태 ❌ → Redis (Context, Cache, Task)
워크플로우 단순 Chain → LangGraph (면접, Agent)
인프라 EC2 1대 → Docker + ALB (다중 인스턴스)
모델 서빙 ❌ → RunPod (OCR/VLM 모델 일부)
모니터링 ❌ → Prometheus + Grafana
배치 작업 ❌ → Prefect 또는 Airflow (옵션)

🔧 VectorDB 컬렉션 구조 (V2)

컬렉션 저장 데이터 활용 시점
resumes 이력서 + 포트폴리오 임베딩 매칭 분석, 면접 질문, 채팅 RAG
job_postings 채용공고 임베딩 유사 공고 추천, 일정 추론
interview_feedback 면접 Q&A 임베딩 약점 기반 질문, 유사 면접 참조
analysis_results 분석 결과 임베딩 이전 피드백 참조
chat_context 중요 대화 임베딩 맥락 유지

🔧 RunPod 배포 후보 모델 (V2)

모델 용도 우선순위
PaddleOCR 한국어 OCR 🔴 높음
Florence-2 VLM (이미지 텍스트 추출) 🟡 중간
Ko-BERT 마스킹용 NER 🟢 낮음

📦 V2 아키텍처

                    ┌─────────────┐
                    │     ALB     │
                    └──────┬──────┘
           ┌───────────────┼───────────────┐
           ▼               ▼               ▼
    ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
    │ Backend EC2 │ │ Backend EC2 │ │ AI Server   │
    │ (Spring)    │ │ (Spring)    │ │ (FastAPI)   │
    └─────────────┘ └─────────────┘ └──────┬──────┘
                                           │
              ┌────────────────────────────┼────────────────┐
              ▼                            ▼                ▼
       ┌─────────────┐              ┌─────────────┐  ┌─────────────┐
       │  VectorDB   │              │   RunPod    │  │ Gemini/     │
       │(ChromaDB)   │              │  OCR/VLM    │  │ OpenAI API  │
       └─────────────┘              └─────────────┘  └─────────────┘
              │
              ▼
       ┌─────────────┐
       │    Redis    │
       │(Context/Cache)│
       └─────────────┘

✅ V2 체크리스트

  • LangChain 프레임워크 도입
  • VectorDB (ChromaDB/Qdrant) 셋업
  • 임베딩 저장/검색 RAG Chain 구현
  • RAG 적용 (분석, 면접, 채팅)
  • LangGraph 워크플로우 (면접, Agent)
  • Docker 컨테이너화
  • Docker Compose 멀티 서비스 구성
  • Load Balancing (ALB) 구성
  • RunPod 모델 배포 (PaddleOCR)
  • 모니터링 (Prometheus + Grafana)
  • MLflow 프롬프트 버전 추적 (옵션)

🌟 V3 - Enterprise (Self-Hosted + Multi-Agent)

목표: 비용 최적화 + 모델 자체 운영 + Multi-Agent 아키텍처 기간: 8~12주

📦 V2 → V3 변경사항

카테고리 기능 변경사항
Agent 이력서 직접 수정 Tool: update_resume 🆕
Multi-Agent 면접관 + 분석가 + 코치 역할 분리 🆕 LangGraph Agent
Multi-Agent 에이전트 간 협업 🆕 Orchestrator 패턴
모델 Gemini 외 Claude/GPT-4 병행 🔄 모델 라우팅
인프라 Docker → Kubernetes 🔄 EKS 마이그레이션
서버리스 경량 작업 Lambda 분리 🆕 캘린더 파싱, 알림

🛠️ 기술 스택 변경

영역 V2 → V3
컨테이너 Docker → Kubernetes (EKS)
서버리스 ❌ → AWS Lambda (경량 작업)
AI 서빙 RunPod → AWS SageMaker / 자체 GPU
Multi-Agent ❌ → LangGraph / AutoGen / CrewAI
모델 API 의존 → 자체 Fine-tuned 모델 (일부)
비용 API 호출 과금 → GPU Spot Instance
모니터링 Prometheus → + AWS CloudWatch

🤖 Multi-Agent 구조

                    ┌─────────────────┐
                    │   Orchestrator  │
                    │    (Gemini)     │
                    └────────┬────────┘
                             │
        ┌────────────────────┼────────────────────┐
        ▼                    ▼                    ▼
┌───────────────┐   ┌───────────────┐   ┌───────────────┐
│  면접관 Agent  │   │  분석가 Agent  │   │   코치 Agent   │
│ (질문 생성)    │   │ (매칭도 분석)  │   │ (학습 가이드)  │
│ [GPT-4/Claude] │   │    [Gemini]    │   │  [Fine-tuned] │
└───────────────┘   └───────────────┘   └───────────────┘

📦 V3 아키텍처

                    ┌─────────────────┐
                    │   API Gateway   │
                    │  (Kong/Nginx)   │
                    └────────┬────────┘
                             │
              ┌──────────────┴──────────────┐
              ▼                             ▼
     ┌─────────────────┐           ┌─────────────────┐
     │   Kubernetes    │           │   AWS Lambda    │
     │     (EKS)       │           │   (서버리스)    │
     │ ┌─────────────┐ │           │ - 캘린더 파싱   │
     │ │ Backend Pod │ │           │ - 알림 처리     │
     │ │ AI Pod      │ │           └─────────────────┘
     │ │ Agent Pods  │ │
     │ └─────────────┘ │
     └────────┬────────┘
              │
    ┌─────────┴──────────┬───────────────────┐
    ▼                    ▼                   ▼
┌─────────┐      ┌─────────────┐     ┌─────────────┐
│VectorDB │      │  SageMaker  │     │ Gemini API  │
│(Qdrant) │      │ (자체 모델) │     │(캘린더 전용)│
└─────────┘      └─────────────┘     └─────────────┘

📊 V3 Agent Tools (확장)

Tool 설명 V2 V3
get_schedule 캘린더 일정 조회
add_schedule 캘린더 일정 추가
update_schedule 캘린더 일정 수정
delete_schedule 캘린더 일정 삭제
get_resume 이력서/포트폴리오 조회 ✅ (RAG)
update_resume 이력서 직접 수정
get_job_posting 채용공고 조회 ✅ (RAG)

✅ V3 체크리스트

  • Kubernetes (EKS) 마이그레이션
  • Helm Chart 작성
  • AWS Lambda 서버리스 적용 (캘린더, 알림)
  • Multi-Agent 아키텍처 설계
  • LangGraph Orchestrator 구현
  • 역할별 Agent 구현 (면접관, 분석가, 코치)
  • 자체 모델 Fine-tuning (옵션)
  • SageMaker 배포
  • update_resume Tool 구현
  • Spot Instance 비용 최적화
  • AWS CloudWatch 모니터링

⏰ 예상 타임라인

버전 기간 마일스톤 주요 목표
V1 Week 1-3 빅뱅 배포 5개 API 전체 구현, 핵심 기능 검증, 데모 가능
V2 Week 4-8 Production RAG/LangChain 도입, 인프라 안정화, 서비스 런칭
V3 Week 9-14 Enterprise K8s, Multi-Agent, 자체 모델, 비용 최적화

📅 상세 마일스톤

Week 1:    FastAPI 구조 셋업 + Gemini/OpenAI 연동
Week 2:    OCR/마스킹/분석/면접 API 구현
Week 3:    V1 빅뱅 배포 + 피드백 수집

Week 4:    LangChain 도입 + VectorDB 셋업
Week 5:    RAG Chain 구현 (분석, 면접, 채팅)
Week 6:    Docker 컨테이너화 + Docker Compose
Week 7:    ALB + 다중 인스턴스 구성
Week 8:    V2 Production 배포 + 모니터링

Week 9-10: Kubernetes (EKS) 마이그레이션
Week 11-12: Multi-Agent 아키텍처 설계 + 구현
Week 13-14: 자체 모델 검토 + 비용 최적화

📊 API 목록 (5개 - 전 버전 동일)

# Endpoint Method 설명 처리방식
1 /ai/ocr/extract POST OCR 텍스트 추출 + 임베딩 (V2+) 🔄 비동기
2 /ai/file/embed POST 텍스트 직접 임베딩 ⚡ 동기
3 /ai/chat POST 모든 LLM 응답 (대화/분석/면접 질문/리포트) 📡 스트리밍
4 /ai/calendar/parse POST 일정 파싱 ⚡ 동기
5 /ai/masking/draft POST 게시판 첨부파일 마스킹 🔄 비동기

💡 통합된 API:

  • /ai/analyze/ai/chat (context: "analysis")
  • /ai/interview/question/ai/chat (context: "interview_question")
  • /ai/interview/report/ai/chat (context: "interview_report")
  • /ai/interview/save → Backend가 직접 DB 저장

📌 처리방식: ⚡ 동기 | 🔄 비동기 (task_id + 폴링) | 📡 스트리밍 (SSE)


🤔 고민할 포인트 (의사결정 필요)

아래 항목들은 프로젝트 상황에 따라 결정이 필요한 부분입니다.

1. V1 범위 결정

질문 선택지 고려사항
5개 API 전부 V1? A) 전부 / B) 핵심만 6주 안에 가능한가? 우선순위는?
핵심 API는 어디까지? 분석+면접 / 채팅+캘린더 / 마스킹 데모 시 어필 포인트?
RAG 없이 MVP 가치? O / X RAG 없으면 경쟁력 있나?
📝 고민:
- V1에서 RAG 없이 분석/면접 기능이 의미 있는가?
- 아니면 API 수를 줄이고 RAG를 V1에 포함할 것인가?

2. LLM 모델 선택

질문 선택지 고려사항
주 모델 Gemini Flash / Pro / OpenAI GPT-4 비용 vs 성능
한국어 성능 Gemini / GPT-4 / Claude 면접/분석 품질
Fallback 전략 있음 / 없음 (V2 이후) API 장애 대응
📝 고민:
- Gemini Flash (저렴) vs Pro (고품질) 어느 것을 기본으로?
- 면접 질문 생성에 GPT-4가 필요한가?
- 비용 예산은 월 얼마인가? ($50? $100? $500?)

3. OCR/VLM 선택

질문 선택지 고려사항
V1 OCR Gemini Vision / Clova OCR / PaddleOCR 한국어 정확도, 비용
마스킹용 VLM Gemini Vision / YOLO 정확도, 추가 학습 필요?
RunPod 사용 시기 V1 / V2 / 안 함 비용 vs 성능
📝 고민:
- Gemini Vision만으로 OCR + 마스킹 둘 다 가능한가?
- PaddleOCR 직접 배포하면 비용 절감 vs 운영 복잡도
- 마스킹에 YOLO 학습이 필요하면 시간 얼마나?

4. 인프라 전략

질문 선택지 고려사항
V1 인프라 EC2 1대 / EC2 분리 (BE+AI) 간단 vs 확장성
Docker 도입 시점 V1 / V2 개발 편의 vs 복잡도
VectorDB 배포 같은 EC2 / 별도 서비스 비용 vs 안정성
📝 고민:
- V1에서 Docker 없이 직접 배포 vs Docker Compose로 시작
- ChromaDB를 FastAPI와 같은 EC2에 설치? 별도 인스턴스?
- Redis는 V1에 필요한가? (대화 컨텍스트 유지)

5. 6주 일정 현실성

주차 계획 현실적? 리스크
Week 1 FastAPI 셋업 + LLM 연동 -
Week 2 5개 API 구현 통합으로 간소화
Week 3 V1 배포 + 테스트 ⚠️ 버그 수정 시간?
Week 4 RAG + VectorDB ⚠️ 러닝커브
Week 5 Docker + 인프라 ⚠️ 예상 외 이슈
Week 6 V2 배포 + 모니터링 버퍼 있나?
📝 고민:
- 6주 안에 V2까지 현실적인가?
- V1.5 개념으로 중간 배포가 필요한가?
- 버퍼 주간이 없는데 괜찮은가?

6. 우선순위 정리 (내가 결정해야 할 것)

우선순위 결정 사항 선택
⭐⭐⭐ V1 핵심 API 범위 5개 API (전체)
⭐⭐⭐ V1 RAG 포함 여부 포함 / 미포함
⭐⭐⭐ 주 LLM 모델 ___________
⭐⭐ OCR 서비스 ___________
⭐⭐ V1 Docker 사용 여부 사용 / 미사용
VectorDB 선택 ChromaDB / Qdrant
Redis V1 포함 여부 포함 / 미포함

📌 다음 단계

  1. 위 고민 포인트 결정 → 로드맵 확정
  2. V1 상세 태스크 분해 → 일정 세분화
  3. 기술 스파이크 → 불확실한 기술 미리 PoC
  4. 리스크 식별 → 대응 계획 수립