프로젝트 계획을 마치고 이를 구현할 모델을 선택해야 할 때, 여러분은 두 가지 값비싼 실수 사이에서 고민하게 됩니다. 너무 강력한 모델을 선택하면 사용하지도 않을 여유 성능(headroom)에 비용을 지불하게 되고, 너무 약한 모델을 선택하면 작업을 수행하지 못해 비용만 지불하고 아무것도 얻지 못하게 됩니다. 저는 가장 비용이 적게 드는 시점, 즉 사양(specs)이 존재하지만 토큰을 단 하나도 소비하기 전의 순간에 이 문제를 해결하기 위해 작은 오픈 소스(open-source) 도구를 만들었습니다.
작동 방식: SpecJudge는 여러분의 사양 주도 개발 (Spec-Driven Development) 산출물(헌법(constitution), 사양(spec), 작업(tasks))을 읽고, Ollama에서 실행되는 로컬 모델이 프로젝트가 실제로 얼마나 까다로운지 추정합니다. 이를 모델 카탈로그와 대조하여 각 모델의 가격과 함께 가장 적합한 모델들의 시상대(podium)를 제공합니다.
가장 중요하게 생각하는 부분: 이 도구는 가장 저렴한 모델이나 가장 강력한 모델을 추천하는 것이 아니라, 규모가 적절한 (right-sized) 모델을 추천합니다. 시상대는 적합도(fit)에 따라 순위가 매겨지며, 가격은 적합도가 동일한 모델들 사이에서만 순위를 결정합니다. 작업을 수행할 수 없는 모델을 추천하는 것이야말로 가장 값비싼 실수입니다.
설계부터 로컬 중심 (Local by design): 판사(judge)는 Ollama를 통해 여러분의 기기에서 실행됩니다. 여러분의 사양 — 즉 비즈니스 로직(business logic) — 은 절대 제3자 서비스에 닿지 않으며, 어떤 모델을 구매할지 결정하는 데 API 호출 비용이 전혀 들지 않습니다. 브라우저 보고서 (--open)는 네트워크에서 아무것도 로드하지 않는 독립형 HTML 파일입니다.
직접 시도해 보세요 (Python 3.11+ 및 최소 하나 이상의 로컬 모델이 설치된 Ollama 필요):
ollama pull llama3.1:8b
pip install specjudge
specjudge /path/to/your/project
첫 실행 시 로컬 모델 목록을 나열하고 어떤 모델을 판사로 사용할지 묻습니다. MIT 라이선스이며, 모델 카탈로그는 코드와 의도적으로 분리된 일반 YAML 파일로 존재합니다. 따라서 모델을 추가하거나 가격을 수정하는 것은 Python 작업 없이 PR(Pull Request)만으로 가능합니다. 가격과 모델은 빠르게 변하므로, 이 부분에서 도움을 받고 싶습니다.
GitHub: https://github.com/JoaquinRuiz/SpecJudge
PyPI: https://pypi.org/project/specjudge/
판단 로직이 어색하게 느껴지는 부분이 있다면 기꺼이 듣겠습니다. 그러한 피드백이 카탈로그를 더 좋게 만듭니다.
/u/jokiruiz가 r/LocalLLaMA에 게시함 [link] [comments]