找回密码
立即注册
搜索
发回帖 发新帖

4945

积分

0

好友

625

主题
发表于 半小时前 | 查看: 5| 回复: 0

📖 系列难度说明:本篇为进阶实战。看过上一章的 Choice、Score、Noul 就能读;做过生产系统的读者,可以重点看阈值设计、校准验证、熔断和审计。
🎁 核心收获:读完你能把模型的概率变成一套可解释的执行策略,而不是在代码里随手写下一个 0.9。

先看一段最普通的 LLM 对话流。

用户:我的订阅上个月被扣了两次钱,退款还没有到账。
LLM:我理解你遇到了重复扣费和退款延迟的问题,建议联系账单团队处理……

这段回答读起来没问题,但程序真正要执行的动作只有一个:把工单转给谁?

接上 Jev 后,同一段用户消息会变成这样:

用户消息
   ↓
Jev:billing = 0.82
   ↓
程序:接下来怎么办?

答案不是“Jev 说是账单组,那就直接转单”。0.82 只是一个信号。程序还要判断:这是低风险路由吗?订单记录是否齐全?第二个候选项离它有多远?如果转错,能不能轻易改回来?

所以一个更接近真实系统的流程是:

Jev 选择 billing,概率 0.82
   ↓
订单与退款状态完整吗?
   ├─ 否:补查记录或询问用户
   └─ 是:这次路由的错误代价高吗?
           ├─ 低:转给账单组
           └─ 高:交给 LLM 复核或人工审核

很多系统会把上面的判断压缩成一行:

if confidence > 0.9:
    execute()
else:
    human_review()

代码很短,责任却被藏起来了。0.9 从哪里来的?转错一次的损失有多大?模型说 90% 时,现实里真有 90% 的正确率吗?如果今天的数据分布变了,这条线还成立吗?

这一篇要讲的,就是 Jev 返回某个选择和概率以后,程序该怎么继续走:什么时候自动执行,什么时候补证据,什么时候交给 LLM 复核,什么时候必须升级人工。


先别急着相信 0.82

上一章里,我们把一次 Jev 调用写成了“上下文 + 问题 + 候选项”。模型返回结果时,通常不只是一个选择,还会带概率分布或置信度信号。

billing       0.82
fraud         0.10
technical     0.05
human_review  0.03

初看很直观:billing 的 82% 最高,似乎该直接路由。但这里至少混着三件不同的事。

第一,它选的是谁。 这只是当前候选项中的第一名。

第二,它领先多少。 如果第二名是 0.80,第一名 0.82 并不稳;如果第二名只有 0.10,含义就不同。单看最高分,容易忽略这种差距。

第三,这个概率是否可信。 模型说 82%,不等于历史上所有报 82% 的案例有约 82% 是对的。只有经过校准验证,这个数字才有资格参与自动化策略。

可以把它记成一句不太严谨、但很实用的话:

选择 = 它想让你做什么
概率差距 = 它在候选项间有多犹豫
校准 = 它的把握值能不能信

对小任务来说,第一项足够。可一旦选择会触发退款、账号处置、内容下架或关键业务动作,后两项就不能缺席。

💡 来源:TypeSafe 发布文章[1] — 将概率与置信度作为结构化决策输出的一部分;Learn Jev 对校准的说明[2] — 强调置信度只有与长期实际正确率匹配时,才适合进入自动化策略。


一条概率该走哪条路,不由概率单独决定

“高概率自动执行,低概率转人工”是一个不错的起点,但不够完整。因为同样是 82%,不同动作的错误代价天差地别。

把低优先级客服工单错分一次,通常只是多花一点处理时间;把不符合条件的退款直接放行,可能造成资金损失;把安全告警忽略掉,后果更大。概率没有变,策略必须变。

更可靠的思考方式是同时看三件事:

模型信号:选择、概率、与第二名的差距
动作风险:做错后会造成什么损失,能否回滚
业务证据:关键事实是否由可信系统确认

这会自然得到一张比“0.9 阈值”更有用的表:

当前情况 更合适的下一步
低风险,概率高,事实完整 自动执行
低风险,概率接近,缺少少量信息 向用户补问或调用一个确定性查询
中风险,概率高,但需要解释或交叉检查 交给 LLM 或第二个判断器复核
高风险,即使概率很高 走业务规则与人工审批
模型输出异常、候选项冲突或系统状态不完整 拒绝执行,进入安全兜底

这里有个容易反直觉的点:高置信度不一定意味着能自动执行。

