跳至主要内容
System One
返回博客

Jev 和 ChatGPT 有什么区别?什么任务交给决策模型,什么交给大模型

Jev 能替代 ChatGPT 吗? 不能整体替代,只能替代其中“判断”那一步。如果你用 ChatGPT 加 JSON Schema 做分类或是非判断,这一步可以改用 Jev,直接拿到每个选项的概率。生成回复、解释原因、多步推理,仍然交给大模型。两者常常一起用。

一句话区别:生成文本 vs 回答类型化问题

ChatGPT 的接口是“提示词进,文本出”。即使你要求它输出 JSON,它也是一个 token 一个 token 生成出来的。

Jev 的接口是“state 加问题进,概率出”。你先写好问题和选项,Jev 只在这些选项里给出答案和概率。问题有三种:

  • Choice:从选项里选一个,给出每个选项的概率。
  • Score:按有序量表打分。
  • Noul:返回“是”的概率。

本站的 System One 是一个开源 TypeScript SDK(@system-one-ai/core)加托管 API。想先了解这类模型,见 决策模型是什么?。

对照表:同一类工作,交给谁

这张表只比接口和机制,不比准确率、速度或价格高低。

对比项ChatGPT(OpenAI API + 结构化输出)Jev(在 system-one.dev 上)
输出形状生成的文本;开启结构化输出时,是符合 JSON Schema 的文本来源: OpenAI 结构化输出文档 · 核验日期 2026-10-12类型化答案加概率,不生成文本来源: Jev 文档 · 核验日期 2026-10-12
答案空间开放;用 enum 等字段可以限制格式只能在你预先给的选项或量表里作答来源: System One 决策原语 · 核验日期 2026-10-12
不确定性信号结构化输出本身不返回每个选项的概率,需要自己设计Choice 返回每个选项的概率,Noul 返回“是”的概率来源: System One 决策原语 · 核验日期 2026-10-12
能否解释原因能,可以让它写出理由不能,不解释推理过程来源: System One 文档 · 核验日期 2026-10-12
输入类型文本、图片等,见 OpenAI 官方文档来源: OpenAI 结构化输出文档 · 核验日期 2026-10-12文本和 JSON,不读图片来源: Jev 文档 · 核验日期 2026-10-12
计费方式按 token 计费,价格见 OpenAI 官方定价页来源: OpenAI API 定价 · 核验日期 2026-10-12按问题和请求字节块计积分(见下文)来源: system-one.dev 定价 · 核验日期 2026-10-12
适合的任务写回复、总结、抽取任意字段、多步推理分类、路由、打分、是非检查

真正的对手:ChatGPT + JSON Schema

很多开发者早就不用聊天界面做判断了,而是用 OpenAI API 加 JSON Schema 或函数调用。所以真正该比的是这一套写法。

结构化输出解决了什么,没解决什么

OpenAI 文档说,结构化输出能确保模型总是生成符合你给的 JSON Schema 的回答,不会漏掉必填字段,也不会编出无效的 enum 值。这解决的是格式问题。

它没解决的是:

  • 不确定性:你拿到一个 enum 值,但不知道模型有多确定。想要置信度,得自己设计。
  • 边界情况:OpenAI 文档也写明,模型拒答或者达到 max tokens 上限时,回答可能不符合 schema,需要你单独处理。来源:OpenAI 结构化输出文档 · 2026-10-12

你原来的 schema,对应 Jev 的哪种问题

原来的 schema 字段对应的 Jev 问题
enum(从几个类别里选一个)Choice
评分字段(比如 1–5 分)Score
boolean(是或否)Noul

同一个任务两种写法:客服工单分流

任务:读一条客服留言,判断该交给哪个团队,以及是否要求退款。

以下两段代码都是示意代码,用来对比写法,没有经过实际运行测试。写法一是伪代码;写法二沿用本站其他文章里 @system-one-ai/core 的写法。代码里不放真实的返回数字。

写法一:ChatGPT + JSON Schema(伪代码)

ts// 示意伪代码,未经测试
const schema = {
  type: 'object',
  properties: {
    team: { type: 'string', enum: ['billing', 'support', 'review'] },
    refundRequested: { type: 'boolean' },
  },
  required: ['team', 'refundRequested'],
  additionalProperties: false,
};
// 1. 把留言和 schema 发给模型,开启结构化输出
// 2. 检查是否拒答、是否因 max tokens 截断
// 3. 解析 JSON,拿到 team 和 refundRequested
// 4. 没有每个选项的概率:要置信度,得自己另想办法

