我有个老毛病收藏即学会。每天刷社区推文、微信群和 GitHub 趋势榜,新概念看着都眼熟,合上电脑却半天讲不出一句整话。

前两天看到有一个 rust 博主讲苏格拉底学习法,督促孩子学习,今天正好接触到一个新词叫 jev 模型。心里完全没有概念,就想尝试一下使用这种学习方法,看能不能留下点印象。

什么是苏格拉底式学习法?

苏格拉底把自己的教学方式比作「精神产婆术」(Maieutics)。他认为知识不是导师灌给学生的,而是本来就藏在学习者的认知里,导师要做的是用连续的提问、反诘和边界测试,引导学习者自己把结论推出来。

这套方法通常包含四个循环递进的环节:

  1. (反讽与质疑):打破「我以为我知道」的错觉,暴露概念断层。
  2. (概念澄清与降维):剥掉包装,回到最基本的事实。
  3. (产婆式引导与主动输出):角色互换,学习者用自己的语言解释新系统。
  4. (边界检验与实战落地):放到极端的业务场景里,推演失效模式和代价。

第一幕:破冰——不再只是听讲

对话最初始于一个缩写。

我问「Agent 领域的 JEV 是什么」,AI 的第一反应是经济学里的「杰文斯悖论」(Jevons Paradox),大谈模型成本降低如何引发算力总消耗暴涨。

按正常流程,这就是一次平平无奇的问答。但我接着甩出两篇技术链接——TypeSafe 发布的 Jev 和开源复现 Laya,顺手立了规矩:

咱们用苏格拉底式的学习法,先给我讲一遍,我再跟你讲。

这句规矩立完,对话关系就反过来了,两个立竿见影的变化:

一是把命名搞清楚了。模型叫 Jev 是在致敬杰文斯,作者想终结的,就是大模型在自动化链路里的浪费。

二是状态变了。知道等会儿要自己复述,听的时候就不是随便浏览,而是下意识在拆对方的逻辑。

第二幕:搭桥——拿熟悉的东西打底

交流过程中,技术群里几句黑话摆到了台面上:

  • 「Jev 都快赶上 NLP 了。」
  • 「中科大团队在用符号主义做类似的事。」
  • 「Agent 做 HOOTL 必须要有靠谱的路由判断。」

这一堆名词硬背很快会累。苏格拉底式的做法是拿你已经熟的东西打底。

作为一个写 Java 后端、碰过规则引擎、特征平台和模型部署的工程师,我试着把 NLP 拉回自己的战场:

我可以把 NLP 理解为一个模型吗?它不像规则引擎那样写死包含什么就是 A,而是做了分词、权重与特征计算,最后给出一个近似度分箱,指定输出 ABCD 其中的某个类别?

这么一类比,黑话就好懂了:

  • 规则引擎(符号主义):确定性高、执行只需 0.1ms,但泛化极差,规则累加后极其容易冲突。
  • 大语言模型(LLM):泛化极强,但拿来路由判断就是大炮打蚊子——耗时数秒、按 Token 计费,还老报 JSON 解析异常。
  • Jev / Laya(无嘴模型):把文本生成能力剥掉,直接做多分类和概率分布输出。

群友那句话的意思其实很简单:大模型自由生成文本这一路试下来,大家发现 Agent 的意图路由和控制流,还是应该交给快、便宜、结果确定的判别式模型。

第三幕:交锋——我来讲,你来挑刺

进入苏格拉底学习法的核心环节:角色互换,我上场输出,AI 负责挑刺。

我用自己的话总结了它的三个特性:

  1. 底层结构:不同于大模型不断拼接 JSON 字符串并返回 string,Jev 更像直接在结构体的 Value 里填值,原生不会出现格式错乱。
  2. OLTP 时刻:OLAP 对应耗时长的离线扫描,OLTP 对应低延迟与即席查询;它让模型具备了高并发、毫秒级响应的能力。
  3. 置信度:大模型的置信度可能存在虚构或误判,而 Jev 给出的置信度更接近统计概率。

AI 接着往下追问,把这三点都往底层压了一层。

GPU 上发生了什么:权重只搬一次

大模型生成(Decode 循环)受限于显存带宽(Memory Bandwidth Bound)。每吐出一个字符,GPU 就要把数十 GB 的模型权重完整读一遍,生成 100 个字符的 JSON,权重就被循环读了 100 遍。

