JEV - 退出环路:置信度写进代码
置信度写进分支之后,人从每张工单的必经之路退到边缘,只处理概率仍然散开的少数。高权限动作仍由代码在阈值之上执行。

联合作者:folkbench.com (Folkbench 是面向 AI API、模型服务及相关站点的可复核评测与选择平台,依据已发布的服务资料、价格、可用性、延迟与证据窗口,帮助用户比较并选择使用路径。)
这一组共十篇:
- JEV - 关节不需要大脑
- JEV - 系统润滑剂:控制节点不再生成
- JEV - 从 BERT 到 Jev:分类回到一张分布
- JEV - 告别提示词诗学:封闭题怎么设计
- JEV - 反 Token 经济学:大厂为什么不先做
- JEV - 两个 demo:回来的只是一张分布
- JEV - 退出环路:置信度写进代码
- JEV - 能力过线之后,更聪明不再是卖点
- JEV - 直觉与理性:有些话不该问关节
- JEV - 从操作屏幕到只出概率
人在环路中间,曾经是妥协:模型会胡说,所以高风险动作前面站一个人。站久了,人变成架构负债。吞吐不再取决于带宽,取决于有没有人在班。Jev 把这件事倒过来。置信度写进分支。人从主干退到边缘,只处理分布仍然散开的那一小截。
人为什么会被拉进来
聊天模型是文本续写器。输出的形状不稳定,幻觉会直接变成业务事故。金融、派单、合规因此叠了两层防御。
解析层越垫越厚
为了从一段话里抠出合法 JSON,周围长出 Pydantic、重试、关键词黑名单和第二次提示。一条判定的路径变成:写提示、等生成、解析失败、再提示、再评估。延迟从一次调用涨成一轮循环。
人工队列变成主干
防御仍不敢保证时,产品会说:这里挂一个人工队列。系统变成“模型起草稿,人来决定”。
- 上限是人的速度和班次,不是机器。
- 人要在几个系统之间切换,读一段非结构化的话,疲劳本身带来误判。
- 买来的算力最后像打字员前面的草稿机。这是伪自动化。
置信度写进分支
以前不能把模型直接写进 if,是因为“我有九成把握”本身不可信,也很难拿来比较。Jev 交出来的是封闭题上的概率。高到政策允许,代码执行。散着,才去边缘队列。
请求
│
▼
Jev
├─ 概率过阈值 ─► 代码执行
└─ 概率不够 ─► 边缘上的人
概率先收拢
它不写为什么。它把语义压到你定义好的类别或档位上,给出数值。墙的左边吸收自然语言的混乱。墙的右边只剩能测试的数。
阈值才是路由
阈值是政策,不是模型的出厂设置。例如退款这种高权限动作,可以把“是”的概率卡在 0.99。过了,就当硬分支走。没过,不要为了自动化去硬闯。0.99 在这里是例子,每条业务自己写。
人留在边缘
人不再站在每个主干节点上。人工队列从必经之路变成异常拦截。它吞吐的是概率模糊的那一小部分,不是每一张工单。
一张工单,两种写法
先生成,再解析
def handle_ticket_legacy(ticket_text: str):
prompt = f"""
阅读工单,返回 JSON:
{{"intent": "REFUND"|"COMPLAINT"|"OTHER", "urgency": "HIGH"|"LOW"}}
工单:{ticket_text}
"""
raw = chat_model.complete(prompt)
try:
data = json.loads(raw)
except json.JSONDecodeError:
return push_to_human(ticket_text, reason="parse")
if data.get("intent") == "REFUND" and data.get("urgency") == "HIGH":
# 没有可信的把握,高权限动作仍不敢自动做
return push_to_human(ticket_text, data)
return default_route(data)
解析要处理缺字段和碎格式。就算解析成功,也不知道它有多稳,高风险分支还是回到人。
分布直接进分支
def handle_ticket_jev(ticket_text: str):
refund = jev.noul(state=ticket_text, statement="这是一笔应当自动进入退款审查的高风险请求")
kind = jev.choice(
state=ticket_text,
options=["HIGH_RISK_REFUND", "NORMAL_INQUIRY", "SPAM"],
)
if kind.top == "HIGH_RISK_REFUND" and refund.p_yes >= 0.99:
return execute_refund_review(ticket_text)
if kind.top == "NORMAL_INQUIRY" and kind.probability >= 0.95:
return auto_reply(ticket_text)
return push_to_edge_human(ticket_text, confidence=kind.probability)
这里没有把“自动退款”说成模型的权利。高权限动作仍然是代码在阈值之上调用的函数。函数里该有的账务校验,一行都不能少。模型只提供封闭题的概率。
放在一起看
| 维度 | 先生成,人在环中 | 分布写进分支 |
|---|---|---|
| 控制流 | try-catch、重试、护栏 | 阈值和普通分支 |
| 延迟 | 一次生成,常常 1 秒以上;等人则是小时 | 封闭调用大约 70–500 毫秒;等人只发生在边缘 |
| 人介入的位置 | 常常在主干上 | 只在概率不够的时候 |
| 状态 | 中间夹着一段文本 | 过,或者不过 |
确定性回到 if
软件工程要的是分支可测。聊天模型进主干之后,if 前面多了一段可能变形的话。封闭题把变形留在墙的左边。右边仍是 if 和 else。
人是最大的一块摩擦,当每个请求都要等他点一下。把他拉出主干之后,过高阈值的流量不再为了确认而停住。概率掉下去的时候,系统只在局部滑向边缘,不把整条链堵住。
人在环路中间,是早期付的妥协。成熟的接法不是让人当零件,是让人看那些仍然散开的少数,并处理极端异常。关节负责倾向。人负责还没写进政策的那一截。