인제대학교 글로컬대학 AI솔루션센터 백엔드 총괄
2025.12 — 현재 · 백엔드 총괄 리드
Python 3.12, FastAPI, LangChain, FAISS, SQLAlchemy, PostgreSQL, Redis, Docker, uv
문제 정의
- AI솔루션센터는 성격이 다른 AI 서비스를 지속적으로 만들어야 하는 조직 — 서비스마다 백엔드를 새로 세우면 인증·DB·LLM 연동 코드가 서비스 수만큼 복제되고 품질이 사람에 따라 갈라짐.
- 목표는 개별 서비스가 아니라 서비스를 양산하는 체계.
설계와 구현
- uv 워크스페이스 기반 Python 모노레포 — 마이크로서비스와 공유 라이브러리의 경계 확립. 서비스는 라이브러리에만 의존, 서비스 간 의존 금지.
- 공유 코어 라이브러리 4종 구축 — 설정·로깅·표준 응답 래퍼(
common), SQLAlchemy 2 비동기 세션·제네릭 리포지토리(core-database), LLM 추상화(core-llm), JWT 인증(core-auth). - LLM 프로바이더 팩토리 — OpenAI·Anthropic·Ollama를 enum 스위칭으로 교체 가능하게 추상화. LCEL 파이프라인 기반 대화·QA 체인, FAISS 벡터스토어 RAG(PDF 인덱싱 포함)를 라이브러리로 제공.
- 단일 DB·다중 스키마 격리 — 서비스별 PostgreSQL 스키마 +
search_path분리로 초기 규모에서 운영 부담과 서비스 독립성의 균형 확보. - 서비스 스캐폴딩 CLI — 신규 서비스의 계층 구조·설정·Dockerfile·테스트까지 생성하는 1,000줄 규모 코드 생성기. 표준 구조를 도구로 강제.
- 첫 서비스 3종 구축 — LLM 진로 상담(대화 이력·이력서 컨설팅·STAR 면접 연습), FAISS RAG 입학 상담(모집요강 PDF 인덱싱), 실시간 크롤링 공모전 추천. 각기 다른 AI 백엔드 패턴(멀티프로바이더 프롬프팅 / RAG / 크롤링+필터링)을 하나의 체계에서 검증.
- 규모 — 약 8,500줄, 서비스 4개(예시 포함), 엔드포인트 32개. ruff·mypy strict·pytest를 워크스페이스 루트에서 일괄 강제.
배움
- 조직의 산출물이 "서비스 N개"일 때 리드가 먼저 만들 것은 첫 서비스가 아니라 N+1번째 서비스의 비용을 낮추는 구조.
- LLM 백엔드에서 프로바이더 추상화는 사치가 아니라 생존 — 모델·가격 정책이 분기마다 바뀌는 환경에서 교체 비용을 0에 가깝게 유지.
- 품질 도구의 일괄 강제는 인원이 늘어난 뒤가 아니라 혼자일 때 심어야 하는 하한선.