PM C씨는 매달 청구되는 LLM API 비용 명세서를 보고 한숨을 내쉰다. 이번 주 개발자 커뮤니티에서는 모든 요청을 고성능 모델로 보내는 대신 질문의 난이도에 따라 모델을 갈아끼우는 라우팅 기술이 뜨겁다. 깃허브에서는 프롬프트를 로컬에서 먼저 분석해 비용을 아끼려는 시도가 빠르게 확산 중이다. 고비용 모델의 의존도를 낮추고 효율적인 인프라를 구축하려는 개발자가 늘고 있다.

NadirClaw의 로컬 분류와 Gemini 모델 전환

NadirClaw(프롬프트를 분석해 적절한 모델로 보내주는 지능형 라우팅 계층)는 프롬프트를 단순 작업과 복잡 작업의 두 단계로 분류한다. 이 시스템은 SentenceTransformer(텍스트를 숫자로 된 벡터로 변환하는 도구) 인코더를 사용해 로컬 환경에서 먼저 분류를 수행한다. 개발자는 관련 패키지를 설치하고 Gemini API 키를 설정한 뒤 NadirClaw CLI(명령줄 인터페이스)를 통해 실제 모델 호출 없이 분류 성능을 테스트할 수 있다.

분류의 핵심은 Centroid vectors(데이터 집합의 중심을 나타내는 벡터)에 있다. 시스템은 단순 작업과 복잡 작업의 중심 벡터를 로드하고, 입력된 프롬프트의 임베딩 값과 이 중심점들 사이의 코사인 유사도를 비교한다. 이 과정에서 재사용 가능한 classify() 함수를 정의해 프롬프트를 보내면 라우팅 티어, 점수, 신뢰도, 할당된 모델 정보가 포함된 JSON(데이터를 주고받기 위한 경량 형식) 결과가 반환된다. 개발자는 여기서 벡터의 형태와 노름, 유사도를 직접 비교하며 분류 로직을 검증한다.

API 호출 전 단계에서 결정되는 라우팅 기준

예전에는 모든 요청을 가장 성능이 좋은 Pro 모델에 맡겼지만 이제는 로컬 프롬프트 분류기가 먼저 필터 역할을 한다. 프롬프트가 입력되면 로컬에서 임베딩을 생성하고 이를 산점도로 시각화해 단순 작업과 복잡 작업의 경계를 확인한다. 개발자는 신뢰도 임계값(판단 기준이 되는 최소 수치)을 조정해 불확실한 요청을 더 강력한 모델로 보낼지 결정한다. 특히 에이전트 방식이나 추론, 비전 스타일의 요청은 별도의 수정자를 통해 처리 경로가 달라진다.

실제 운영 환경에서는 NadirClaw 프록시 서버(요청을 중간에서 가로채 전달하는 서버)를 실행해 Gemini Flash와 Gemini Pro 사이의 전환을 자동화한다. /health 엔드포인트(서버 상태를 확인하는 경로)로 서버 작동 여부를 확인한 뒤 OpenAI SDK(OpenAI API를 쉽게 쓰게 해주는 개발 도구)를 통해 요청을 보내면 시스템이 자동으로 모델을 선택한다. 10개의 혼합 워크로드를 전송해 어떤 모델이 사용되었는지 관찰하고, 이를 모든 요청을 Pro 모델로 처리했을 때의 기준점과 비교해 실제 비용 절감액을 추산한다. 마지막으로 내장된 리포트 명령어를 통해 요청 로그를 분석하고 프록시 서버를 종료하는 흐름으로 마무리된다.

이제 모델의 절대적 성능보다 어떤 모델을 언제 호출할지 설계하는 라우팅 최적화 능력이 LLM 서비스의 실질적인 수익성을 결정한다.