例如模型对“用户希望注销账号”的判断有 99% 把握,也不代表系统可以直接注销。是否执行还要看身份验证、冷静期、数据保留策略和权限。模型只能帮你理解意图,不能跳过系统本该存在的硬约束。


从一个客服路由,走一遍完整控制流

先用一个风险比较低的例子把逻辑走通。用户提交了重复扣费问题,系统要决定路由、补充信息还是交给人工。

Jev客服路由决策控制流图:收到工单后判断候选项与概率,并分流至自动路由、补充信息或人工复核

注意图里没有“低于阈值就失败”。模型不确定时,系统可以获取更好的证据,而不是硬着头皮执行或立即把所有事情塞给人工。

比如 billing 和 fraud 的概率接近,下一步就不该继续猜,而应查询:这笔订单是否真的出现重复扣款?退款是否已经发起?账号是否有异常登录?这些是数据库能够给出的确定事实。查完以后,带着新状态再做一次决策,或者直接交给已有的规则。

这就是决策模型在工作流中的正确姿势:它负责指出“当前最值得走哪条信息路径”,而不是替代所有事实来源。


先定义策略,再把策略写成代码

阈值最好不是散落在业务代码里的魔法数字。先把策略写清楚,再让代码实现策略。

下面的例子没有绑定具体 Jev SDK,重点是把风险、概率和证据状态拆开:

type Action = "route_billing" | "ask_for_evidence" | "review_by_llm" | "human_review";

type DecisionSignal = {
  choice: "billing" | "fraud" | "technical" | "human_review";
  probability: number;
  runnerUpProbability: number;
};

type CaseState = {
  refundStatus: "none" | "pending" | "completed" | "unknown";
  hasVerifiedOrder: boolean;
  actionRisk: "low" | "medium" | "high";
};

function chooseNextAction(signal: DecisionSignal, state: CaseState): Action {
  const margin = signal.probability - signal.runnerUpProbability;

  if (!state.hasVerifiedOrder || state.refundStatus === "unknown") {
    return "ask_for_evidence";
  }

  if (state.actionRisk === "high") {
    return "human_review";
  }

  if (signal.choice === "billing" && signal.probability >= 0.85 && margin >= 0.25) {
    return "route_billing";
  }

  if (signal.probability >= 0.65) {
    return "review_by_llm";
  }

  return "human_review";
}

这段代码有几个值得保留的设计。

先查硬条件。 订单是否存在、状态是否可信、权限是否满足,这些不能由概率盖过去。

把概率和差距一起看。 0.85 如果第二名是 0.84,并不比 0.66 对 0.10 更适合自动执行。

让中间区域有去处。 不是“自动”就是“人工”两级,而是可以补证据、调用更擅长解释的 LLM、或走独立验证器。

把动作风险显式写出来。 这样当业务把某条路径从低风险改成高风险时,审核者能清楚看到自动化边界如何变化。

真实系统里,阈值通常还应按决策类型、用户群、地区、时间段或模型版本分开管理。重点不在把配置做得多复杂,而在于:每一个阈值都要能说清它保护了什么、代价是什么、由谁调整。


校准不是一张漂亮图,而是一笔长期账

假设系统把所有预测概率在 0.8 到 0.9 的路由单独取出来,过一段时间再看最终结果:其中有多少真的路由正确?

模型报 80%~90% 的案例:1,000 条
最终处理正确:860 条
实际正确率:86%

这说明这一概率区间大致可信。反过来,如果只有 620 条正确,那么模型报出的把握明显偏高;把 0.85 当成自动执行线就很危险。

最基础的校准检查可以从分桶开始:

预测概率区间 样本数 实际正确率 观察
0.90~1.00 320 0.94 可继续观察
0.80~0.90 1,000 0.86 基本接近
0.70~0.80 1,400 0.63 偏高,需要收紧策略
低于 0.70 780 0.51 不应自动执行

这张表不要求一开始就做得像论文评测。哪怕先从一类低风险工单、几百条人工确认过的样本开始,也比“感觉 0.9 很安全”更可靠。

几个细节会决定这件事是否有用:

  • 真值要独立。 别用同一个模型给出的答案再评价同一个模型。
  • 样本要覆盖边缘案例。 只看简单样本,任何模型都会显得很自信。
  • 按版本看。 换模型、改候选项、改上下文,旧阈值不一定还能用。
  • 按损失看。 一个整体准确率不错的模型,可能恰好在高风险人群上表现很差。

TypeSafe 将 RLCD 描述为面向校准决策的训练方向,这解释了为什么概率是 Jev 的产品重点。但是否校准、在哪些业务上校准到什么程度,仍然只能由你的真实结果来回答。

