Codex use case
为您的 AI 应用添加评测
使用 Codex 将预期行为转化为 Promptfoo 评测套件。
请 Codex 检查您的 AI 应用,识别您要评测的行为,并添加可运行的 Promptfoo 评测套件。
最适合
- 已有提示、模型调用、工具、检索、智能体或产品要求,却没有可重复运行的评测套件的 AI 应用。
- 计划更改模型、提示、检索或智能体,并希望在 Pull Request 合并前进行回归测试的团队。
- 需要将重复的手动检查转化为可提交到代码仓库的评测用例的质量审查。
Contents
为您的 AI 应用添加评测
使用 Codex 将预期行为转化为 Promptfoo 评测套件。
请 Codex 检查您的 AI 应用,识别您要评测的行为,并添加可运行的 Promptfoo 评测套件。
最适合
- 已有提示、模型调用、工具、检索、智能体或产品要求,却没有可重复运行的评测套件的 AI 应用。
- 计划更改模型、提示、检索或智能体,并希望在 Pull Request 合并前进行回归测试的团队。
- 需要将重复的手动检查转化为可提交到代码仓库的评测用例的质量审查。
技能与插件
- 包含 `$promptfoo-evals` 和 `$promptfoo-provider-setup` 的插件,用于创建和接入评测套件、运行评测并进行质量检查。
| Skill | Why use it |
|---|---|
| Promptfoo | 包含 `$promptfoo-evals` 和 `$promptfoo-provider-setup` 的插件,用于创建和接入评测套件、运行评测并进行质量检查。 |
入门提示
简介
在构建 AI 应用或更改现有应用时,您需要确保它按预期运行。评测可以系统地测试一组场景,并在上线前发现回归问题。
您可以使用 Promptfoo 对 AI 应用运行评测,并使用 Codex 帮助创建和维护这些评测。
使用方法
在 Codex 中使用 Promptfoo 插件的 $promptfoo-evals 技能,将 AI 应用的某项行为转化为可重复运行的评测套件。如果应用还没有可用的 Promptfoo 目标,请使用 $promptfoo-provider-setup 将套件接入您要测试的应用路径。
Codex 可以检查应用、提出高价值用例、添加 Promptfoo 配置和测试数据、在本地运行套件,并为您提供可持续使用的命令。
当要评测的行为具体明确时,此用例最有效,例如:客服回答质量、检索落地、分类器标签、工具调用、JSON 结构、业务规则,或提示和模型迁移的可靠性。
理想的初版应包含便于审查的代码和测试数据:一个 promptfooconfig.yaml 或等效配置、一个精简的 evals/ 目录、测试用例、调用应用所需的任何目标适配器,以及 npm run evals 之类的本地命令。
选择评测内容
从一项面向用户的承诺开始。避免要求 Codex 一次性评测整个 AI 系统。小型套件更容易让人信赖,也更便于审查和持续运行。
适合首先评测的目标包括:
- 正确性: 分类、提取、摘要生成、路由或转换。
- 落地: 回答应始终以检索到的文档或引用来源为依据。
- 工具使用: 选择正确的工具、传入有效参数,以及处理工具错误。
- 格式或业务规则: JSON 模式、字段名称、业务规则限制或面向 UI 的文案约定。
- 提示或模型迁移: 确保新的提示、模型、系统消息或检索设置不会导致重要用例失败。
从产品要求、错误报告、需要升级处理的支持问题,或团队愿意提交到代码仓库的脱敏示例入手。
请求制定评测计划
Codex 应先检查再编辑。请让 Codex 制定一份明确列出目标路径、测试夹具、断言、适配器和命令的计划。这样,您就能在添加文件前发现目标选择错误或测试用例薄弱等问题。
在实施前审查计划。计划应列明 Promptfoo 将调用的应用路径或端点、最初的一组用例、断言、Codex 将创建的文件、本地命令,以及所需的任何机密信息或服务。如果计划测试的是原始模型,而不是用户实际访问的应用路径,请询问 Codex 是否有意这样做。
实施、运行并迭代
计划确认无误后,请 Codex 实施该计划。首版实现应简单直接:配置、用例、测试夹具、必要时所需的目标适配器、一条命令,以及表明该命令已运行的记录。
一个基于应用的小型套件可能如下所示:
evals/
promptfooconfig.yaml
tests/
cases.yaml
providers/
provider.js # only if the built-in provider cannot call the app directly
更改行为前,请先运行套件。基准结果可以说明应用是否原本就无法通过这些用例、断言是否需要调整,或目标适配器是否有误。如果断言过于脆弱或含糊,请加以调整,但不要掩盖真正的产品问题。
首次运行后,在应用变更发布前使用该套件进行对比评测。每当从缺陷、上线要求或产品审查中发现某项需要保持稳定的行为时,就添加新用例。本地命令稳定后,请 Codex 将其添加到 CI 或您的发布检查清单中。