接入
通过适配器与o11y,接入你的 Agent 或者 CC/Codex
通过适配器与o11y,接入你的 Agent 或者 CC/Codex
像写单元测试一样写评估与实验
并行评估
Eval 示例
每张卡都是一个可直接运行的 defineEval 文件。点击高亮行,展开助手回复和断言说明。
1import { defineEval } from "niceeval";2import { pattern } from "niceeval/expect";34export default defineEval({5 judge: true,6 description: "评估 agent 在多轮对话中多模态的能力",78 async test(t) {const first = await t.sendFile("evals/sample.png", "这张图片里有什么?");await first.succeeded().orStop();first.usedNoTools();const second = await t.send("图片里的背景是什么颜色?");t.check(second.message, pattern(/蓝|blue|白|方块|square/i));const third = await t.send("中间那个形状是什么颜色的?");1516 await t.group("后续追问能联系图片上下文", () => {t.check(third.message, pattern(/白|white/i));18 });1920 t.judge.autoevals21 .closedQA("助手是否在三轮对话中始终基于第一轮发送的图片内容作答,而不是凭空发挥?", {22 input: "用户先询问一张蓝底白色方块图片,再追问背景和中间形状的颜色。",23 output: [first.message, second.message, third.message].join("\n"),24 }).gate(0.7);1/0.726 },27});
Agent 也是用户
NiceEval 的 CLI 把 Agent 也当成用户来设计——它不只是评估工具,而是构建评估、执行评估、优化 Agent 系统的循环框架。每个输出都有给 agent 读的一面,coding agent 靠 bash 就能跑完整个循环。
niceeval exp local --output agent --force$ niceeval exp local --output agent --force NICEEVAL RESULT failed summary: 14 passed, 1 failed, 0 errored failures: - @1k2m9qtr weather/brooklyn [local] gate: tool was never called next: niceeval query discover niceeval query run --request runs-list.json