Promptfoo - LLM 應用評測與紅隊滲透測試工具
promptfoo/promptfoo
為 AI 應用提供自動化提示詞測試、模型對比和安全漏洞掃描的開源工具,支援 GPT/Claude/Gemini 等主流模型,已被 OpenAI 和 Anthropic 採用
成熟度:維護極其活躍,最近提交0天前,open issues 649個顯示使用者活躍,已釋出 0.123.0 版本
项目体检
部署 · 基于 Node.js 的 CLI 工具,可通过 npm/brew/pip 全局安装后直接使用,Docker 镜像基于 Node 24 Alpine 构建支持容器化部署,无需额外服务配置
成本 · 需要目标 LLM 提供商的 API Key(如 OPENAI_API_KEY),支持本地模型(Ollama)实现完全离线评测,Python 3 作为可选依赖支持自定义脚本
技术 · TypeScript 主体,Node.js 24+ 运行时,前端使用 Vite 构建,支持 Python 集成用于自定义评估逻辑
许可 · MIT 协议,可自由商用、修改和分发,无使用限制
活跃 · 极高活跃度:0.123.0 版本发布于 2 天前,332 位贡献者持续参与,最近提交发生在今天,已获 25K+ stars
解決什麼
LLM 應用開發中存在三大痛點:提示詞效果難以量化、模型選型缺乏客觀對比、AI 安全漏洞難以發現。Promptfoo 通過自動化評測框架解決這些問題,讓開發者用宣告式配置替代手工試錯,用資料驅動決策替代主觀判斷。它既能對比不同模型在相同任務上的表現差異,也能通過紅隊測試發現提示詞注入、有害內容生成等安全風險,幫助團隊在 CI/CD 流程中建立 AI 應用的質量門禁。
為何火
該專案已被 OpenAI 收購但保持開源,這一背書證明其在行業內的認可度。25K+ stars 反映出開發者對系統化 LLM 測試工具的強烈需求。其核心優勢在於"100% 本地執行"的隱私保護設計——所有評測資料不離開本地環境,這對處理敏感業務場景的企業至關重要。支援 OpenAI、Anthropic、Azure、Bedrock、Ollama 等十幾種主流模型提供商,配合簡潔的 CLI 和視覺化介面,降低了 LLM 應用測試的技術門檻。
核心功能
自動化評測體系:通過 YAML 配置定義測試用例,支援自定義評分標準(如準確性、相關性、毒性檢測),可批次執行數百個測試場景並生成對比矩陣。
紅隊安全掃描:內建提示詞注入、越獄攻擊、PII 洩露等 20+ 種安全測試模板,自動生成漏洞報告和修復建議,幫助團隊在上線前發現潛在風險。
多模型橫向對比:同一組測試用例可同時執行在 GPT-4、Claude、Gemini 等不同模型上,直觀展示成本、速度、質量的權衡關係。
CI/CD 整合:提供 GitHub Actions、GitLab CI 等整合方案,支援 PR 自動掃描 LLM 相關程式碼變更的安全合規性。
即時協作:Web 介面支援團隊共享評測結果,配合熱過載功能加速迭代週期。
安裝
全域性安裝(推薦):
npm install -g promptfoo
# 或使用 Homebrew
brew install promptfoo
# 或使用 pip
pip install promptfoo
無安裝執行:
npx promptfoo@latest init --example getting-started
初始化示例專案後,設定 API Key 並執行首次評測:
export OPENAI_API_KEY=sk-xxx
cd getting-started
promptfoo eval
promptfoo view # 啟動 Web 介面檢視結果
Docker 部署可通過官方映象執行,適合容器化環境。
適合誰
AI 產品團隊:需要對比不同模型效果、最佳化提示詞效能的場景,特別是服務百萬級使用者的生產環境(README 提到已支撐 10M+ 使用者應用)。
安全工程師:需要對 LLM 應用進行滲透測試、發現提示詞注入等漏洞的紅隊人員。
DevOps 團隊:希望在 CI/CD 流程中整合 AI 應用質量檢查的工程師。
中文使用者注意:雖然工具本身無需梯子,但多數 LLM API(OpenAI/Anthropic)需要網路代理;建議配合 Ollama 等本地模型實現完全離線評測,或使用國內可訪問的模型 API(如通義千問、文心一言等,需查閱文件確認支援情況)。
社群評價
暫無足量社群公開討論,以下為基於專案本身的中立評估:從技術指標看,該專案展現出極高的工程成熟度——332 位貢獻者、每日更新頻率、MIT 寬鬆協議,以及被 OpenAI 收購後仍保持開源的承諾,這些都是長期可維護性的積極訊號。649 個 open issues 可能反映兩面性:既說明使用者基數大、反饋活躍,也可能暗示功能複雜度帶來的維護壓力。專案明確標註"已被 OpenAI 和 Anthropic 使用",這種行業頭部公司的實際採用比單純的 star 數更有說服力。
選型對比
vs 商業 LLM 評測平臺(如 Humanloop、LangSmith):Promptfoo 的優勢在於完全免費、資料本地化、無供應商鎖定,適合對資料隱私敏感或預算有限的團隊;劣勢是缺少商業平臺的託管服務、協作功能較弱、需要自行維護基礎設施。
vs LangChain 內建評測:Promptfoo 是獨立工具,不繫結特定框架,可評測任何 LLM 應用(包括非 LangChain 專案);LangChain 的評測模組更適合其生態內使用者,但靈活性較差。
vs 自研測試指令碼:Promptfoo 提供開箱即用的紅隊測試模板、視覺化介面和 CI/CD 整合,大幅降低從零搭建評測體系的時間成本;但對於極度定製化的場景,自研指令碼可能更靈活。
已知坑
Node.js 版本要求嚴格:需要 22.22.0 以上版本,推薦 Node 24 LTS,舊版本可能遇到相容性問題。
API Key 管理:多模型對比時需配置多個提供商的 Key,環境變數管理較繁瑣,建議使用 .env 檔案統一管理。
國內網路限制:OpenAI/Anthropic 等主流模型 API 需要代理訪問,純內網環境建議優先使用 Ollama 等本地模型,但需注意本地模型的評測結果可能與雲端模型存在差異。
學習曲線:雖然提供示例專案,但深度使用(如自定義評分函式、複雜 YAML 配置)需要閱讀詳細文件,初學者可能需要一定時間熟悉。
紅隊測試的誤報:自動化安全掃描可能產生誤報,需要人工複核結果,不能完全替代專業安全審計。
安装方式:npm