vercel/next-evals-oss
Evals for Next.js up to 15.5.6 to test AI model competency at Next.js
Next.js Evals – 它是什么
Next.js Evals 是一个开源测试框架,用于自动测试 AI 编码代理编写或修改小型 Next.js 应用的能力。它附带一组 evals(带有任务描述的小型 Next.js 项目)和一组 experiments,用于定义哪个 AI 模型(Claude、GPT、Gemini 等)应尝试解决每个任务。该框架在 Vercel 托管的沙箱中运行代理,让其编辑项目,然后执行隐藏断言以检查结果是否正确。
为什么重要
- 为基于 LLM 的代码生成代理在真实 Next.js 代码上提供可复现的基准。
- 支持多个提供商和可配置的“推理努力”级别,让研究人员比较成本与质量。
- 与 Vercel 的沙箱和 AI-Gateway 集成,因此 Vercel 自己的 CI 使用的相同环境可以在本地使用。
核心组件(如 README 中所述)
| 组件 | 角色 |
|---|---|
Eval 夹具 (evals/…) |
小型 Next.js 应用加上 PROMPT.md(任务)和 EVAL.ts(隐藏测试)。仓库仅存储从 vercel/next.js 同步的这些文件的副本。 |
Experiments (experiments/*.ts) |
将模型(例如 claude‑opus‑5)与一组 evals 关联的配置,定义 pass@4/1 行为,并记录定价信息。 |
脚本 (pnpm …) |
用于安装、同步夹具、检查凭据、运行单个 eval、运行所有更改的 evals、导出结果等的辅助命令。 |
| 沙箱凭据 | 通过 OIDC 令牌或 VERCEL_TOKEN、VERCEL_TEAM_ID、VERCEL_PROJECT_ID 三元组访问 Vercel 沙箱。 |
| 代理密钥 | 提供商特定的 API 密钥(AI_GATEWAY_API_KEY、CLAUDE_CODE_OAUTH_TOKEN、OPENAI_API_KEY 等),由所选模型使用。 |
导出 (pnpm export-results) |
生成 agent-results.json,格式与公共排行榜 nextjs.org/evals 使用的格式一致。 |
如何使用(快速入门流程)
- 安装 –
pnpm install --frozen-lockfile(仅 pnpm 仓库)。 - 同步 evals –
pnpm sync-evals从上游vercel/next.js仓库拉取实际的 Next.js 夹具。 - 提供凭据 – 复制
.env.example→.env.local,并填写 OIDC 令牌或 Vercel 令牌三元组,以及所需的任何模型 API 密钥。 - 检查一切 –
pnpm preflight会告诉你是否有缺失。 - 运行测试 –
pnpm eval:smoke claude-opus-5使用 Claude 模型运行一个 eval,以验证沙箱和凭据是否正常工作。 - 运行真实实验 –
pnpm eval:run <experiment…>(或pnpm eval进行交互式选择)为所选实验运行所有更改的 evals,缓存结果以避免重新运行未更改的工作。 - 发布 – 成功运行后,
pnpm export-results创建agent-results.json;提交该文件并合并 PR 到main以更新公共排行榜。
谁可能觉得有用
- LLM 研究人员 想要一个具体的、Next 特定的编码基准。
- Vercel 或其他地方的产品团队 评估新的模型提供商用于代码补全。
- 开源贡献者 想要添加新的 Next.js 任务或新的模型配置。
README 中注明的限制/范围
- 实际的 eval 夹具不存储在此仓库中;每次运行
pnpm sync-evals时从vercel/next.js同步。 - 运行该框架需要 Vercel 沙箱凭据;没有它们,evals 无法执行。
- 成本估算依赖于模型 API 报告的使用量和静态价格表;价格是快照,可能过时。
- 公共排行榜显示 pass@4 分数;发布自动化单独记录 pass@1,但不发布。
结论
vercel/next-evals-oss 是一个真正的、生产级工具,用于在 Next.js 任务上基准测试 AI 编码代理。它将 Vercel 的沙箱、多个 LLM 提供商和可复现的评估套件结合在一起,并将结果反馈到公共 Next.js 评估排行榜。
相关
- 项目
- 项目
- 项目
- 项目
- 项目