어떤 일에 어떤 framework
진지한 LLM 프로젝트 lifetime 동안 2-3 framework 쓰게 될 거야. 잘못 고르면 몇 달 비용. 아래 matrix 써.
Decision matrix
| 필요 | 고름 |
|---|---|
| CLI/YAML 에서 prompt × provider matrix | promptfoo |
| Rich metric 있는 pytest-native Python eval | DeepEval |
| 공유 팀 workspace + production observability | Braintrust |
| 표준 NLP benchmark (MMLU, HumanEval, GSM8K) | lm-evaluation-harness |
| RAG-specific 분해 metric | RAGAS |
| Agent, tool use, code execution, safety eval | Inspect AI |
| Infra 없는 빠른 custom hack | Hand-rolled Python + JSONL |
Framework 섞는 거 정상
실제 팀들은 보통 prompt iteration 에 promptfoo, CI 의 unit-level RAG metric 에 DeepEval, 팀-wide observability 에 Braintrust, base model 비교 시 lm-eval-harness 돌려. 어떤 것도 4개 다 잘 하려고 하지 않고, 그럴 필요도 없어.
원칙: Framework 는 도구지 종교가 아니야. 즉시 문제 푸는 가장 작은 도구 골라, 다음 문제가 fit 안 하면 또 추가.
Migration 비용은 진짜지만 manageable
JSONL dataset 과 OpenAI-style API 관습이 framework 간 공통 substrate. Data 를 JSONL 에 두고 provider 를 configurable 하게 두면 framework 전환은 한 주짜리 rewrite 가 되지 rebuild 가 아니야.