💡 来源:Learn Jev 对校准的说明[3] — 指出高准确率不等于置信度可靠,校准需要按概率区间对照真实结果;RL Research 的分析[4] — 强调置信度并非正确性证书,评测应使用独立真值并覆盖误导性与缺失信息场景。


人工升级不是失败,是系统的一部分

不少团队把“转人工率”当作模型没做好。但在高代价领域,人工升级恰恰是系统诚实的表现。

真正该看的不是“人工比例越低越好”,而是这几个数字的组合:

自动执行率:系统替你省下多少重复操作
自动执行准确率:放出去的动作是否可靠
人工升级命中率:送给人工的是否真是难例
错误逃逸率:本该拦住却自动放行了多少
处理时延与总成本:安全策略有没有把流程拖垮

如果人工升级率降低了,但错误逃逸率升高,系统并没有变好,只是把风险从人工队列推到了用户身上。

实际设计时,可以给人工队列附上“为什么升级”的结构化理由:概率不足、候选项差距太小、缺少关键证据、命中业务规则、模型输出异常。这样审核人员不必从头猜,也能反过来帮助团队找到最需要改进的决策接口。

人工不只是最后一道墙,还是系统的标注来源。经过审核的难例会成为下一轮校准、候选项调整和规则完善的高价值数据。


给自动化加上刹车:预算、权限与熔断

概率策略解决的是“这一单怎么走”,但生产系统还需要考虑“今天整个系统是不是该停一下”。

即使每次决策都正常,模型版本更新、上游数据异常、攻击输入或某个队列积压,也可能让错误在短时间内放大。至少应准备三类刹车:

刹车 它拦什么 一个简单做法
权限边界 模型越权执行 高风险动作必须经过业务授权和人工审批
预算边界 重试或 Agent 循环无限消耗 限制单任务调用次数、Token 和总金额
熔断边界 某类决策突然异常 错误率或人工升级率异常时,暂时关闭自动执行

例如,某个新模型版本上线后,billing 的自动路由错误率连续半小时明显升高。此时最稳妥的动作不是继续等待模型“自己恢复”,而是把该路径切到“全部复核”或“全部人工”,同时保留输入和版本信息排查。

这也是为什么前一篇反复强调版本与最终结果:没有决策日志,就没有可靠的熔断信号;没有可回滚的策略配置,就只能靠改代码救火。


📝 小结

  • 概率不是自动执行许可;它至少要和候选项差距、动作风险、可信业务证据一起判断。
  • 同一个 0.82,面对低风险工单和高风险资金动作,应该走不同策略。
  • 比起只分“自动/人工”,更稳的工作流会加入补充信息、确定性查询和 LLM 复核等中间路径。
  • 阈值应是可解释、可版本化的策略,而不是代码里的魔法数字。
  • 校准要用长期、独立的最终结果验证;模型自报的置信度不是正确性证明。
  • 人工升级、预算限制、权限控制和熔断,都不是自动化的对立面,而是让自动化能持续运行的条件。

🔮 下一篇预告

现在我们已经知道,Jev 适合放在“该走哪条路”的节点上,也知道概率如何决定自动、复核与人工升级。

下一篇把镜头拉远:一个 Agent 有搜索、数据库、代码、浏览器和多个子 Agent 时,Jev 具体该插在哪些路口?工具路由、工作流分支和 LLM 输出验证,又该怎样组合才不会把系统做成一团难以调试的黑盒?


📚 系列导航

  • 第 01 篇:不生成文字,AI 怎样直接为软件做决策?
  • 第 02 篇:Jev 的 Choice、Score 与真伪判断:决策接口到底怎么设计?
  • 第 03 篇:把概率接进控制流:自动执行、复核还是升级人工? ⬅️ 你在这里
  • 第 04 篇:Jev 放进 Agent:工具路由、工作流分支与输出验证
  • 第 05 篇:别被“更快更便宜”带偏:怎样评测 Jev 的真实收益?
  • 第 06 篇:Jev 决策模型选型与治理:成本、边界和落地清单

引用链接

[1] TypeSafe 发布文章: https://typesafe.ai/blog/introducing-system-one-models-and-jev
[2] Learn Jev 对校准的说明: https://learnjev.com/concepts
[3] Learn Jev 对校准的说明: https://learnjev.com/concepts
[4] RL Research 的分析: https://www.rlresearch.ai/blog/is-jev-an-llm/




上一篇:Agent 背压机制怎么设计?下游过载时上游请求如何处理
下一篇:北京哪些央企研究所还收程序员?35岁大厂后端的稳定出口盘点
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-10-9 05:34 , Processed in 0.075368 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表