| 업무/기능 | Backend (API/DB) | AI 서버 (FastAPI) | VDB (Milvus) | Storage (S3) | 한 줄 핵심(설명 포인트) |
|---|---|---|---|---|---|
| 사용자/권한(ROLE) | ✅ 권한 판단/검증(누가 가능한지 결정) | ✅ 요청에 맞춰 동작(권한 전제로 실행) | ❌ | ❌ | 권한 “결정”은 Backend, AI는 “따라서 실행” |
| 리소스 메타(문서/영상/스크립트) | ✅ DB에 저장/조회(제목, 상태, 버전, 소유자) | ⚠️ 실행 중 필요한 최소 메타만 사용 | ❌ | ❌ | 상태/버전의 단일 기준은 Backend DB |
| 승인 워크플로우(검토/승인/반려) | ✅ 상태 변경/알림/이력 관리 | ❌ (승인 판단하지 않음) | ❌ | ❌ | 승인/반려는 비즈니스 규칙 → Backend |
| 채팅 요청 수신/세션 | ✅ session_id/user_id/role 관리, 프론트와 연결 | ✅ 실제 답변 생성, 스트리밍 출력 | ❌ | ❌ | Backend는 “접수/중계”, AI는 “답변 생성” |
| 입력/출력 민감정보(PII) | ⚠️ 원칙상 최소 저장(가능하면 저장 X) | ✅ PII 검사/마스킹 호출 & 적용(입력/출력) | ❌ | ❌ | PII는 AI단에서 먼저 막고 안전하게 흘림 |
| 의도/도메인 판단(라우팅) | ⚠️ 정책/파라미터 전달(도메인 등) | ✅ 질문 유형 판단 후 경로 선택 | ❌ | ❌ | 무슨 답을 할지(경로 선택)는 AI가 담당 |
| RAG 검색(질문→근거 찾기) | ❌ | ✅ VDB 검색 호출 + 근거 구성 | ✅ 벡터 검색 수행/필터 적용 | ❌ | 검색 실행은 AI, 검색 저장소는 VDB |
| 인덱싱 트리거(승인 후 반영) | ✅ “승인됨” 확인 후 인덱싱 요청 호출 | ✅ 텍스트추출/청킹/임베딩/업서트 실행 + 잡 관리 | ✅ 벡터/메타 저장 | ✅ 원본 파일 저장(문서/PDF 등) | Backend가 ‘시작’ 버튼, AI가 ‘실제 작업’ |
| 삭제/버전 정책(ACTIVE/ARCHIVED) | ✅ 어떤 버전이 최신/활성인지 결정 | ✅ 그 정책대로 인덱싱/삭제 수행 | ✅ 검색 대상에서 제외/포함 | ✅ 파일은 보관 가능(정책에 따름) | 무엇이 “현재 정답”인지는 Backend가 결정 |
| 영상 스크립트 생성 | ✅ 생성 요청/저장(DRAFT) | ✅ LLM 호출로 초안 생성 | ❌ | ⚠️ (필요 시 자료 파일) | AI가 초안 생성, Backend가 상태/저장 |
| 영상 렌더 Job(생성/상태) | ✅ job 생성 요청/조회 API 제공(표시/통제) | ✅ TTS/렌더 실행, 단계별 상태 기록 | ❌ | ✅ 결과물 업로드(영상/썸네일/자막) | Backend는 “관리 화면”, AI는 “렌더 실행 엔진” |
| 발행(PUBLISH) | ✅ PUBLISHED 처리(공개 여부 결정) | ⚠️ 발행 이후 후처리(예: KB 인덱싱) | ✅ (선택) 발행 콘텐츠 인덱싱 | ✅ 공개 파일 제공(URL) | 공개 결정은 Backend가 함(통제 지점) |
| 로그/감사/추적(request_id) | ✅ 서비스 로그/이력 저장(필요시) | ✅ AI 단계 로그(PII/RAG/LLM/latency) 생성 | ❌ | ❌ | 문제 생기면 request_id로 전 구간 추적 |
| 장애/재시도 | ✅ 재시도 버튼/정책/표시 | ✅ 실패 단계 기록 + retry/cancel 수행 | ✅ (검색/업서트 실패 원인 제공) | ✅ (업로드 실패 원인) | 실패는 “기록+복구”가 핵심(운영 관점) |
| 절대 하지 않는 것(경계) | ❌ LLM 직접 호출(원칙) / ❌ 벡터DB 직접 조작(원칙) | ❌ 승인 결정 / ❌ “최종 상태의 단일 기준” 되기 | ❌ 파일 저장/업무 로직 | ❌ 검색/승인/정책 로직 | 각 컴포넌트가 ‘자기 일’만 해야 안정적 |
이 3줄만 기억하면 멘토님 질문 대부분을 깔끔하게 받아칠 수 있어요.
“저희는 Backend가 승인/권한/상태/발행을 책임지는 단일 기준이고,
AI 서버는 그 결정에 따라 검색(RAG), 답변 생성, 스크립트 생성, 영상 렌더, 인덱싱 같은 실행을 담당합니다.