在本页面
有人问我们的网站有多少个集成。网站给出的却是注册表单应该包含多少个字段的建议。
答案来得很快,却毫无用处。
两个问题都包含“多少”。我们的搜索代码给一个被接受的常见问题匹配结果设置了 0.86 的最低分,让本来很弱的匹配显得可信。速度掩盖了错误的判断。
查看 Ship with Jev 时,这类失败值得思考。截至 2026 年 9 月 26 日,其目录收录了 551 个社区作品。游戏与搜索组件、浏览器代理、研究工具和路由实验并列。目录中的性能数据来自各作品的作者;它是发现项目的工具,而非独立基准测试。
值得关注的问题是,其中哪些模式能真正减少产品中的工作量。
对开发集成和商业软件的团队,我会先评估以下七种用法。顺序反映我对实用性和可测试性的编辑判断。除非注明了具体实现链接,下文的工作流都是建议的设计。
Jev 能为应用带来什么
TypeSafe 将 Jev 描述为处理有类型判断的模型。给它相关状态和一个问题,它就返回供代码使用的选择、概率或分数。用例地图涵盖路由、检索、核验和提取。
我们收录的 YouTube 资料中,有一个有助于理解这一区别的先例。在 Diogo Almeida 于 AI Engineer 的演讲中,TypeSafe 联合创始人主张让软件的基础构件能表达更多智能。他将这种设想与给现有软件附加助手作比较。这是他对 AI 发展方向的看法,并非 Jev 当前性能的基准测试。
想象铁路道岔。真正有用的输出是列车该走哪条可用轨道。一段描述轨道的文字,对扳动道岔毫无帮助。
“普通 LLM 也能返回 JSON”,这个质疑很合理。确实如此。是否使用另一种组件,取决于这种决策实测的质量、成本和延迟。单凭有类型的响应,不能证明其中任何一项。
先看 CLM 带来的挑战
9 月 23 日,Jacky Kwok、Hangoo Kang、Tarun Suresh、Jon Saad-Falcon、Marco Pavone、Christopher Ré 和 Azalia Mirhoseini 发布了 Contrastive Language Models。他们的工作挑战了一个假设:Jev 是实现快速语义决策的唯一可行途径。
作者报告,在计算机操作、游戏和工具调用任务上,CLM 的零样本结果与 Jev 相当,延迟最多降低 9 倍。他们还分别报告了在 38 个留出的 DeepSWE 任务上取得 81.6%,在 30 个 Terminal-Bench 2.1 任务上取得 87.6%。这些编程结果使用了经过微调的 CLM 验证器,在其他模型生成的解法中进行选择。作者还报告,在这一验证器设置下,Jev 的表现低于他们的随机选择基线。延迟是在 H100 上测量的。这些都是作者的发现,我们尚未独立复现。原始评估与方法可供查阅。
这项比较改变了我们应测试的内容。选择客服队列、选择搜索段落、评估漫长的编程过程,是不同的任务。一项任务表现好,不能决定其他任务的结果。
CLM 分别编码状态和候选动作,因此可以缓存可复用的动作嵌入。代码仓库记录了兼容 TypeSafe 的接口,以及默认 2,048 个 token 的状态限制。除非另行配置,超过限制的状态会被截断。API 层面的兼容不能证明决策相同。
已发布的模型卡指定使用 Qwen3-8B 嵌入,并提示强验证结果需要经过微调的模型头。它还明确说明,CLM 给输入的候选项打分,并不生成解法。开放权重提供了评估选项;硬件、服务部署和维护仍有成本。
对 Tajo,实际启示很明确:在相同案例上比较决策模型,分别记录首次和热启动的延迟,测试看似合理但错误的候选项。固定模型以及编码器或投影头的版本。不支持的服务商配置应被拒绝,不能悄悄改用另一家。模型或候选集变化时重新检查校准情况。
下面七种工作流仍值得评估。它们的价值不取决于 Jev 在每次比较中获胜。
1. 检查搜索结果是否回答了问题
这是我的首选,因为失败看得见,结果也容易标注。返回的段落回答了访客的问题吗?
先用关键词搜索、嵌入检索或两者结合,取出少量候选结果。再让 Jev 判断每个段落是否提供所需事实。TypeSafe 的重排序指南展示了这一两阶段结构,也说明了它的限制:如果检索阶段漏掉一篇文档,重排序器无法选中它。
- 检索关键词、嵌入少量候选结果无法补上漏掉的文档
- Jev有类型的判断这个段落是否提供了事实?
- 答案或无答案答对或未作答测量总延迟
对我们统计集成数量的例子,最短路径更简单。直接数权威目录中的条目,并说明这个数字代表什么。有文档的连接器与客户配置的一条连接是两回事。
将语义判断留给需要理解意图的问题,例如“能否只转移从昨天起发生变化的客户?”检索相关同步文档,再检查它是否回答增量更新的问题。
Kyle McLaren 的 jevsearch 实现把顺序展示得很清楚:先得到关键词结果,再由 Jev 排名。它发布的基准测试使用自身的文档库和已标注查询。这是关于那项测试的有用证据,并不保证其他网站或语言的效果。
测量正确答案、无依据的答案、未回答的问题和总延迟。加入拼写错误及翻译后的查询。不相关的结果即使更快,仍然不相关。
2. 将请求路由到正确页面、队列或代理
用户写道:“我换了账号之后,联系人就不再同步过来了。”应用需要区分连接故障排查、账单问题、字段映射和创建新同步的请求。
提供当前页面、最近的对话,以及这位用户可以访问的目的地。让模型选出最佳目的地,同时明确提供“都不匹配”选项。目的地标识符应由应用控制。
多个判断可能同时有用:意图、目的地、紧急程度,以及消息是否包含可执行请求。TypeSafe 的 fan-out 模式让独立问题共用一次请求,之后由代码使用相关答案。
无害的导航建议与执行工作的许可,是两个独立决定。找到正确的账单页面,不等于获得退款授权。找到正确的代理,也不等于授予它凭据。
实际好处是减少转交和反复澄清。测量用户第一次尝试就到达正确目的地的频率。保留包含“是的”“新任务”“那些完成了吗?”等后续话语的回放样本。只有结合上下文,这些话才有意义。
3. 将杂乱数据转为可靠的集成
以下是建议的一种集成工作流。源数据导出包含 customer_email、billing_email 和 account_owner_email。目标系统需要联系人的邮箱地址。
字符串相似度无法消除这里真实的歧义。字段描述、样本值和业务目的有助于判断。Jev 可以从实际存在的源字段中选择,代码则检查类型、必填值和目标系统的约束。
相关的预解析值提取指南采用了一个特别有用的设计:代码找出候选值,模型选出其中一个,代码复制原始值。这样便不会生成一个替代地址或金额。
- 代码查找候选项customer_emailbilling_emailaccount_owner_email
- Jev选出一个字段描述样本值、目的
- 代码复制原始值类型、必填值目标系统的约束
对于 CRM 和邮件集成,将源字段与映射决定一起保存。展示受影响记录的预览。把不确定的映射留待人工审核。
这里还有经济上的好处:已批准的模式映射可以复用。只要字段含义没有变,就不必每行都调用模型。
根据已审核样本,测量被拒绝的记录和错误映射。API 请求成功只能证明数据被接收,不能证明正确的邮件地址进入了正确的联系人记录。
4. 选择能完成任务的最小模型
如果应用把所有事情都发给最贵的模型,模型路由就很有吸引力。改一个标签、判断搜索结果、调查复杂架构,要求各不相同。
先确定已配置且获准接收任务数据的模型。记录它们支持的工具和观测到的表现。随后,范围明确的判断可以在这个集合中推荐合适选项。TypeSafe 的模型路由示例包括这种模式。
OpenRouter 的 Jev Router通过聊天 API,以模型 ID typesafe/jev-router 提供这种模式。页面说明它会随着对话变化选择模型和推理投入程度。采用之前,应评估它可选择的下游模型、实际费用、数据处理方式及工具调用期间的行为。我们核实了该页面,但尚未对这个路由器做基准测试。
我们建议的策略从普通代码处理精确规则和事实开始。对范围有限的语义问题使用决策模型,写作或实现使用合适的生成模型,在证据表明有必要时升级。
任务需要什么?
-
精确规则和事实
普通代码
-
范围有限的语义问题
决策模型
-
写作或实现
合适的生成模型
-
证据表明需要更多
升级
路由器本身也消耗时间和金钱。对明显且重复的任务,固定规则可能更好。对含糊的任务,应以完成的工作为依据,比较路由方式与固定模型基线。
跟踪每个被接受结果的成本、重试次数、升级率以及后来发现的失败。如果有人必须修复输出,便宜的首次调用可能变成昂贵的工作流。
5. 在主张成为客户答案之前核查它
引用可能存在,却没有支持旁边的句子。资料可能描述计划中的功能,回答却说它今天已经可用。
TypeSafe 的引用检查指南区分两种检查。普通字符串匹配可发现缺失的引文。语义判断则评估来源上下文是否支持该主张。
将同样的设计用于客服回复、生成的集成指南或代理提出的完成报告。保留主张、来源段落和判断结果,供人审核。
“已经完成”仍需要直接证据。测试证明经过测试的行为。部署记录证明部署发生。语义判断可以指出报告与证据不符,却不能创造缺失的证据。
这一用例有吸引力,因为它可以放在现有发布步骤之前。测量漏过的无依据主张、被错误拦下的有依据主张,以及新增的审核工作量。从系统已经犯过的明确错误开始。
6. 将文字记录和客户反馈变成有用的候选清单
文字记录档案只有在能找到关键段落时才有用。“包含集成一词”是寻找“解释客户为什么放弃设置”的弱筛选条件。
一种方法是先检索可能相关的段落,再判断少量具体属性:是否描述设置障碍、是否包含具体例子、缺少前后文时能否独立理解?
为每段选中的文字附上来源 URL 和时间戳。时间戳取自文字记录;模型只判断相关性。
对视频编辑来说,这些信号可以生成待审查片段的短名单。对产品团队来说,它们可以整理反复出现的异议。对营销人员来说,它们可以将客户证据与缺乏依据的营销主张分开。
TypeSafe 的复合评分模式将各维度分开,以便代码调整权重。适合教程的片段,未必适合简短产品演示。只要底层证据和标准不变,就复用之前的判断。
JevQL是相关的社区实现:在数据库外评估 PostgreSQL 行上的语义条件。它的文档指出普通筛选条件会影响费用。在请求语义判断前,先缩小符合条件的行集合。
测量审核者的采纳率,以及找到可用素材所节省的时间。开头吸引力的分数,不是观看次数的预测。
7. 选择下一步有用操作的界面
设置页面可能收到“把这个同步暂停到明天”的请求。浏览器代理可能需要从当前页面上看得见的控件中作选择。
在建议的界面设计中,应用提供获准执行的操作和当前状态。Jev 从中选择,界面展示相关控件或可审核的建议。
Ship with Jev 收录了 Gregor Zunic 的浏览器航班搜索演示。所报告的运行时间和费用仅适用于该演示。可借鉴的思路,是在每一步从可用操作中选择;其他浏览器流程仍需各自验证。
状态是否仍然有效很重要。如果判断进行期间选中的账号或页面发生变化,就丢弃过时结果。将操作绑定到经过审核的账号和状态。
这也能让有类型的 UI 目录发挥作用。模型选择已知视图和范围明确的数据,普通渲染代码生成界面。测量任务成功率和错误操作,尤其关注控件是否始终容易理解。
我会从哪里开始
选择一个已经造成明显浪费的重复决策。用实际失败案例建立评估集。
| 现有问题 | 首个实验 | 值得收集的证据 |
|---|---|---|
| 搜索回答了错误问题 | 判断检索出的短名单 | 正确答案、拒答、延迟 |
| 请求在团队间反复转交 | 从获准的队列中选择 | 首次路由准确率、转交次数 |
| 导入需要手动映射 | 选择真实的源字段 | 映射错误、审核时间 |
| 每项任务都用最大模型 | 路由符合条件的任务 | 每个被接受结果的成本 |
| 生成的回答夸大事实 | 对照来源核查主张 | 漏过的无依据主张 |
| 没人使用文字记录档案 | 返回带时间戳的段落 | 审核者采纳率、查找证据的时间 |
| 用户找不到控件 | 建议可用操作 | 完成率、错误选择 |
不要照搬演示中的置信度阈值。TypeSafe 的置信度文档解释,Choice 和 Score 的置信度只是对一个分布的概括。它不能证明输入完整,也不能证明所选操作已获得授权。
加入所有候选项都不合适的案例。加入服务不可用的情况。加入你计划支持的每种语言。将模型版本和问题定义与结果一起保存,才能公平比较之后的变化。
对集成产品,我会从搜索相关性和字段映射开始。两者都缩短通向有效同步的路径,也都允许你在错误演变为客户问题之前检查它。
选出你的软件今天给出的一个错误答案。让它可靠地采取正确的下一步。
常见问题
Jev 适合做什么?
Jev 提供有类型的语义判断:选择目的地、检查证据是否回答问题、选择源数据中的值,或按标准给项目打分。这些判断可以支持搜索、客服请求路由、集成字段映射、核验和模型选择。计算、权限和执行仍由普通代码负责。
Jev 能取代应用中的 LLM 吗?
当所需结果是一个选择或分数时,它可以替代部分调用。撰写解释、生成代码和开放式推理仍需要合适的生成模型。应评估整个工作流,而非假设决策模型能够替代每一次 LLM 调用。
Jev 的置信度能证明答案正确吗?
不能。Choice 和 Score 的置信度概括的是所提供选项或等级上的分布。证据缺失或候选项不佳仍可能产生错误决定。应在有代表性的样本上测量准确率和拒答情况,并单独处理授权。