随着越来越多的应用加入 AI 功能,在构建产品时该选择哪个模型依然是个难题,甚至比以前更难——因为可供选择的模型已超过 500 个。
目前,为项目寻找最佳模型通常靠的是感觉,或者某条推文(同样也是凭感觉),或者查看基准测试分数,又或者你根本没有任何实际方法。
也许你在查看基准测试分数,在刷关于中国最新模型的帖子。新模型每周都在发布,你被淹没在海量信息中,而正因为信息过载,你最终要么不做选择(更糟的是,做了错误的选择)。
尽管上述资源可能很有帮助,但没有任何东西能告诉你一个模型在你的应用里、在你的测试框架上、在你的数据上、在你的提示词上表现如何。
直到今天。
在 OpenRouter,我们对模型颇有了解。
我们学到的一点是:不存在绝对最好的模型——只有最适合你正在构建的东西的模型。
Ori Eval 能帮你找到那个唯一的模型,并向你证明这一点。
要开始使用,告诉你的智能体:
run curl -fsSL https://openrouter.ai/skills/spawn-ori-eval and follow the instructions in its output to get started Ori Eval 会像一位友好且经验丰富的工程师朋友一样,一步步引导你为你的项目选择最佳模型——无需任何评估经验。
太长不看版
- Ori Eval 会在你自己的提示词上运行你的智能体,对其调用的工具进行断言,并使用 LLM 裁判对开放式回答进行评分。
- Ori 在运行期间固定测试框架和模型。环境保持不变,因此如果评估结果发生变化,你就知道这种变化只能归因于模型的变更。
- Ori Eval 通过 OpenRouter 路由,因此模型对比覆盖所有模型和实验室。
- 你不需要知道如何编写评估。Ori Eval 会找到你的代码中调用模型的每一个位置,询问你在意什么,然后编写评估文件。
- 评估文件就是代码。在 CI 中运行它来阻止回归,并在新模型发布时重新运行它。
- 要开始,告诉你的编码智能体:运行 curl -fsSL https://openrouter.ai/skills/spawn-ori-eval 并按照其输出中的说明开始使用。
提出问题,得到答案(附有证明)
要使用 Ori Eval,你只需告诉你最喜欢的编码智能体:
运行 curl -fsSL https://openrouter.ai/skills/spawn-ori-eval 并按照其输出中的说明操作
你的智能体将请求交给 Ori Eval。Ori Eval 会探索你的代码库,然后带着问题回来找你。在运行任何评估之前,它会先与你协作,弄清楚什么对你最重要——是成本、性能、延迟、速度、工具调用准确率,还是其他方面。然后它会挑选出 5 个符合你需求的最新模型,并与你确认。
一旦收集齐所有这些必要需求,Ori Eval 就会编写一个 review.eval.ts 文件,并行地针对候选模型运行你的智能体,并返回一张表格:
| 模型 | 捕获率 | p50 | 美元/PR | 结果 |
|---|---|---|---|---|
| anthropic/claude-opus-5 | 94% | 38秒 | $0.041 | 通过 |
| openai/gpt-5.6-sol | 92% | 44秒 | $0.038 | 通过 |
| moonshotai/kimi-k3 | 90% | 31秒 | $0.019 | 通过 |
| z-ai/glm-5.2 | 86% | 26秒 | $0.008 | 通过 |
| google/gemini-3-pro | 84% | 52秒 | $0.062 | 失败(成本) |
推荐会附带理由:比如说,在你设定的模型成本标准内,某款模型的 bug 捕获率最高;而如果 bug 审查量增长,某款模型则是性价比之选。
别担心你从未写过评估
写好评估并不容易,这正是我们替你处理这些麻烦事的原因。
Ori Eval 会扫描你的代码库,找出每一个模型运行的位置,并向你展示它的发现:用例覆盖面、具体文件,以及你当前在那里使用的模型。然后它会询问你希望评估覆盖哪些范围,以及什么对你最重要:准确率、速度、成本,还是其他方面?
一旦 Ori Eval 完成对你的“访谈”,它就会根据你的回答编写评估文件,并运行它。
就这么简单。
分数稳定一致,每次运行都如此
因为 Ori Eval 是一个智能体,它可以在一次运行期间固定住测试框架、模型和投入程度。它还经过了预调优:我们已经为你选好了最适合评估工作的测试框架和模型,所以你无需自己操心。
一次评估检查三件事
评估文件是一个 *.eval.ts 文件,通过 bun test 运行。它会检查智能体调用过的工具、它避开的工具,以及回答的质量:
const run = await agent.run("dinner in Lisbon?");
run.tool("search").toBeCalled();
run.tool("delete_file").toNotBeCalled();
run.toComplete(); 对于开放式答案,会由 LLM 作为裁判来给输出打分。Ori Eval 会帮你设定评分标准和最低分数,因此即使是棘手的开放式问题也能被评估。
每一个 bug 都会变成你可以用来测试的对象。
用大白话向 Ori Eval 描述一个 bug:比如说,某个客服人员连订单都没查就直接退款——这可是个大问题。
Ori Eval 会编写一个断言 `lookup_order` 被调用的评测。该评测失败,从而证明 bug 确实存在。然后你修复智能体,评测通过。这个断言会留在你的测试套件里,以后随时都能捕获这个问题。
拦截回归,并在模型更新时重新运行
将 Ori Eval 添加到 GitHub Actions 工作流中。它的退出方式与 `bun test` 一致,因此评测失败也会导致构建失败,回归问题永远不会进入生产环境。
由于 Ori Eval 写出来的只是代码,你还可以轻松地安排它们定期运行。我们的一位早期测试用户现在每月都会运行模型对比。当新模型发布,并且它在你代码库中的表现优于现有模型时,系统会自动开启一个 PR,你只需要合并它,就能在不知不觉中享受到所有好处。
告诉你的编程智能体:
run curl -fsSL https://openrouter.ai/skills/spawn-ori-eval and follow the instructions in its output to get started 就这样。
该技能会安装 Ori(我们预先调优的编程智能体),要求你登录,对你进行访谈,然后运行评测。如果你使用 OpenRouter MCP 服务器,请改为运行 /spawn-ori-eval,并跳过 URL。
手动安装 Ori:
curl -fsSL https://openrouter.ai/labs/ori/install.sh | bash 然后运行 `ori login`。运行评测还需要 Bun。
更多信息请阅读 Ori Eval 页面或 Ori Eval 文档。