핵심 요약
여러 프롬프트 변체와 모델을 조합하여 자동 실행하고, 규칙 기반 휴리스틱과 AI 심사위원으로 점수를 매겨 최적의 조합을 찾아주는 Python CLI 도구이다.
배경
수동적인 프롬프트 수정과 모델 비교 작업의 번거로움을 해결하기 위해, YAML 설정을 통해 여러 모델과 프롬프트를 자동으로 테스트하고 점수를 매기는 Python 기반 CLI 도구를 개발하여 공유했다.
의미 / 영향
프롬프트 엔지니어링이 단순한 시행착오에서 데이터 기반의 자동화된 평가 단계로 진화하고 있음을 확인했다. 특히 모델의 자기 평가 편향을 제어하는 로직은 실무적인 LLM 평가 시스템 구축 시 필수적으로 고려해야 할 요소이다.
실용적 조언
- 프롬프트 평가 시 모델의 자기 평가 편향을 방지하기 위해 생성 모델을 심사에서 제외하는 설정을 사용한다.
- ZenMux와 같은 통합 API 서비스를 활용하여 다양한 모델을 하나의 키로 간편하게 테스트한다.
언급된 도구
Rich추천
터미널 결과 시각화 및 테이블 렌더링
httpx추천
비동기 HTTP API 통신
ZenMux추천
다중 LLM 모델 API 통합 엔드포인트
섹션별 상세
프롬프트와 모델의 데카르트 곱(Cartesian product) 테스트 방식을 사용한다. 사용자가 정의한 여러 프롬프트 변체와 대상 모델들을 조합하여 모든 경우의 수를 자동으로 실행한다. 이를 통해 특정 프롬프트가 어떤 모델에서 가장 잘 작동하는지 객관적으로 비교할 수 있는 데이터를 생성한다.
이중 점수 산정 체계인 규칙 기반(Rule-based)과 AI 기반(AI-based) 평가를 결합했다. 출력 길이나 구조(불렛 포인트, 헤더), 트리그램 카운팅을 통한 반복 여부를 체크하는 규칙 점수와, 별도의 심사 모델을 통한 AI 평가 점수를 합산한다. 기본적으로 AI 평가에 2배의 가중치를 부여하여 실제 품질에 가까운 지표를 산출한다.
모델의 자기 평가 편향(Self-judging bias)을 방지하는 기능을 포함했다. exclude_self_judge 플래그를 활성화하면 답변을 생성한 모델은 해당 답변의 심사에서 제외된다. 예를 들어 GPT-5-mini가 생성한 답변은 Gemini 등 다른 모델만 심사하도록 설정하여 평가의 객관성을 확보했다.
결과 시각화 및 데이터 내보내기 기능을 지원한다. 터미널에서 Rich 라이브러리를 이용해 프롬프트와 모델별 점수 매트릭스를 테이블 형태로 출력하며, 최적의 조합을 하이라이트하여 표시한다. 모든 결과 데이터는 JSON 파일로 내보내어 추가적인 분석에 활용 가능하다.
실무 Takeaway
- YAML 설정을 통해 다수의 프롬프트 변체와 모델 조합을 자동 실행하여 수동 반복 작업을 제거한다.
- 규칙 기반 휴리스틱과 AI 심사위원 점수를 가중 평균하여 객관적인 성능 지표를 제공한다.
- 모델의 자기 평가 편향을 막기 위해 생성 모델을 심사에서 제외하는 기능을 구현했다.
- ZenMux와 같은 OpenAI 호환 엔드포인트를 지원하여 하나의 API 키로 100개 이상의 모델을 테스트할 수 있다.
언급된 리소스
AI 분석 전체 내용 보기
AI 요약 · 북마크 · 개인 피드 설정 — 무료