最后更新:2026-11-02 · 编辑撰写 · API 形态与官方文档一致

用 50 行 Python 搭建 Jev 工单分类系统

工单路由是最典型的第一个 Jev 工作流——类别有界、量大,而旧方案(人工分诊或每单一次 LLM 调用)在成本上全输。这是一个大约 50 行的完整路由器:三个类型化问题、一套置信度阈值策略、优先通道和人工兜底。

完整脚本

import os
import requests

API = "https://api.typesafe.ai/v1/systemone"      # 或你的渠道商端点
KEY = os.environ["JEV_API_KEY"]

QUESTIONS = {
    "category": {"type": "choice", "options": ["billing", "technical", "sales", "spam"]},
    "urgent":   {"type": "noul",
                 "statement": "The customer is blocked, or losing money or time."},
    "mood":     {"type": "score", "scale": ["calm", "annoyed", "angry", "furious"]},
}

def decide(state: str) -> dict:
    r = requests.post(
        API,
        headers={"Authorization": f"Bearer {KEY}"},
        json={"model": "jev-latest", "state": state, "questions": QUESTIONS},
        timeout=10,
    )
    r.raise_for_status()
    return r.json()["answers"]          # {name: {value, confidence, ...}}

def route(state: str) -> str:
    a = decide(state)
    cat, urgent, mood = a["category"], a["urgent"], a["mood"]

    # 1. 垃圾:高置信时直接归档
    if cat["value"] == "spam" and cat["confidence"] > 0.90:
        return "archive"

    # 2. 优先通道:被卡住或情绪激动的客户插队
    if (urgent["value"] and urgent["confidence"] > 0.85) or \
       mood["value"] in ("angry", "furious"):
        return "priority-queue"

    # 3. 自动路由:只在模型足够确信时
    if cat["confidence"] >= 0.75:
        return f"team-{cat['value']}"

    # 4. 其余全部:人工复核
    return "human-review"

if __name__ == "__main__":
    for line in open("tickets.txt"):
        if line.strip():
            print(route(line.strip()))

五十行,其中真正有趣的——策略——只占十行左右。注意代码里没有什么:没有 prompt 字符串、没有输出解析、没有 schema 校验。响应要么带着你要的字段,要么调用本身失败。

为什么三个问题一次调用

三个问题(choice / noul / score)随同一次请求捎带。Jev 只对输入计费,第二、第三个问题近乎免费——整次调用的成本约等于 State 加一点零头。对比:三次独立 LLM 调用,$0.25/1M 输入 + $2.00/1M 输出,每次 2–8 秒,每次都有解析失败的可能。这就是Jev 与 Function Calling 对比里的核心经济账,微缩版。

策略是产品决策,不是代码风格

阈值(0.90、0.85、0.75)是起点,不是推荐值。它们编码的是你接受多大的自动化风险:

阈值含义出错时的代价
spam > 0.90自动归档真实客户工单凭空消失。昂贵。
urgent > 0.85优先通道误报:插队,代价小;漏报:愤怒的客户干等,代价大。
route ≥ 0.75自动路由路由错误的工单,客服重新归档。烦人但可活。

用回放集定阈值——100–500 条人工标注的历史工单——并在把任何阈值用于生产前读一遍生产检查清单。Jev 的置信度经过校准训练(RLCD 而非 RLHF),但厂商评测集上的校准不等于你的工单上的校准。

把 State 弄瘦

上面的脚本发什么 State 就用什么——这正是State 设计那篇的价值:调用前剥离签名、HTML 和线程历史,同样的路由决策便宜约 60%。月 10 万工单的量级下,Jev 的费率这也是真金白银;按 LLM 的费率,这就是可行与荒谬的差别。

接进系统

下一步

路由跑通之后,同一个 State 可以喂给生成环节:Jev 完成分类、定级、过滤垃圾之后,由对话式 LLM 起草回复——就是 Jev 与 LLM 页讲的混合模式。想在动代码前测试问题措辞,在线试玩免费运行真实决策并输出完整概率。