写法二:Jev + @system-one-ai/core(示意)

ts// 示意代码,未经测试
import { choice, booleanQuestion } from '@system-one-ai/core';
import type { EvaluationClient } from '@system-one-ai/core';

const ticketQuestions = {
  team: choice('Choose the team that should handle this message.', {
    billing: 'Payments, invoices, and refunds',
    support: 'Technical issues with the product',
    review: 'Needs a person; the request is incomplete or consequential',
  }),
  refundRequested: booleanQuestion('Does the message ask for a refund?'),
};

export async function routeTicket(client: EvaluationClient, message: string) {
  const result = await client.evaluate({ state: { message }, questions: ticketQuestions });
  return {
    team: result.answers.team.choice,
    teamConfidence: result.answers.team.confidence,
    refundProbability: result.answers.refundRequested.probability,
  };
}

client 的创建方式见 决策模型是什么? 里的 createHostedClient(),模型 ID 从 GET /v1/models 取,不要手抄。

差别在于:写法二直接拿到概率,代码可以按阈值分支,比如置信度低就转人工。阈值要用你自己的标注样本来定。

什么时候还是用 ChatGPT

这些事交给大模型更合适:

  • 写回复、写邮件、写代码。
  • 总结长文、改写语气。
  • 抽取事先列不出来的任意字段。
  • 多步推理,或者需要写出理由。
  • 输入里有图片等非文本内容(Jev 只读文本和 JSON)。

组合模式:大模型生成,Jev 把关

Jev 先分流,拿不准再交给大模型

先用 Jev 的 Choice 分类。置信度够高,直接走对应流程;不够高,再交给大模型处理。详见 模型路由。

大模型生成后,Jev 做是非检查

大模型写完回复,再用 Jev 的 Noul 检查,比如“这条回复是否承诺了退款”。概率高就拦下或转人工。详见 Agent 护栏。想用 Score 给生成结果打分,见 用 Score 替代 LLM 当裁判。

两种模式的阈值,都要用自己的标注样本定。

那 Claude 呢?

关系一样。Claude 也是生成式大模型,也提供结构化输出:Anthropic 文档说,它通过约束解码保证回答符合 schema。来源:Claude 结构化输出文档 · 2026-10-12 上面关于 ChatGPT + JSON Schema 的分析,同样适用于 Claude。本文不对 Claude 做单独评测。

计费与试用

在 system-one.dev 上调用 Jev,按积分计费:

每 4KB 算一块,不足 4KB 也按一块;费用 = 块数 × 问题数 × 模型单价

  • Jev 单价:每个问题每块 1 积分。
  • 字节数是整个请求的 UTF-8 字节数,不是字符数。一个汉字约 3 字节。
  • 不足一块按 1 块算。
  • 例:一个 9,000 字节、2 个问题的 Jev 请求 = 2 × 3 × 1 = 6 积分。

新账号注册即送 100 积分,积分不过期。模型用完整的模型 ID 选择,ID 从 GET /v1/models 取。详见 定价。

ChatGPT 按 token 计费,和本站的计费方式不同,不能直接比单价。请用自己的典型请求分别算。

想试一下?在线试用(需登录)。

相关阅读

常见问题

Jev 和 ChatGPT 有什么区别?

ChatGPT 生成文本;Jev 只回答预先定义的问题,返回选项、评分或是非概率,不生成文本。

Jev 能替代 ChatGPT 吗?

不能整体替代。它只能替代“判断”那一步,生成和推理仍交给大模型。

已经用 ChatGPT + JSON Schema 做分类,还需要 Jev 吗?

如果你需要每个选项的概率,用来设阈值、转人工,可以试 Jev。如果现在的做法已经够用,就不必换。

两者怎么组合?

常见两种:Jev 先分流,拿不准再交给大模型;大模型生成后,用 Jev 做是非检查。

在 system-one.dev 用 Jev 怎么计费?

每 4KB 算一块,不足 4KB 也按一块;费用 = 块数 × 问题数 × 模型单价,Jev 单价 1 积分。新账号注册即送 100 积分,积分不过期。

Jev 和 Claude 也是这个关系吗?

是的。Claude 也是生成式大模型,分工和组合方式相同。