Promptfoo (OSS LLM Eval CLI・2023年)(プロンプトフー)
2023年Ian Webster (元Cognition AI Devin Pre-Training Lead・元Discord/Google AI) 発表のPromptfoo・OSS CLIベースのLLM Application Evaluation framework。Y Combinator W23採択 (一部・Independent Project)・GitHub Star 5k+ (2024年Q4)・MIT License・YAML設定でPrompt vs Modelの自動Eval実行 (Custom Assertion/LLM-as-Judge/Cosine Similarity/Factuality等) + CI/CD統合 (GitHub Actions/GitLab CI) + Web UI Viewer・Red Team Security testing (Jailbreak/Prompt Injection検出)・OpenAI/Anthropic/Google/Llama/Ollama/Bedrock/Vertex AI/HuggingFace対応の Local-first LLMOps tool。
概要
Promptfoo は、2023年にIan Webster (元Cognition AI Devin Pre-Training Lead・元Discord ML・元Google AI) が個人プロジェクトとして発表した OSS CLI ベースのLLM Application Evaluation framework。MIT License・GitHub Star 5,000+ (2024年Q4)・累計DL 200万+。YAML設定ファイル (promptfooconfig.yaml) でPrompt vs LLM modelの自動Evaluationを CLI コマンド (npx promptfoo eval) 一発で実行可能。Custom Assertion (Regex/JSON Schema/Cosine Similarity)・LLM-as-Judge (GPT-4o/Claude判定)・Factuality check・Latency/Cost計測・Web UI Viewer統合。GitHub Actions/GitLab CI/CircleCI への CI/CD integration で Pull Request毎にEval自動実行 + 結果コメント。Red Team security testing機能 (Jailbreak/Prompt Injection/Bias検出・OWASP LLM Top 10対応) は2024年に追加され Anthropic・Microsoft・MITRE等の AI Safetyチーム採用実績あり。
主な特徴・仕組み
- YAML設定:
promptfooconfig.yamlで Prompt + Model + Assertion + Test caseを宣言的記述 - Assertion種別: equals/contains/regex/javascript/JSON-schema/similar (Cosine)/llm-rubric (LLM Judge)/factuality/g-eval等 30+
- Provider: OpenAI/Anthropic/Google/Llama 3.x/Mistral/Cohere/Bedrock/Vertex AI/Ollama/vLLM/Replicate/HuggingFace TGI等 50+
- Red Team Module: Jailbreak / Prompt Injection / PII Leakage / Bias / Hallucination 自動検査 + OWASP LLM Top 10対応
- CI/CD Integration: GitHub Actions / GitLab CI / CircleCI / Jenkins / Azure DevOps連携 + Pull Request コメント
- Web UI Viewer:
npx promptfoo viewで結果Visualizer + Diff表示 + Filter/Sort/Export - License: MIT (CLI/Web UI完全無料) + Promptfoo Cloud (Hosted・Pro $30/mo・Enterprise Custom)
- CLI: Node.js/npm based・Python・Goラッパーあり
スペック比較表
| LLM Eval Tool | 提供形態 | License | Red Team | CI/CD統合 |
|---|---|---|---|---|
| Promptfoo | CLI + Web | MIT | ○ (本命) | ○ (GitHub Actions) |
| Langfuse | SaaS + Self-Host | MIT | × | △ (Webhook) |
| Humanloop | SaaS only | Proprietary | △ | △ |
| Braintrust | SaaS only | Proprietary | △ | ○ |
| OpenAI Evals | CLI | MIT | × | △ |
具体例・対応製品
- Promptfoo CLI (MIT・無料):
npx promptfoo init+eval+viewの3コマンドで完結 - Promptfoo Cloud Pro ($30/mo): Hosted dashboard + Team sharing + Slack通知 + Eval履歴
- Promptfoo Enterprise (Custom): SSO・SAML・VPC deploy・SOC 2・Audit log
- Anthropic AI Safety Team採用: Red Team module で Claude jailbreak resistance evaluation
- Microsoft AI Red Team採用: Production LLM applicationのSecurity continuous testing
自作PCでの選び方・注意点
Promptfoo は「Engineer-first LLM Eval」「CI/CD統合 LLMOps」「Red Team Security testing」用途の本命OSS。Langfuse/Humanloop/Braintrust等のCloud Platform系と異なり、Local-first CLI設計でGit-versioned promptfooconfig.yaml でPrompt + Eval test caseをコードと同じくPRレビュー可能。SaaS不要・$0でEnterprise-grade LLM Eval pipelineを構築可能。CI/CD integration (GitHub Actions推奨) でmain merge前に必ずEval pass確認 + 性能degradation自動検知 + Cost overrun alertまで自動化できる。Red Team module は2024年OWASP LLM Top 10 (Prompt Injection・Data Leakage・Insecure Output Handling等) のContinuous testingにそのまま使えてLLM Security成熟度向上に直結。一方Dataset management/Production monitoring等のContinuous Observability系機能はLangfuse/Datadog LLM Obs等に劣るので併用推奨。
関連用語との違い
- vs OpenAI Evals: 両方CLI/MIT・PromptfooはMulti-provider対応 + Web UI + Red Team module・OpenAI EvalsはOpenAIモデル中心 + 機能限定
- vs Langfuse Eval: PromptfooはCLI/Pre-Production・LangfuseはSaaS/Production監視中心 + Continuous Eval
- vs Braintrust: PromptfooはOSS/CLI・BraintrustはProprietary SaaS・両方Eval深いが用途分かれる
よくある質問(FAQ)
Q1: PromptfooとLangSmith Eval比較は? A: PromptfooはCLI/Local-first/MIT/CI統合・LangSmithはSaaS/LangChain純正/Cloud前提。Pre-Production EvalはPromptfoo・Production監視はLangSmith推奨。
Q2: Red Team Module で具体的にどんな攻撃検査? A: Jailbreak (DAN/Prompt injection/Encoded attack)・PII Leakage・Indirect Prompt Injection (Tool/RAG経由)・Bias (性別/人種/政治)・Hallucination・OWASP LLM Top 10 10カテゴリ全対応・MITRE ATLAS evaluation連携。
Q3: 既存PytestやJest等のテスト framework と統合できる? A: 可能。PythonならpytestマーカーでPromptfoo Evalを起動・JestならbeforeAllでpromptfoo evalをCLI invokeしてresult parse。GitHub Actions Workflow例 公式 docsあり。
まとめ
Promptfoo = 2023年Ian Webster (元Cognition Devin) 発表のOSS LLM Eval CLI。MIT・GitHub 5k Star・YAML設定でCLI eval + Red Team security + CI/CD統合のLocal-first LLMOps tool。Anthropic/Microsoft AI Safety Team採用実績ありの Pre-Production / Continuous Security testing主軸OSS。