나만의 작고 소중한 스마트 LLM 라우터 만들기
신청하기 ↓소개
개발을 하다 보면 "간단한 구현인데 비싼 모델을 써야 하나?" 같은 고민을 하게 됩니다. 쉬운 요청은 작은 모델에, 어려운 요청은 큰 모델에 알아서 보내 주는 스마트 라우터를 Python으로 처음부터 구현합니다. LiteLLM 같은 오픈소스 라우터가 요청을 분류하는 방식을 참고해, 프레임워크 없이 직접 코드를 짜면서 요청을 어떻게 판단하고 모델을 어떻게 고르는지 이해하는 것이 목표입니다.
따로 준비된 OpenAI 호환 API로 모델을 사용합니다. GPU는 필요 없습니다.
진행 방식
네 단계로 나누어, 각 단계마다 짧게 개념을 익히고 바로 실습한 뒤 정리합니다. (총 120분)
도입 (10분). 같은 질문을 큰 모델과 작은 모델에 보내 품질·속도·비용 차이를 직접 확인합니다.
1단계 — 키워드 규칙 (15분). "이 단어가 있으면 이 모델"이라는 규칙표로 가장 단순한 분류기를 만듭니다. 준비된 질문 세트를 넣어 질문마다 어느 모델이 골라지고 어떤 답이 오는지 확인하고, 규칙의 충돌과 빈틈을 찾습니다.
2단계 — 점수 분류기 (25분). 코드, 추론 표현, 기술 용어, 길이 같은 신호마다 가중치를 주고 더해 요청의 난이도 점수를 냅니다. 경계값을 넘으면 큰 모델로 보냅니다. 같은 질문 세트로 가중치와 경계값을 바꿔 가며 결과가 어떻게 달라지는지 확인합니다.
3단계 — LLM 분류기 (25분). 작은 모델에게 난이도를 JSON으로 답하게 해 판정을 맡깁니다. 답이 깨지거나 늦으면 점수 분류기로 되돌아가도록 코드가 책임집니다. 점수가 경계 근처일 때만 LLM에게 묻도록 바꾼 뒤, 질문 세트로 세 방식의 정확도, 호출 수, 응답 시간, 비용을 비교합니다.
4단계 — 라우터 서버로 채팅하기 (35분). 완성한 분류기를 간단한 OpenAI 호환 API 서버로 감싸, 들어온 요청을 알맞은 모델로 보내도록 만듭니다. 채팅 페이지에서 실제로 대화하며 질문마다 어떤 모델이 선택됐는지와 비용을 확인합니다.
마무리 (10분). 더 발전시킬 수 있는 방향(임베딩으로 비슷한 질문 찾기, 학습된 판정 모델, 응답 결과로 라우팅 개선하기)과 실제 라우터를 소개하고 질의응답을 진행합니다.
대상
- Python 기본 문법과 함수 작성에 익숙한 개발자
- AI나 LLM 사전 지식은 필요하지 않습니다
다루는 것
- OpenAI 호환 API로 여러 모델 호출, 품질·속도·비용 비교
- 키워드 규칙과 가중치 점수로 요청 분류하기
- LLM에게 판정 맡기기: JSON 출력, 실패 시 되돌아가기
- 경계 구간에서만 LLM을 부르는 단계적 판정
- 질문 세트로 분류기를 시험하고 비교하기
- OpenAI 호환 서버로 라우터 띄우기, 요청별 토큰·비용 기록
얻어가는 것
OpenAI 호환 API라 어떤 앱에도 붙일 수 있는 나만의 스마트 라우터를 얻어 갑니다. 질문 세트로 분류 방식을 비교하며, 언제 규칙으로 충분하고 언제 LLM에게 판단을 맡겨야 하는지 정확도와 비용으로 판단하는 감각을 기릅니다.
참가 대상 · 사전 지식
Python 기본 문법과 함수 작성에 익숙한 개발자
강사
이승원
래블업
AI 코딩 에이전트를 적극적으로 활용하며 즐겁게 개발하고 있는 주니어 소프트웨어 엔지니어입니다. 현재는 래블업에서 AI 워크로드를 위한 백엔드 인프라 플랫폼인 Backend.AI의 WebUI를 개발하고 있으며 오픈소스 프로젝트인 ThorVG.web에도 기여하고 있습니다.