-
카카오클라우드 - 클라우드 개발자 교육 21주차 후기 (4/13 ~ 4/17)bootcamp 2026. 4. 20. 14:19
중간 발표 주간 — 399개 테스트를 어떻게 설명할 것인가...?



발표 대본 1차 작성
대본 작성 방법론
심사위원이 25분 발표 (15분 본 + 10분 Q&A 예정) 에서 뭘 물을지 예측하는 게 먼저였어요.우리 프로젝트의 특수성:
- 5-서비스 마이크로서비스 같은 서비스 — "왜 이렇게 쪼갰냐" 필수 질문
- 3개 DB 하이브리드 (Qdrant + ES + Neo4j) — "꼭 3개여야 하냐"
- 로컬 LLM + API 하이브리드 — "비용 vs 응답지연 tradeoff"예상 Q&A 10선
Q1. EXAONE 32B 를 로컬에서 돌리는 비용이 Solar API 보다 저렴합니까?
> 월 1천만 토큰 기준으로 GPU 비용(Tesla T4 온프렘) 을 상각하면 Solar API 의 약 40%. 그런데 응답 지연 p95 가 Solar 3초 vs EXAONE 7초라서 **한국어 생성은 EXAONE / 의도·감정·이미지는 qwen / 분류·추출·설명은 Solar** 로 역할 분담한 하이브리드가 비용·속도 양쪽을 잡습니다.
Q2. RRF 의 k=60 은 왜 60 이에요?
> Cormack(2009) 논문 경험값. `1/(k+rank)` 에서 k 가 너무 작으면 1등 후보가 과도하게 독점하고, 너무 크면 순위 차이가 뭉개져요. k=60 이 "1~10위까지 의미 있는 기여 + 20위 밖도 완전 무시는 아님" 의 절충점이라 하이브리드 검색 관례로 굳어졌습니다.
Q3. Cold Start (신규 유저) 는 어떻게 처리해요?
> `cold_start_checker` 노드가 `watch_history 5편 미만`이면 Cold Start 로 판정. CF 가중치 0 + CBF 100% 로 자동 전환하고, 인기작 fallback 을 섞습니다. Warm(5~29편) 은 CF 50% / CBF 50%, Heavy(30편+) 는 CF 60% / CBF 40% 로 **동적 가중치**.
Q4. Neo4j 를 꼭 써야 했냐? JOIN 으로 되잖아?
> "봉준호 감독 → 스릴러 배우 → 다른 영화" 같은 **멀티홉 3~4단계** 는 관계형 JOIN 으로 하면 쿼리가 30줄 넘어요. 동등 Cypher 는 4줄. 더 중요한 건 **성능**: JOIN 은 카티시안 곱이 폭발하지만 Neo4j 는 인접 노드 탐색이 O(1). 저희 테스트에서 4-hop 쿼리가 MySQL 900ms vs Neo4j 80ms.
Q5. 테스트 399건 전부 돌리는 데 얼마나 걸려요?
> CI 에서 Agent 340건 1.3초, Recommend 59건 1.0초. **Mock 기반** 이라서 외부 서버 없이 돌아요. 로컬 개발 중에는 `pytest -k "unit"` 으로 300건만 돌리면 0.5초.
Q6. LangGraph 쓰는 이유가 뭐예요?
> 조건부 분기가 많은 에이전트를 **시각적 그래프** 로 관리할 수 있어요. 저희 Chat Agent 는 16노드인데, 코드로만 보면 flow 파악이 어려워요. `graph.get_graph().draw_mermaid()` 로 자동 생성되는 Mermaid 다이어그램이 설계서 역할도 합니다.
Q7. 결제 시스템 동시성 처리는?
> Toss Payments v2 의 **Idempotency-Key** 헤더로 중복 결제 방지. 서버 쪽은 `SELECT ... FOR UPDATE` 로 포인트 차감 레이스 방지. 구독 갱신은 `@Scheduled(cron="0 0 * * * *")` 로 매 시간 Cron + **2-Phase 트랜잭션** (결제 commit → 리워드 지급 commit).
Q8. 운영 배포는 어떻게 해요?
> 로컬 빌드 → Docker tar 저장 → rsync 로 VM2 전송 → `docker load` → `compose up`. 자동화 스크립트는 다음 스프린트 과제. 현재는 3-VM 순차 배포 (`scripts/deploy-prod.sh`) 계획 중.
*Q9. 관찰성 스택 비용은?
> VM3 (2 vCPU / 4GB RAM) 한 대에 Prometheus + Grafana + ELK 전부 올림. 월 약 4만원. Log retention 7일로 잡아서 ES 용량 부담 최소화.
Q10. AI 가 부정확한 추천을 하면 어떻게 알아요?
> 두 가지 지표로 모니터링:
> ① 회귀 테스트 — 운영 버그마다 재발 방지 테스트 필수 추가 (최근 3주 6건)
> ② recommendation_log + user_feedback — 사용자가 추천 결과에 좋아요/관심없음 남기면 학습. Grafana 대시보드 `monglepick-api` 에 "추천 클릭률" 차트.예상 질문은 중, 하 난이도로.
100개중 10개만.
### 모의 발표 (수요일)
팀원 4명 중 2명이 심사위원 역할. 15분 발표 타이머 설정.
Q&A 모의 10분:
- 예상 못한 질문 :
- "실서비스 런칭 계획은?" → 현재 베타, 1천명 대기자 리스트.회고
잘한 것:
- 3단계 답변 준비 (30초 / 1분 / 3분) — 실제 Q&A 에서 꼬리질문에 당황 안 함
- 예상 Q&A 10선 중 5개 적중 — 정확히 반은 맞춤. 나머지 반은 여기 안적음.
- 시연 영상 미리 녹화 — 라이브 데모 실패 리스크 제거
못한 것:
- 예상 못한 질문 2개 — 몽글이 페르소나 + 런칭 계획. 다음엔 비즈니스 관점 질문도 준비
- 발표 중 긴장으로 말 더듬음 — 첫 질문부터 끝까지 나였음
- 관찰성 스택 슬라이드 시각 부족 — 대시보드 캡처 확대 필요
### 다음 스프린트 목표
- 운영 배포 자동화 스크립트 (`scripts/deploy-prod.sh`)
- 로컬 빌드 / rsync / VM2 load / compose up / 헬스체크 / 롤백 오케스트레이션
- `.env` 동기화 검증 필수 (이번 배포 때 교훈)
- 도장깨기 리뷰 검증 에이전트 실구현 (현재 `POST /admin/ai/review-verification/verify` 는 503 스텁)
- 몽글이 LoRA 파인튜닝 — EXAONE 4.0 1.2B 기반
- VM2 디스크 확장 OR Agent 이미지 슬림 리팩토링
- Neo4j Browser + Swagger 운영 Nginx 프록시 추가
- OCR 자동 추출 — Google Cloud Vision API 연동——————————————————————————
본 후기는 [카카오엔터프라이즈x스나이퍼팩토리] 카카오클라우드로 배우는 AIaaS 마스터 클래스 3기(B-log) 리뷰로 작성 되었습니다.'bootcamp' 카테고리의 다른 글
카카오클라우드 - 클라우드 개발자 교육 22주차 후기 (4/20 - 4/24) (0) 2026.04.24 카카오클라우드 - 클라우드 개발자 교육 20주차 후기(4/6 ~ 4/10) (0) 2026.04.20 카카오클라우드 - 클라우드 개발자 교육 19주차 후기(3/30 ~ 4/3) (0) 2026.04.20 카카오클라우드 - 클라우드 개발자 교육 18주차 후기 (0) 2026.03.29 카카오클라우드 - 클라우드 개발자 교육 17주차 후기 (0) 2026.03.29