无嘴模型只有一次 Prefill,没有 Decode 阶段:输入编码完成后,直接通过打分头完成矩阵运算,权重只读一次。耗时从 2000ms 降到 70ms,而且因为不生成 Token,边际成本趋近于零。

OLTP 的门槛:能否「进同步链路」

并发高只是结果,延迟才决定它能用在架构的哪一层。

Web 网关的同步超时预算通常在 200ms 以内,耗时 2~5 秒的大模型只能以异步 Agent 或后台批处理的形式存在;而 70ms 的 Jev 第一次有资格作为基础 RPC 模块,直接嵌进核心业务的同步调用栈。

置信度(Confidence)≠ 校准概率(Calibrated Probability)

大模型在 JSON 里吐出的 confidence: 0.9 往往是顺嘴一说,不代表真实命中率;而 Jev 通过 RLCD(真值评分规则强化学习)训练,概率在统计意义上是校准的——系统报 85% 的时候,历史样本的真实命中率就是 85%。

第四幕:落地——放到业务里算账

技术不经业务场景过一遍,就还是玩具。我们把讨论推进到两个具体场景:金融借贷反欺诈与智能客服。

阈值怎么定:从代价算出来

在借贷风控中,很多人习惯凭直觉写 if (probability > 0.8)。但依据统计决策理论(Chow’s Rule):

若漏报一次真实欺诈损失 500 元( CostFN=500Cost_{FN} = 500 ),误杀一个正常用户仅补偿 5 元券( CostFP=5Cost_{FP} = 5 ),最优的决策阈值计算如下:

Threshold=CostFPCostFP+CostFN=55+5000.0099\text{Threshold} = \frac{Cost_{FP}}{Cost_{FP} + Cost_{FN}} = \frac{5}{5 + 500} \approx 0.0099

只要这笔交易的欺诈概率超过 1%,系统就必须触发干预。这套算法能用的前提,是模型输出的概率真的校准;概率虚高,公式就是摆设。

架构上:三层漏斗,层层过滤

灰色地带的请求怎么办?靠单一模型包办不现实,分三层处理:

  • 第一层,硬规则。黑名单命中、设备指纹复现这类确定性事实,规则引擎 0.1ms 内出结果,直接放行或拦截,不用惊动任何模型。
  • 第二层,判别式打分。剩余流量全部交给 Jev 这类无嘴模型,70ms 出校准概率,按上面的代价阈值同步决策,覆盖绝大多数请求。
  • 第三层,灰色地带兜底。分数落在临界区间的少数请求,丢给大模型做异步的补充研判,或者直接转人工。LLM 在这里只处理最难的那一小撮,贵得起了。

智能客服是同一个故事。日常客服 query 里大部分是「查账单」「改收货地址」这样的高频意图,无嘴模型毫秒级完成路由,直接调对应工具;只有真正需要理解复杂上下文的请求才升级给 LLM。延迟和 Token 成本同时降下来,路由准确率反而比让大模型「先理解一下再回答」更稳。

尾声

复盘整场对话,我感觉到了学习方式的反转:先让它讲给我听,再由我讲给它听,最后让它站在对面挑刺。

它讲不出基本原理的地方,是它也在猜;我讲不顺的地方,是我概念断层的位置;它挑出来的刺,就是还没被检验过的边界。

两个小时下来,收藏夹一篇文章都没多,但合上电脑,我还能讲清楚它为什么快、阈值为什么这么算。「收藏即学会」和「真学会」之间,仍然有一道巨大的鸿沟,但最起码我回答了几个问题之后,真相逐渐浮出水面。

回到最初的问题:什么是 Jev 模型?

Jev模型是专门用来做状态判断和意图路由的‘无嘴模型’。它彻底去掉了逐字生成文本的解码过程,只做单次前向计算,输入一段状态和自定义题目,70毫秒直接返回类型安全、经过数学校准的概率分布。本质上就是把以前大模型慢吞吞拼 JSON 的‘智能 if-else’,变成了毫秒级、零幻觉的通用分类器。 简单说,它就是一个把嘴缝上了的大模型。它不会聊天写作文,专门用来在 70 毫秒内做选择题和打分,输出真实的概率,给 Agent 和业务系统当极速的‘小脑’和路由开关。