质量与安全高级官方难度:Intermediate1h
原题:Add evals to your AI application

用 Codex 给 AI 功能添加 Evals

把主观体验转成可重复运行的质量检查。

官方概览

当你构建或修改 AI 应用时,需要确认它的行为符合预期。Evals 是系统化测试一组场景、在发布前捕获回归的方法。

你可以用 Promptfoo 运行 AI 应用的 evals,并用 Codex 帮你创建和维护这些 evals。

使用方式

把 Codex 和 Promptfoo plugin 的 $promptfoo-evals skill 一起使用,可以把一个 AI app 行为转成可重复运行的 eval suite。

如果应用还没有可工作的 Promptfoo target,$promptfoo-provider-setup 可以帮助把 suite 连接到你想测试的应用路径。

Codex 可以检查应用、提出高信号案例、添加 Promptfoo 配置和测试数据、在本地运行 suite,并交付一个后续可持续使用的命令。

选择要评估的行为

从一个用户可见的承诺开始。不要让 Codex 一次评估整个 AI 系统。更小的 suite 更容易信任、review 和持续运行。

可以从产品需求、bug 报告、支持升级,或团队愿意提交到仓库的脱敏示例开始。

  • 正确性:分类、抽取、总结、路由或转换。
  • Grounding:回答应该绑定到检索文档或引用来源。
  • 工具使用:选择正确工具、传入有效参数并处理工具错误。
  • 格式或业务规则:JSON schema、字段名、业务限制或 UI 文案契约。
  • Prompt 或模型迁移:确认新的 prompt、模型、system message 或 retrieval 设置不会破坏重要案例。

先要 eval 计划

Codex 应该先检查再编辑。要求它提出计划,写明 target path、fixtures、assertions、adapter 和命令。这样你可以在文件创建前发现错误目标或弱测试案例。

计划应该说明 Promptfoo 会调用哪个应用路径或 endpoint,第一批种子案例、断言、要创建的文件、本地命令,以及所需 secrets 或服务。如果计划只测试原始模型而不是用户实际路径,要确认这是有意为之。

实现、运行和迭代

计划正确后,再让 Codex 实现。第一版应该很朴素:配置、案例、fixtures、必要时的 target adapter、命令,以及命令已经运行过的证据。

改变行为前先运行 suite。基线结果会告诉你应用是否已经失败、断言是否需要调整,或 target adapter 是否错误。后续每当 bug、发布需求或产品 review 暴露出需要稳定的行为,就继续添加案例。

官方 Starter Prompt 中文翻译

使用 $promptfoo-evals 为这个 AI 应用添加 Promptfoo eval suite。如果还没有可工作的 Promptfoo provider 或 target adapter,请先使用 $promptfoo-provider-setup。

要评估的行为:[客服回答质量 / tool-call 正确性 / retrieval grounding / 业务规则 / agent 任务完成]

编辑前:
- 检查用户实际触达的应用路径,以及现有 evals 或测试。
- 提出最小可用 eval 计划:target adapter、种子案例、断言、文件、命令,以及需要的环境变量或本地服务。
- 在基线 eval 存在并已经运行前,不要改变生产 prompts、模型设置或应用行为。

要求:
- 尽可能测试用户实际触达的应用路径,而不只是原始模型 prompt。
- fixtures 中不要包含 secrets、客户数据或敏感个人数据。
- 添加一个本地 eval 命令,例如 npm run evals,或记录准确运行命令。

结束时给出:
- 修改的文件
- 运行过的 eval 命令
- 通过和失败的案例
- 建议下一步添加的 evals