TL;DR
ModelFit은 특정 코드베이스에서 자동으로 생성한 프로브와 명시적 루브릭을 이용해 후보 LLM의 정답률을 우선으로 비교하는 오픈소스 도구이다. 프로브는 대상 리포지토리의 실제 코드·패턴에서 유도되며 채점자는 모델명을 보지 못한 상태로 응답을 검증하기 때문에 평균 벤치마크와는 다른 실무 중심 비교가 가능하다.
실행 파이프라인은 각 프로브를 후보 모델에 전송해 시도와 응답을 기록하고, 판정자에게 과제와 루브릭과 응답을 전달해 JSON 형식의 엄격한 평결을 수집한 뒤 리포트에서 합격률·품질·비용을 종합해 순위를 매긴다. 비용은 공급자 토큰 사용량이 제공되는 경우 추적되며 누락 시 NA로 표기되고, 샘플 수를 늘리면 런 간 분산을 줄일 수 있다.
블라인드 채점은 모델 식별 편향을 낮추지만 스타일 편향과 프롬프트 인젝션 위험은 남아 있고, 판정자가 코드를 실제로 실행하지 않으면 컴파일 의존성으로 인한 실패 모드를 놓칠 수 있다. 따라서 민감한 데이터는 .env 등으로 관리하고 가격·샘플링 설정을 검증해야 하며 결과 해석 시 통계적 신뢰도와 실행 커버리지를 함께 고려해야 한다.
섹션별 상세

- ModelFit은 OpenAI 호환 /chat/completions 및 Anthropic 호환 /v1/messages 엔드포인트와 호환되는 후보 모델을 지원한다. — README 'Any compatible model. OpenAI-compatible /chat/completions and Anthropic-compatible /v1/messages endpoints.' 문단 출처
for p in probes/*.md; do
n=$(basename "$p" .md)
./bin/modelfit run "$n" all --samples 1
./bin/modelfit judge "$n" all
done
./bin/modelfit reportprobes 디렉토리의 각 프로브를 순회하며 run 명령으로 후보 모델에 프롬프트를 보내고 judge 명령으로 블라인드 루브릭 채점을 실행한 뒤 최종적으로 report를 생성하는 배치 실행 예시이다.
./bin/modelfit run example-chunk fake-model-key --samples 1
./bin/modelfit judge example-chunk fake-model-key
./bin/modelfit report단일 프로브에 대해 후보 모델과 판정자를 스모크 테스트하는 순서로, 샘플 수를 지정해 반복 변동성을 확인할 수 있는 기본 사용 예시이다.
- 리포트는 합격 비율, 품질, 후보 비용을 종합해 순위를 매기고 공급자 토큰 사용량이 제공되지 않으면 비용 항목을 NA로 표기한다. — README 'report.sh ranks by pass percentage, quality and candidate cost' 및 'Missing usage is NA, not zero.' 문단 출처
- 판정자는 과제, 루브릭, 응답만을 보고 후보 모델명을 보지 못하는 블라인드 루브릭 채점 방식을 사용한다. — README 'Blind rubric grading. The judge sees the task, rubric and answer, not the candidate model name.' 문단 출처
- 단일 샘플(run --samples 1)은 통계적 신뢰도가 낮으며 분산이 중요할 때는 --samples N으로 반복 실행해야 한다. — README 'One sample is not statistical confidence. Use --samples N when run-to-run variance matters.' 문단 출처
용어 해설
- 프로브(Probe)
- — 프로브는 대상 리포지토리 코드와 관련된 구체적 과제를 묻는 프롬프트와 이에 대한 채점 기준(rubric)을 한 쌍으로 구성한 테스트 케이스로서, 각 모델에 동일한 입력을 제공해 기능적 차이를 드러내도록 설계되어 모델 선별 정확도를 검증하는 데 사용된다.
- 루브릭(Rubric)
- — 루브릭은 모델 응답의 정답 여부와 품질을 판단하기 위한 명시적 채점 규칙으로서 판정 기준과 출력 포맷을 정의하여 판정자의 주관을 줄이고 자동화된 판정의 일관성을 높이는 역할을 한다.
- 블라인드 루브릭 채점(Blind Rubric Grading)
- — 블라인드 루브릭 채점은 채점자가 후보 모델의 이름을 보지 못하는 상태에서 과제, 루브릭, 응답만으로 판단을 내리게 하는 방식으로서 모델 식별 편향을 줄이고 정확도 중심의 비교를 가능하게 한다.
- 런 아이디(Run ID)
- — 런 아이디는 각 실행을 불변하게 식별하는 고유 키로서 샘플별 출력, 시도 기록, 판정 결과를 추적하고 이후 감사나 재현을 위해 실행 단위를 고유하게 참조하는 데 사용된다.
- 커버리지 인식 리더보드(Coverage-Aware Leaderboard)
- — 커버리지 인식 리더보드는 모델의 합격 비율과 품질을 기반으로 순위를 매기되 샘플별 판정 수, 미완료 항목, 시도 횟수 등을 함께 보여주어 단순 평균 점수만으로 판단하지 않도록 설계된 리포트 방식이다.
기술
- Claude Code
- OpenAI
- Anthropic
- jq
- shellcheck
활용 사례
- 리포지토리 특화 LLM 성능 비교와 모델 선정
- 정확도 우선의 모델 순위 산정 및 비용·지연 보조 분석
- 프로덕션 전 모델 스모크 테스트와 커버리지 리포팅
언급된 리소스
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.


