Jev API 指南:Choice、Noul 与 Score 决策 | AutoJev

Jev API 把调用方提供的 State 转换成结构化决策。应用不必先让生成式模型输出一段文字再解析,而是可以预先定义边界明确的问题,并获得类型化答案、概率和用量信息。

AutoJev 在 POST https://autojev.ai/api/v1/decisions 提供 Jev Decisions 协议。当现有路由和防护预设无法覆盖你的自定义决策时,可以使用这个接口。

Jev 和 System One 模型系列由 TypeSafe AI 开发。AutoJev 是独立的集成层,与 TypeSafe AI 不存在隶属或官方背书关系。

Jev API 是否需要登录或 API Key?

生产 REST 调用需要 AutoJev Access Key。登录后在 API Key 设置创建用户级密钥,并将它保存在服务端环境变量中。不要把密钥嵌入浏览器代码,也不要提交到代码仓库。

公开的 Ask Jev 不同:访客无需登录或提供 API Key,就可以体验一个边界明确的问题。Ask Jev 用于探索;需要集成到应用和 Agent 时,应使用经过鉴权的 API。

bash
export AUTOJEV_API_KEY="your-autojev-access-key"

Jev API 接口

使用 Bearer 鉴权发送 JSON 请求:

bash
curl https://autojev.ai/api/v1/decisions \
  -H "Authorization: Bearer ${AUTOJEV_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "~typesafe/jev-latest",
    "state": {
      "action": "为确认存在重复扣款的订单退款 680 美元",
      "policy": "超过 500 美元的退款必须由人工审批"
    },
    "questions": {
      "next_step": {
        "type": "choice",
        "instructions": "选择当前最安全且被允许的下一步。",
        "criteria": {
          "allow": "立即发起退款。",
          "review": "先由人工审批,再发起退款。",
          "deny": "拒绝退款请求。"
        }
      },
      "needs_review": {
        "type": "noul",
        "instructions": "按照给定策略,这笔退款是否需要人工审核?"
      },
      "risk": {
        "type": "score",
        "instructions": "评估资金和策略风险。",
        "criteria": ["低", "中", "高", "严重"]
      }
    }
  }'

model 字段可以省略,默认值为 ~typesafe/jev-latest。AutoJev 只接受 Jev 模型标识。每次请求必须包含 1 到 32 个命名问题。

Jev API 请求字段

State

state 是需要评估的证据,可以是字符串、对象或数组。只发送与当前决策有关的信息;精简、明确的 State 更容易测试,也能减少隐私数据暴露。

Questions

questions 中的每个 Key 都代表一个基于相同 State 的独立判断:

  • Choice 从调用方定义的结果中选择一个答案,并可返回置信度和概率分布。
  • Noul 针对 yes-or-unknown 判断返回 0 到 1 之间的数值。
  • Score 按照调用方定义的有序量表评估 State。

Choice 问题支持 2 到 20 个 Criteria,Score 问题支持 1 到 10 个量表条目。清晰具体的判断标准,比含糊的标签更容易形成有效的决策边界。

可选上下文

session_idusertrace 可以携带标识符以及不含 Secret 的可观测性信息。不要在这些字段中放入凭证、密码或与决策无关的个人数据。

Jev API 响应

AutoJev 使用标准 { code, message, data } Envelope 包装成功结果。data 包含实际模型、每个命名问题的答案以及 Token 用量,也可能包含 Provider 和请求标识。

json
{
  "code": 0,
  "message": "ok",
  "data": {
    "model": "typesafe/jev-1.13-20260917",
    "answers": {
      "next_step": {
        "type": "choice",
        "choice": "review",
        "confidence": 0.94,
        "probabilities": {
          "allow": 0.02,
          "review": 0.94,
          "deny": 0.04
        }
      },
      "needs_review": {
        "type": "noul",
        "noul": 0.97
      },
      "risk": {
        "type": "score",
        "score": 2
      }
    },
    "usage": {
      "input_tokens": 183,
      "output_tokens": 74
    }
  }
}

以上数值仅用于说明响应结构;真实答案会随着 State、Criteria 和当前模型版本变化。概率是决策信号,不是执行动作的授权。

Jev API 与预设接口的区别

需要自定义 Choice、Noul 或 Score 问题时,使用通用 /api/v1/decisions 接口。针对常见 Agent 工作流,AutoJev 还提供稳定的预设接口:

  • 模型路由和任务路由。
  • 工具调用防护。
  • 调研验证。
  • 完成状态审查。

预设会把工作流字段转换成 Jev 协议,并附加确定性的处理建议。请求示例请查看完整接入指南

应该选择 Jev API、MCP 还是 Skills?

  • 在后端代码和固定应用流程中使用 Jev API
  • 当支持 MCP 的 Agent 需要发现决策工具和 Schema 时,使用 Jev MCP
  • 需要教会兼容 Agent 何时以及如何调用工具时,使用 Jev Skills
  • 在投入生产前,可以使用 AutoJev Playground检查请求。

这四种方式都连接到同一类有边界的决策层。它们都不能替代应用授权、人工审批或基于代表性数据的评估。

生产环境检查清单

  1. 把 Access Key 保存在可信服务端或 Agent 凭证存储中。
  2. 调用 Jev API 前先定义清晰的 Criteria。
  3. 记录模型版本、概率和请求 ID,方便调试。
  4. 使用自己工作流中的真实样本校准阈值。
  5. 对高影响或不可逆操作保留人工确认。
  6. 当 State 或策略发生实质变化时重新评估。

要理解底层概念,请阅读 Jev 是什么?Jev 模型指南。一手资料可查看 TypeSafe System One 文档OpenRouter Decisions API 参考