Promptfoo - 技术发现报告
Promptfoo - 技术发现报告
基本信息
- 名称: Promptfoo
- 官方地址: https://www.promptfoo.dev
- GitHub 仓库: https://github.com/promptfoo/promptfoo
- 当前版本: v0.121.5(2026-04-14 发布,npm 和 GitHub Releases 同步)
- License: MIT
- 主要编程语言: TypeScript(100%)
- 首次发布日期: 2023-04-28(GitHub 仓库创建日期)
- 创建者/维护团队: 由 typpo(Ian Webster)和 mldangelo(Michael D'Angelo)创建并领衔维护。2026 年 3 月 Promptfoo 加入 OpenAI,但仍保持开源和 MIT 许可。核心贡献者包括 sklein12 等,共有 266 位贡献者参与(截至 2026-04-17,GitHub API 分页统计)
一句话定位
Promptfoo 是一个开源的 CLI 和库工具,用于评估和红队测试(Red Teaming)LLM 应用——支持自动化提示词测试、模型性能对比、RAG 评估和 AI 安全漏洞扫描,可对接 50+ 种 LLM 提供商(OpenAI、Anthropic、Azure、Bedrock、Ollama 等),通过声明式 YAML 配置实现本地运行、CI/CD 集成和团队协作。
核心特性
-
自动化 LLM 评估(Automated LLM Evaluation) - 通过声明式 YAML 配置文件定义测试用例,自动运行评估并生成矩阵式结果。支持并排比较不同模型(GPT、Claude、Gemini、Llama 等)在同一组提示词上的表现,内置缓存和并发加速测试执行。评估结果可通过 Web Viewer 可视化查看和分享。[来源:GitHub README、promptfoo.dev]
-
AI 红队测试与漏洞扫描(Red Teaming & Vulnerability Scanning) - 提供自动化红队测试功能,检测 LLM 应用的安全漏洞(注入攻击、越狱、数据泄露、偏见等),生成详细的安全报告。支持 pentesting 和合规性审计,特别适用于金融和医疗等高合规行业。[来源:GitHub README、promptfoo.dev]
-
多提供商支持与模型无关(Multi-Provider & Model Agnostic) - 对接 50+ 种 LLM 提供商(OpenAI、Anthropic、Azure OpenAI、AWS Bedrock、Google Vertex AI、Ollama、Hugging Face、本地模型等),支持任何 LLM API 或编程语言。用户可以轻松切换和比较不同提供商的模型。[来源:promptfoo.dev/docs/intro/、GitHub README]
-
CI/CD 集成与开发者体验(CI/CD Integration & Developer Experience) - 提供 CLI 工具、Node.js 库和 Python 绑定三种使用方式,原生支持 GitHub Actions(Code Scanning),可在 CI/CD 流水线中自动化执行 LLM 评估。支持实时重载(Live Reload)和缓存机制,运行完全本地化(不将提示词发送到第三方)。[来源:GitHub README、npmjs.com]
-
灵活的评分与断言系统(Flexible Assert/Scoring System) - 内置多种自动评分方式(包含检查、正则匹配、LLM-as-judge、相似度比较等),支持自定义 JavaScript/Python 评分函数。可定义通过/失败阈值,在 CI 中自动拦截质量退化的代码变更。[来源:promptfoo.dev、GitHub README]
社区生态
- GitHub Stars: 20,209(截至 2026-04-17,promptfoo/promptfoo 仓库,通过 GitHub API 获取)
- Forks: 1,749
- Open Issues: 302
- Contributors: 260+ 位贡献者,以 typpo(Ian Webster,2,821 次提交)和 mldangelo(Michael D'Angelo,2,229 次提交)为核心
- 最近更新日期: 2026-04-17(GitHub 最后推送日期),项目保持极高活跃度
- 社区讨论热度: 拥有活跃的 Discord 社区(11,000+ 成员),被 OpenAI 和 Anthropic 使用。每周 npm 下载量约 158,166 次,总下载量超过 160 万次。项目于 2026 年 3 月被 OpenAI 收购,成为 OpenAI 生态系统的一部分,但仍保持开源和 MIT 许可。
- npm 下载量: 每周约 158,166 次下载(npmjs.com,2026-04-17 获取),总下载量 160 万+,npm 包名
promptfoo
技术栈定位
- 所属领域: LLM 评估 / AI 安全测试 / 提示词工程 / MLOps / AI 质量保证 / 红队测试(Red Teaming)/ CI/CD for AI
- 解决的核心问题: LLM 应用开发中的质量保证和安全测试难题。开发者在构建 LLM 应用时面临两个核心挑战:一是如何系统化地评估提示词和模型的输出质量(而非人工逐条审查),二是如何发现和防范 AI 安全漏洞(注入攻击、越狱、数据泄露等)。Promptfoo 通过声明式配置、自动化评估、多模型对比和红队测试,将 LLM 测试从手动试错转变为可自动化、可量化、可集成到 CI/CD 的工程流程。
- 替代/竞品技术: DeepEval(Python LLM 评估框架)、Braintrust(LLM 评估平台)、RAGAS(RAG 评估专用)、Langfuse(LLM 可观测性平台)、Optik(AI 安全测试)、TruLens(RAG 评估)、Athina AI(LLM 监控)、OpenAI Evals(官方评估框架)
- 依赖的上游技术: Node.js/npm(运行时和包管理)、TypeScript(开发语言)、各 LLM 提供商 API(OpenAI、Anthropic、Google 等)、YAML(配置文件格式)
- 下游使用者/集成方: AI 应用开发者、ML 工程师、DevOps 团队、安全工程师。被 OpenAI 和 Anthropic 内部使用。适用场景包括客户支持聊天机器人、内容生成管线、医疗/金融合规场景的 AI 测试。已集成到 GitHub Actions Marketplace(Code Scanning Action)。
关键链接汇总
官方资源
- Promptfoo 官网 — 项目介绍、功能说明、快速入门
- Promptfoo 文档 — 完整文档,涵盖评估、红队测试、CLI、API 等
- Promptfoo GitHub 仓库 — 核心源代码(TypeScript)
- Promptfoo npm 包 — npm 安装包(当前版本 v0.121.5,每周 158K+ 下载)
- Promptfoo PyPI 包 — Python 绑定包
- 更新日志 — 版本更新记录(最新 v0.121.5,2026-04-14)
- OpenAI 收购公告 — 2026 年 3 月 Promptfoo 加入 OpenAI
教程资源
- Getting Started(评估) — 官方快速入门指南
- Red Teaming Guide — 红队测试完整指南
- CLI 使用文档 — 命令行工具详细说明
- Node.js 包文档 — 编程式使用方法
- 支持模型列表 — 50+ LLM 提供商配置指南
社区资源
- Discord 社区 — 11,000+ 成员的活跃讨论社区
- GitHub Issues — 问题反馈和功能建议(302 个 Open Issues)
- GitHub Discussions — 社区讨论
- 贡献指南 — 参与贡献的指南
信息来源
- GitHub API - promptfoo/promptfoo(Stars: 20,209, Forks: 1,749, Open Issues: 302, Created: 2023-04-28, Pushed: 2026-04-17, Language: TypeScript, License: MIT) — 获取日期:2026-04-17
- GitHub README - promptfoo/promptfoo(项目描述、快速入门、核心功能、OpenAI 收购公告) — 获取日期:2026-04-17
- Promptfoo 官网(产品定位、功能特性、文档链接) — 获取日期:2026-04-17
- Promptfoo 文档 - Getting Started(功能介绍、50+ 提供商、安装方式) — 获取日期:2026-04-17
- npm - promptfoo(每周下载 158,166 次,版本 v0.121.5,MIT 许可,OpenAI 收购说明) — 获取日期:2026-04-17
- GitHub Releases - promptfoo/promptfoo(最新版本 v0.121.5,2026-04-14 发布) — 获取日期:2026-04-17