명령줄에서 가장 빠르게 평가를 실행하는 법
promptfoo(오픈 소스, 2026년 중반 기준 v0.118+)는 LLM 애플리케이션 평가용 CLI이자 TypeScript 라이브러리야. 60개 이상의 모델 제공업체, 40종 이상의 결정론적 검증 유형, 14종의 모델 채점형 검증 유형, 선언형 YAML 설정을 지원해. 별도의 Python 평가 인프라 없이 빠르게 반복 개선하고 싶을 때 특히 잘 맞아.
기본으로 제공하는 기능
- 여러 프롬프트와 여러 제공업체의 조합을 한 번에 실행해 나란히 비교해.
- 검증 방식으로 contains, equals, is-json, contains-json, regex, similar(임베딩 코사인 유사도), llm-rubric, javascript, python 등을 지원해.
- 프롬프트 주입, 탈옥 공격, OWASP LLM 상위 10개 항목 등 50여 개 취약점 범주를 다루는 내장 레드팀 평가 모듈을 제공해.
- HTML 결과 뷰어(promptfoo view)와 CSV 내보내기를 지원해.
- 캐시, 재시도, 동시 실행을 관리해.
특히 잘 맞는 경우
promptfoo의 가장 큰 강점은 선언형 설정이야. YAML 파일 하나로 프롬프트 4개 × 모델 3개 × 평가 사례 50개 × 검증 조건 6개로 구성된 행렬을 선언할 수 있어. 같은 행렬을 코드로 작성하면 며칠이 걸릴 수 있지만 YAML로는 몇 분이면 돼. 프롬프트를 반복해서 개선하거나 모델 제공업체를 빠르게 비교할 때 탁월해.
잘 맞지 않는 경우
사용자 정의 검색기, 여러 에이전트의 반복 실행, 미세 조정 실험처럼 평가가 복잡한 Python 파이프라인 안에 들어가야 한다면 YAML 방식이 어색할 수 있어. 이럴 때는 DeepEval이나 직접 만든 평가 실행 도구가 더 잘 맞아.
원칙: promptfoo는 명령줄에서 프롬프트와 제공업체 조합을 평가하는 데 가장 강한 도구야. 첫 평가 도구로 적합하고, 마지막까지 계속 쓰는 도구가 되기도 해.