1. 커피 주문 흐름을 slot 기반 워크플로우로 고정했습니다
메뉴, 온도, 사이즈처럼 반드시 필요한 정보를 slot으로 정의하고, 누락된 slot이 있으면 다음 질문을 이어가도록 했습니다. 모든 판단을 LLM에 맡기면 대화가 자연스러울 수는 있지만 통화 종료 조건과 필수 정보 수집이 흔들릴 수 있어 서버가 상태를 추적하는 구조를 선택했습니다.
Backend Portfolio · 조창훈
Java/Spring 기반의 트랜잭션 기본기와 AI 서비스 백엔드 경험을 함께 쌓고 있습니다. 기능을 만드는 데서 끝내지 않고, 예상되는 실패 지점과 운영 비용, 데이터 정합성을 먼저 가정한 뒤 검증 가능한 해결책으로 좁히는 것을 중요하게 봅니다.
Representative Technical Brief
일본인 한국어 학습자가 전화 통화처럼 말하며 발화 연습을 하는 AI 기반 한국어 말하기 연습 서비스입니다.
메인 서버와 어드민 페이지 개발을 맡았습니다. 백엔드 API, 워크플로우 실행 흐름, 관리자용 데이터 관리 화면을 함께 구현했습니다.
영상 관리 어드민 페이지, AI 연습 대화용 워크플로우 작성, 커뮤니티 게시판, 유저 설정
3개월
2명
NestJS, Prisma, PostgreSQL, OpenAI, Vertex/Gemini, ElevenLabs, GCP, Firebase
AI 연습 대화의 대표 예시로 커피 주문 상황을 만들었습니다. 사용자가 메뉴, 온도, 사이즈 같은 필수 정보를 빠뜨리거나 중간에 다른 질문을 했을 때 대화가 어색하게 흐르거나 통화 종료 조건이 흔들릴 수 있었습니다. 이를 막기 위해 필수 slot 판정, JSON schema 출력, 최소 slot 판정 모델을 넣었고, 초기에는 이 판단들이 한 turn 안에 누적되며 응답까지 10-20초가 걸렸습니다.
처음에는 LLM 모델 자체가 느리다고 보기 쉬웠지만, 실제로는 한 turn 안에서 필수 slot 판정, JSON schema 강제, 최소 slot 판정 모델, 답변 생성, provider 호출, 네트워크 리전 이동이 누적될 가능성이 더 크다고 가정했습니다. 특히 JSON 출력 형식을 강제하면 서버 제어력은 높아지지만 프롬프트와 응답 토큰 길이가 늘어 응답 속도에 영향을 줄 수 있다고 봤습니다.
메뉴, 온도, 사이즈처럼 반드시 필요한 정보를 slot으로 정의하고, 누락된 slot이 있으면 다음 질문을 이어가도록 했습니다. 모든 판단을 LLM에 맡기면 대화가 자연스러울 수는 있지만 통화 종료 조건과 필수 정보 수집이 흔들릴 수 있어 서버가 상태를 추적하는 구조를 선택했습니다.
모델 응답을 자유 문장만으로 받지 않고 intent, slots, missingSlots, shouldEnd, reply 같은 구조로 받도록 강제했습니다. 이 방식은 서버 제어력을 높였지만 토큰 길이가 늘어 응답 속도에 영향을 준다는 점도 함께 확인했습니다.
모델에 따라 JSON 준수율, 대화 자연스러움, 응답 속도가 다르게 나타났고 이를 통해 모델 선택이 서비스 품질에 직접 영향을 준다는 것을 확인했습니다. Vertex를 사용한 내부 AI 서비스 구축 방식과 GCP Run 기반 배포 흐름도 함께 익혔습니다.
Architecture
원본 ERD는 전체 테이블 구조를 확인하는 자료로 두고, 이 요약도에서는 면접에서 설명할 핵심 도메인만 사용자 중심으로 다시 묶었습니다. 응답 지연 개선과 직접 맞닿는 부분은 AI 연습 대화, 음성 세션, 사용자 설정, 외부 provider 사용량입니다.
실제 프로젝트에서는 사용자, AI 연습 대화, 음성 세션, 퀴즈, 커뮤니티, 결제/구독, 단어 학습 도메인을 포함한 PostgreSQL 스키마를 Prisma 기반으로 관리했습니다. 아래 이미지는 원본 ERD이며, 원본 보기에서 세부 테이블과 관계를 확인할 수 있습니다.
원본 ERD 크게 보기Technical Skills
Other Projects
실제 아파트 경리 업무에서 ERP 엑셀 원본을 부과내역서, 재무제표 확인표, 전표 입력 데이터로 바꾸는 자동화 흐름을 만들었습니다.
03GodLifeRouting중복 요청과 동시성 충돌 방지송금/정산처럼 중복 실행에 민감한 도메인에서 한 번 성공한 요청이 다시 처리되거나 잔액 업데이트가 겹치는 상황을 먼저 가정했습니다.
04깻냥2024.12 SSAFY 자율 프로젝트 우수상사용자가 정해진 시간에 알림을 받고 영상통화 방에 입장해 팀원과 함께 미션 수행 여부를 확인하는 습관 인증 서비스입니다.
Credentials & Awards
운영체제, 네트워크, 소프트웨어 공학, RDB/SQL 기본기를 백엔드 설계 판단에 연결하고 있습니다.
알고리즘, CS, Java/Spring 과제를 꾸준히 완수하며 단기간 학습 역량과 팀 과제 기여를 인정받았습니다.
알림과 영상통화 기반 습관 인증 서비스에서 실시간 사용 흐름 안정화에 기여했습니다.