跳到正文
Tessl Blog· Simon Maple·· 16 天前精选AI 评分60

Tessl 实测 Jev 比 GPT Luna 6 快 13.6 倍、便宜 2.7 倍

Jev is 13.6x faster and 2.7x cheaper than GPT Luna 6 for Tessl verifiers. Try it yourself.

AI 导读

Tessl 用自家生产代码的 verifier 套件对比了 TypeSafe 新决策模型 Jev 与默认评审模型 GPT Luna 6,约 2,725 个 verifier 与文件对上,Jev 成本 0.65 美元、耗时 32 秒,GPT Luna 6 为 1.74 美元、436.5 秒,即便宜 2.7 倍、快 13.6 倍。

推荐理由

Tessl 公开了自家 verifier 套件上 Jev 与 GPT Luna 6 的对比方法和命令,读者可在自己仓库复现这一判断模型评测。

正文 · AI 翻译

对于 Tessl 验证器,Jev 比 GPT Luna 6 快 13.6 倍,便宜 2.7 倍。自己试试吧。

本次评估是针对 Tessl 内部生产代码运行的。我们分享了方法、模型细节和命令,以便你可以在自己的代码仓库上运行相同的对比。

我们将整个验证器测试套件(可以理解为带推理的 linting,详情请阅读博客)通过 Jev(TypeSafe 的新决策模型)运行,并与我们目前用作评判的 LLM GPT Luna 6 进行了对比。这意味着六个项目、约 2,725 个验证器与文件对,两者都在相同的目标上评判,并且绕过了网关缓存,因此每次 LLM 调用都是真正全新的生成。

以下是关键要点:

  • Jev 运行我们的验证器套件比我们默认的 LLM 评判 GPT Luna 6 便宜 2.7 倍、快 13.6 倍。
  • 你现在就可以试试。Tessl 在 CLI 中支持 Jev,与 GPT Luna 6 并列。

以下是一些数据点,以表格形式供你对比:

GPT Luna 6 (gpt-6-luna)Jev (jev-1.13.0)
成本,约 2,725 个目标$1.74 示例性$0.65 标价
每 1,000 个目标的成本$0.64$0.24
挂钟时间436.5 秒32 秒

值得注意的是,我们还将同一套件与我们之前的评判 GPT Luna 5.6 进行了对比,发现 Jev 在那里便宜 6.6 倍、快 10 倍。Luna 6 比其前代更便宜但也更慢,因此 Jev 的成本优势缩小,而速度优势扩大。

如果你还没听说过 Jev,它是一个为做决策而构建的新模型。它作为一个通用分类器工作:给它一个问题和一些上下文,它会返回一个带有概率的决策,而不生成聊天回复。Jev 永远不会说“你完全正确”,我 100% 确信你对此没问题。

这使得它对软件团队中一个熟悉的问题很有意思。你的编码代理可以快速产生更改,但它们仍然需要遵循代码库的规则。有些规则适合放入测试或传统 linter。其他规则需要阅读代码并做出判断:这个面向用户的错误是否告诉某人如何解决它?这个更改是否遵循我们设计文档中描述的架构?

我们已将 Jev 添加为 Tessl 验证器的模型,因此你可以在自己仓库中的规则上试用它。Tessl CLI 可免费安装,并且有免费套餐供入门使用。

我们实际测试了什么?

我们测试了 Tessl 验证器,这些是你检入代码库的规则。它们说明应该什么是真的、规则何时适用,以及评判应该检查什么。你的 tessl.json 控制验证器针对哪些文件运行。然后 CLI 可以轻松高效地为某个 diff 或整个代码库运行所有必需的检查,使其易于在本地或 CI 中运行。

例如,一个验证器可能规定关于缺失资源的面向用户错误应给用户一个具体的下一步。它可能被配置为仅在前端代码库中的 TypeScript 文件上运行。Tessl 可以判断你的 diff 中是否有任何相关文件,或者让你在 main 上运行一次全面扫描。规则与它所管理的代码放在一起,你的团队和代理可以在那里检查和改进它。

这为你提供了一个实用的循环:代理生成代码,验证器检查它,审查反馈帮助你改进规则。

让我们看看一个简单验证器是什么样子:

{
  "name": "no-token-in-git-url",
  "instruction": "Git remote URLs must not embed credentials.",
  "relevant_when": "The file constructs or writes a git remote URL.",
  "checks": [
    "No git URL in this file contains a token, password or PAT.",
    "Credentials, where needed, come from the environment or a credential helper."
  ],
  "level": "error"
}

在我们的代码库中,Jev 和 GPT Luna 6 在 85.9% 的验证器决策上达成一致。差异集中在关于注释结构和内容的规则上,Jev 在这些规则上往往更宽松:在 warn 级别的散文规则上,Luna 6 在 50.1% 的文件上失败,而 Jev 为 30.4%;而在 warn 级别的代码规则上,两者则接近得多,分别为 15.3% 和 10.3%。我们还看到了一些意料之外的分歧,包括在错误处理规则上,我们仍在调查。

我们建议按照 tessl-verify 技能中的方法,针对你计划使用的评判器来调优验证器。在你熟悉的示例上尝试两个模型,并检查它们出现差异的地方。你可以输出每次判断的完整响应:GPT Luna 6 的结果包含书面推理,Jev 的结果包含决策概率。这些为你提供了不同的方式来调查结果并改进规则。

你可以在几分钟内复现我们所做的工作。这个比较在你的规则上比在我们的规则上更有用,所以不要只采用我们的数据。

首先为你的团队已经通过审查评论强制执行的事项编写一些验证器,因为这些规则的答案你已经知道。验证器文档包含完整的 schema 和一个完整示例。运行 tessl change verify --all 获得基线,再用 --model jev 运行一次,然后对比两份报告。值得你关注的数字不是一致率,而是它们产生分歧的具体文件。

亲自试一试

安装 Tessl CLI 并在你的仓库中初始化它。如果你已经有验证器,用 Jev 在当前更改上运行它们:

tessl change verify --model jev

要在做出评判调用之前查看完整运行会检查哪些文件:

tessl change verify --model jev --dry-run --all --show-files

然后尝试一个样本:

tessl change verify --model jev --all --sample 20

如果你是从零开始,请让你的编码代理使用 tessl-verify 技能,从你的审查评论、仓库指南或设计文档中找出几条具体规则。让它在 tessl.json 中设置验证器文件及其作用范围,然后一起检查试运行和样本结果。Tessl 文档也介绍了验证器以及在 CI 中运行它们的方法。

我们希望这些构建块在你的仓库中可见且可编辑。你的代理可以帮助创建规则,Jev 可以帮助检查它们,你的团队可以通过循环不断改进两者,使它们随着时间的推移变得越来越有用。加入我们的 discord,与社区分享你的成果!

来源:Tessl Blog · tessl.io