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 集成和团队协作。

核心特性

  1. 自动化 LLM 评估(Automated LLM Evaluation) - 通过声明式 YAML 配置文件定义测试用例,自动运行评估并生成矩阵式结果。支持并排比较不同模型(GPT、Claude、Gemini、Llama 等)在同一组提示词上的表现,内置缓存和并发加速测试执行。评估结果可通过 Web Viewer 可视化查看和分享。[来源:GitHub README、promptfoo.dev]

  2. AI 红队测试与漏洞扫描(Red Teaming & Vulnerability Scanning) - 提供自动化红队测试功能,检测 LLM 应用的安全漏洞(注入攻击、越狱、数据泄露、偏见等),生成详细的安全报告。支持 pentesting 和合规性审计,特别适用于金融和医疗等高合规行业。[来源:GitHub README、promptfoo.dev]

  3. 多提供商支持与模型无关(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]

  4. CI/CD 集成与开发者体验(CI/CD Integration & Developer Experience) - 提供 CLI 工具、Node.js 库和 Python 绑定三种使用方式,原生支持 GitHub Actions(Code Scanning),可在 CI/CD 流水线中自动化执行 LLM 评估。支持实时重载(Live Reload)和缓存机制,运行完全本地化(不将提示词发送到第三方)。[来源:GitHub README、npmjs.com]

  5. 灵活的评分与断言系统(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)。

关键链接汇总

官方资源

教程资源

社区资源

信息来源