Promptfoo
프롬프트·모델을 테스트 케이스로 비교하고 회귀를 잡는 평가 도구
지표
GitHub API 에서 직접 읽은 값입니다
GitHub 별26,004
라이선스MIT저장소 공개
주 언어TypeScript2023-04-28 공개
마지막 커밋2026-10-15확인 2026-10-15
별 수 추이는 기록이 쌓인 뒤에 보여 줍니다 — 과거 값은 소급해 만들 수 없습니다.
무엇을 하는 도구인가
프롬프트나 모델을 바꿀 때마다 여러 입력값을 하나씩 수동으로 돌려보고 결과를 눈으로 대조하는 작업을 대신해 준다. 입력과 기대 결과로 구성된 테스트 케이스 집합을 미리 정의해 두면, 프롬프트·모델·파라미터를 바꿀 때마다 같은 케이스를 다시 실행해 결과를 나란히 비교하고 기준에 못 미치는 항목을 회귀로 표시하는 방식으로 동작한다. Langfuse, Arize Phoenix, OpenLLMetry 같은 도구는 운영 중 실제 호출을 추적·수집하는 데 중심이 있는 반면, Promptfoo는 변경 전후 품질을 테스트 케이스 기반으로 채점·비교하는 데 중심이 있다. DeepEval, Opik도 유사한 평가 기능을 제공하지만, Promptfoo는 설정 파일과 CLI 중심 워크플로를 취해 CI 파이프라인에 끼워 넣는 용도로 쓰이는 경우가 많다.
이럴 때 고른다
- 프롬프트나 모델을 교체하기 전에 기존 동작이 깨지지 않는지 확인하고 싶을 때
- 여러 모델이나 프롬프트 버전을 같은 테스트 케이스로 나란히 비교해 선택하고 싶을 때
- CI 파이프라인에 품질 체크를 끼워 넣어 변경 사항이 머지 전에 자동으로 검증되게 하고 싶을 때
- 특정 입력에 대해 기대 출력 기준(assertion)을 정의해 두고 반복적으로 재검증하고 싶을 때
어디까지만 하나
- 테스트 케이스와 채점 기준을 직접 설계해야 한다 — 무엇이 좋은 답인지는 도구가 대신 정의해 주지 않는다
- 운영 중 실시간 호출을 추적·수집하는 기능과는 성격이 다르므로, 라이브 트래픽을 지켜봐야 한다면 같은 층의 다른 도구와 함께 쓰는 경우가 많다
- 테스트 케이스가 실제 사용 패턴을 좁게만 반영하면 거기서 벗어난 회귀는 잡히지 않는다 — 결과의 신뢰도는 테스트 셋 품질에 좌우된다
- 직접 호스팅과 관리형 제공 중 선택해야 하며, 직접 호스팅을 택하면 운영·유지 부담을 별도로 진다
관측·평가 층은 무엇을 푸나
무엇이 호출됐고 왜 그 답이 나왔는지 기록하고, 바뀐 뒤에도 품질이 유지되는지 본다
언제 필요해지나 — 운영에 올린 뒤 — 이 층이 없으면 품질 저하를 알아차릴 방법이 없다
같은 층의 다른 도구
층이 같다는 것은 푸는 문제가 같다는 뜻입니다 — 비교가 되는 자리입니다
| 도구 | 하는 일 | 별 | 라이선스 |
|---|---|---|---|
| Promptfoo 보는 중 | 프롬프트·모델을 테스트 케이스로 비교하고 회귀를 잡는 평가 도구 | 26,004 | MIT |
| Langfuse | 호출 추적·프롬프트 관리·평가를 한곳에서 보는 LLM 관측 도구 | 35,850 | — |
| Opik | 추적·평가·실험 비교를 함께 두는 오픈소스 LLM 플랫폼 | 22,616 | Apache-2.0 |
| DeepEval | 단위 테스트처럼 쓰는 LLM 출력 평가 프레임워크 | 18,879 | Apache-2.0 |
| Arize Phoenix | OpenTelemetry 기반 추적과 평가를 묶은 오픈소스 관측 도구 | 11,841 | — |
| OpenLLMetry | OpenTelemetry 표준으로 LLM 호출을 계측하는 확장 | 7,495 | Apache-2.0 |
관련 용어
지표는 GitHub API 실측값입니다. 설명은 이 사이트가 작성했으며 공식 문서를 대체하지 않습니다 — 도입 전에 원문을 확인하세요.