OpenJudge
무엇인가
OpenJudge는 LLM 애플리케이션의 출력과 실행 과정을 채점하는 Python 기반 평가 프레임워크다. 에이전트, 챗봇, 코드, 수학, 멀티모달 작업을 대상으로 하며, 채점 결과를 학습 보상 신호로 되돌려 애플리케이션 개선 순환에 놓는다. 관측 도구가 수집한 트레이스를 채점 가능한 단위로 바꾸는 자리를 차지한다.
어떻게 동작하나
중심 구성 요소는 grader다. General(Relevance, Similarity, Syntax Check, JSON Match), Agent(Tool Selection, Memory, Plan, Trajectory), Multimodal(Image Coherence, Text-to-Image, Image Helpfulness) 세 분류로 나뉘고, 각 grader는 LLM 프롬프트 기반이거나 Python 인터페이스로 정의된다. GraderGenerator는 작업 설명만으로 zero-shot 루브릭을 만들거나 라벨링된 예시에서 루브릭을 요약해 LLM grader를 생성한다. 채점 결과는 reward signal로 변환되어 fine-tune에 쓰인다.
무엇과 다른가
LangSmith와 Langfuse는 트레이스 수집과 모니터링을 담당하고, OpenJudge는 그 위에 evaluator를 얹는 통합을 제공한다. VERL 같은 RL 학습 프레임워크와도 연결된다. 즉흥적으로 작성한 LLM-as-judge 스크립트와 달리 grader마다 벤치마크 데이터셋과 pytest 검증이 붙어 있다.
어떻게 쓰나
Streamlit 기반 UI가 ui/app.py에 있고 `streamlit run ui/app.py`로 로컬에서 실행한다. 설치 없이 openjudge.me/app에서 내장 grader를 시험하고 zero-shot 루브릭을 만들 수 있으며, 리더보드는 openjudge.me/leaderboard에서 본다. 설치 방법은 Quickstart Guide로 위임되어 있다.
전제와 한계
LLM 기반 grader는 외부 모델 호출을 전제로 한다. Judge Model 학습 파이프라인은 대량의 라벨링된 데이터가 있어야 성능이 나온다. 온라인 플레이그라운드는 설치 없이 브라우저에서 동작한다.
관련 논문 2
유사 도구
- evalscopeLLM·VLM·임베딩·AIGC 모델의 벤치마크 평가와 추론 성능 스트레스 테스트를 명령 하나로 실행하고 웹 대시보드로 시각화하는 Python 프레임워크다.
- prometheus-evalLLM 응답을 채점하도록 학습된 오픈소스 평가자 모델 Prometheus를 vLLM 또는 LiteLLM API로 호출해 지시문-응답 쌍에 점수를 매기는 Python 패키지다.
- giskard-ossLLM 에이전트의 평가와 레드팀 스캔을 한 저장소에서 다루는 Python 라이브러리다. v3는 의존성을 쪼갠 모듈 패키지와 비동기 다중 턴 시나리오를 기반으로 한다.
- Tracely-ai에이전트 트레이스를 OTLP로 수집해 실패를 클러스터링하고, 실패한 실행을 회귀 테스트로 고정해 PR을 차단하는 CI/CD 도구다.