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

Jev 和 Claude 有什么区别?在 Claude Agent 里把判断交给决策模型

在 Claude Agent 里怎么用 Jev? 把只需要一个选项或一个概率的步骤拆出来交给 Jev,例如选哪个工具、调用前是否放行、任务是否完成、要不要升级到更强的模型。做法是在 Agent 代码里通过 TypeScript SDK 或 HTTP API 调用 Jev。Claude 继续负责生成和推理,你的代码按 Jev 返回的概率决定下一步。

一句话区别

Claude 的接口是“消息进,文本或工具调用出”。Jev 的接口是“state 加问题进,概率出”。state 就是你要它判断的那段内容(文本或 JSON)。

对比项ClaudeJev(在 system-one.dev 上)
输出生成的文本,或结构化的工具调用来源: Claude 工具调用文档 · 核验日期 2026-10-12预先定义的选项、等级或是非,附概率,不生成文本来源: System One 决策原语 · 核验日期 2026-10-12
能否解释原因能写出理由不能,只给概率
输入类型见 Claude 官方文档文本和 JSON,不读图片
计费方式按 token 计费,见 Claude 定价来源: Claude 定价 · 核验日期 2026-10-12按块数和问题数计积分(见下文)

完整的对照表和 JSON Schema 对照,见 Jev 和 ChatGPT 有什么区别 和 决策模型和结构化输出有什么区别。

Jev 不能做的事

  • 不能写回复、写邮件、写代码。
  • 不能解释理由,也不能做多步推理。
  • 不能当编程 Agent 的主模型。编程 Agent 需要模型生成代码和工具调用,Jev 的接口是 state 加问题进、概率出,形状不一样。
  • 不读图片。

这些事都留给 Claude。

Claude Agent 里的四个判断点

选工具(Choice)

工具多了,Claude 可能选错。可以把候选工具写成 Choice 的选项,再加一个“都不合适”,让 Jev 选一项,置信度低就交回 Claude 或问用户。详见 Agent 工具路由。

调用前拦一下(Noul)

Claude 产出一个工具调用后,先用 Noul 判断是否违反你的规则,比如“这条命令是否会删除生产数据”。按概率放行、拦截或转人工。详见 Agent 护栏。

任务完成了吗(Noul)

Claude 说“做完了”,不一定真做完了。把“完成”拆成几个是非问题,配合测试等确定性检查,决定停止还是继续。详见 Agent 停止条件。

要不要升级到更强的模型(Score / Choice)

先用 Score 给请求难度打个分,或用 Choice 选一个处理档位,简单的交给小模型,难的交给更强的模型。详见 模型路由。

怎么接:用 SDK 或 API 在 Agent 代码里加决策点

接入方式只有两种:TypeScript SDK @system-one-ai/core,或直接调 HTTP API。都在你自己的 Agent 代码里调用。

流程:

  1. Claude 产出一个候选动作(比如一个 tool_use 块)。
  2. 你的代码把这个动作作为 state 发给 Jev,问一个或几个问题。
  3. Jev 返回概率。
  4. 你的代码按阈值决定:执行、升级给更强的模型,或转人工。

下面是示意代码,没有经过实际运行测试。Claude 部分按 Claude 工具调用文档 的 tool_use 结构写;Jev 部分沿用本站其他文章里 @system-one-ai/core 的写法。阈值只是占位,要用自己的标注样本定。

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

const gateQuestions = {
  destructive: booleanQuestion(
    'Would this tool call delete or overwrite production data?',
  ),
};

type ToolUse = { name: string; input: unknown };

// toolUse 来自 Claude 回复里的 tool_use 块
export async function gateToolCall(client: EvaluationClient, toolUse: ToolUse) {
  const result = await client.evaluate({
    state: { tool: toolUse.name, input: toolUse.input },
    questions: gateQuestions,
  });
  const p = result.answers.destructive.probability;

  // 阈值是占位值,请用自己的标注样本重新选
  if (p >= 0.8) return 'block';
  if (p >= 0.3) return 'ask_human';
  return 'run';
}

client 的创建方式见 决策模型是什么?。模型用完整的模型 ID 选择,ID 从 GET /v1/models 读取,不要手抄。

中文能用吗

Jev 能处理中文,但准确度不如英文。

建议用自己的中文样本测试。也可以试一种写法对比:问题和选项写成英文,state 保留中文,用同一批数据各跑一遍。这只是测试建议,不是结论。

费用和试用

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

  • Jev 单价:每个问题每块 1 积分。
  • 块数按整个请求的字节算,一个汉字约占 3 字节。
  • 例:一个 9KB 的请求问 2 个问题,算 3 块 → 3 × 2 × 1 = 6 积分。

新账号注册即送 100 积分,积分不会过期。详见 定价。

Claude 按 token 计费,价格见 Claude 定价。两者计费方式不同,不能直接比单价,请用自己的典型请求分别算。

想试一下?在线试用(需登录),比如 代码审查风险 或 NPC 动作选择(示例数据)。

相关阅读

核验日期:2026-10-12

常见问题

Jev 和 Claude 有什么区别?

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

Jev 能替代 Claude 吗?能当 Claude Code 的模型吗?

都不能。Jev 不生成文本,只能接手 Agent 里的判断步骤。

Claude Agent 里哪些步骤适合交给 Jev?

选工具、调用前检查、判断是否完成、是否升级到更强的模型。

两者怎么接起来?

在你的 Agent 代码里,用 TypeScript SDK 或 HTTP API 调用 Jev,按返回的概率决定下一步。

Jev 支持中文吗?

能处理中文,但准确度不如英文。建议用自己的中文样本测试。

怎么计费、怎么试?

每 4KB 算一块,不足 4KB 也按一块;费用 = 块数 × 问题数 × 模型单价,Jev 单价 1 积分。新账号注册即送 100 积分。在线试用(需登录)。