<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>决策模型 on 大卷学长的博客</title><link>https://blog.liurb.org/tags/%E5%86%B3%E7%AD%96%E6%A8%A1%E5%9E%8B/</link><description>Recent content in 决策模型 on 大卷学长的博客</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Sun, 20 Sep 2026 18:27:09 +0000</lastBuildDate><atom:link href="https://blog.liurb.org/tags/%E5%86%B3%E7%AD%96%E6%A8%A1%E5%9E%8B/index.xml" rel="self" type="application/rss+xml"/><item><title>Jev 模型全面开放，新用户注册送5美金</title><link>https://blog.liurb.org/posts/2026/09/20/typesafe_jev/</link><pubDate>Sun, 20 Sep 2026 18:27:09 +0000</pubDate><guid>https://blog.liurb.org/posts/2026/09/20/typesafe_jev/</guid><description>&lt;img src="https://blog.liurb.org/images/posts/2026/typesafe_jev_logo.png" alt="Featured image of post Jev 模型全面开放，新用户注册送5美金" />&lt;h1 id="jev-模型全面开放新用户注册送5美金">Jev 模型全面开放，新用户注册送5美金
&lt;/h1>&lt;p>就是刚不久， &lt;code>TypeSafe AI&lt;/code> 在 &lt;strong>X&lt;/strong> 上发布最近爆火的大模型 &lt;code>jev&lt;/code> 向所有用户开放，不再需要申请后补名单，并且新用户注册还送5美金。&lt;/p>
&lt;p>&lt;img src="https://blog-worker.liurb.org/api/2026/09/jev_03.png"
loading="lazy"
>&lt;/p>
&lt;blockquote>
&lt;p>体验注册地址 console.typesafe.ai&lt;/p>&lt;/blockquote>
&lt;h2 id="jev-模型介绍">Jev 模型介绍
&lt;/h2>&lt;p>&lt;code>Jev&lt;/code> 不是又一个聊天模型，它&lt;strong>不生成任何文字&lt;/strong>，只输出带概率的结构化判定。官方给这一类起了个名字 —— &lt;strong>System One Model（系统一模型）&lt;/strong>。&lt;/p>
&lt;p>名字和定位都挺讲究：&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Jev&lt;/strong> 取自 19 世纪经济学家杰文斯（&lt;code>Jevons&lt;/code>）。杰文斯悖论讲的是：蒸汽机效率提升让煤变便宜，结果煤的用量不降反增。TypeSafe 借它说自己的逻辑 —— 智能成本暴跌，换来的不是账单变小，而是判断次数暴涨。&lt;/li>
&lt;li>&lt;strong>System One&lt;/strong> 借的是卡尼曼《思考，快与慢》的框架：系统一是快、直觉，系统二是慢、深思。他们想把“快判断”单独做成一类模型。&lt;/li>
&lt;/ul>
&lt;p>团队背景也有点意思。创始人 &lt;code>Diogo Almeida&lt;/code> 是前 OpenAI 研究员，按他自己的说法，在 OpenAI 参与的那套方法“最后变成了 ChatGPT 背后的研究”。2026 年 9 月 15 日，TypeSafe 带着 &lt;code>Jev&lt;/code> 走出隐身模式，同一天公布 &lt;code>$40M&lt;/code> 种子轮，&lt;code>DCVC&lt;/code> 领投。一个帮模型学会“讨好人类”的人，回头做了个明确放弃生成文本的模型 —— 这个反差本身就很值得琢磨。&lt;/p>
&lt;p>官方给的一句话概括是：&lt;strong>前沿智能的函数调用 —— 非结构化状态输入，类型化概率决策输出&lt;/strong>。&lt;/p>
&lt;h3 id="它跟主流大模型差在哪">它跟主流大模型差在哪
&lt;/h3>&lt;table>
&lt;thead>
&lt;tr>
&lt;th>维度&lt;/th>
&lt;th>主流 LLM&lt;/th>
&lt;th>System One + Jev&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>训练目标&lt;/td>
&lt;td>&lt;code>RLHF&lt;/code> / &lt;code>RLVR&lt;/code>&lt;/td>
&lt;td>&lt;code>RLCD&lt;/code>（Reinforcement Learning for Calibrated Decisions）&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>输入&lt;/td>
&lt;td>非结构化文本，偏重&lt;strong>连续对话消息&lt;/strong>&lt;/td>
&lt;td>非结构化数据，偏重&lt;strong>结构化程序状态&lt;/strong>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>输出&lt;/td>
&lt;td>字符串，还得再解析、再校验，也可能跑偏&lt;/td>
&lt;td>类型化结构值，&lt;strong>类型错误率 0%&lt;/strong>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>采样方式&lt;/td>
&lt;td>自回归，一个 token 一个 token 顺序生成&lt;/td>
&lt;td>自研 &lt;code>parallel sampler&lt;/code>，一次前向计算并行出全部结果&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>价格&lt;/td>
&lt;td>输入 &lt;code>$0.20~$10&lt;/code>/百万 token，输出还要再贵约 5 倍&lt;/td>
&lt;td>输入 &lt;code>$0.042&lt;/code>/百万 token，&lt;strong>输出免费&lt;/strong>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>延迟&lt;/td>
&lt;td>端到端 3~329 秒&lt;/td>
&lt;td>端到端 &lt;strong>70~500 毫秒&lt;/strong>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>置信度&lt;/td>
&lt;td>就算问了也普遍过度自信、不稳定&lt;/td>
&lt;td>每个输出都带校准置信度&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>这里面 &lt;code>RLCD&lt;/code> 是关键。&lt;code>RLHF&lt;/code> 优化的是“人类更喜欢看哪个回答”，&lt;code>RLVR&lt;/code> 优化的是“答案能不能被程序验证对错”，而 &lt;code>RLCD&lt;/code> 优化的是两件事：&lt;strong>判断对不对&lt;/strong>，以及&lt;strong>模型自己报的置信度诚不诚实&lt;/strong>。翻译成人话 —— 当模型对一批任务都报 &lt;code>90%&lt;/code> 把握时，里面应该差不多真有 &lt;code>90%&lt;/code> 是对的。这个性质才是“按阈值自动分流”能成立的前提。&lt;/p>
&lt;h3 id="只有三种问题类型">只有三种问题类型
&lt;/h3>&lt;p>&lt;code>Jev&lt;/code> 整个 API 的输出词汇就三个，没有字符串，没有自由 JSON，也没有“说说你的推理过程”这一栏：&lt;/p>
&lt;ul>
&lt;li>&lt;strong>&lt;code>Choice&lt;/code>&lt;/strong>：从你定义的选项里挑一个，最多 &lt;code>255&lt;/code> 个。返回选中的选项、每个选项的概率（加起来等于 1），以及一个 &lt;code>0~1&lt;/code> 的置信度。&lt;/li>
&lt;li>&lt;strong>&lt;code>Score&lt;/code>&lt;/strong>：按你定义的有序等级打分，支持 &lt;code>2~10&lt;/code> 级。返回每级概率，以及按概率加权出来的分数。&lt;/li>
&lt;li>&lt;strong>&lt;code>Noul&lt;/code>&lt;/strong>：单个 yes/no 判断。只返回一个数 —— 答案为“是”的概率。没有单独的置信度字段，因为&lt;strong>这个概率本身就是置信度&lt;/strong>。&lt;/li>
&lt;/ul>
&lt;p>这里有个容易混的点：&lt;code>Choice&lt;/code> 返回的概率和置信度是两码事，概率告诉你模型&lt;strong>倾向&lt;/strong>哪个答案，置信度告诉你模型&lt;strong>该不该被信&lt;/strong>。一张 85% 归到“技术问题”、置信度 &lt;code>0.82&lt;/code> 的工单，直接路由；同样的 85% 但置信度只有 &lt;code>0.31&lt;/code>，就该转人工。&lt;/p>
&lt;p>调用上就是往 &lt;code>POST /v1/systemone&lt;/code> 发一个请求，带上 &lt;code>state&lt;/code>（字符串、JSON 对象或文本数组）和 &lt;code>questions&lt;/code>（你自定义的 id 到问题定义的映射），模型别名 &lt;code>jev-latest&lt;/code>。另外注意它&lt;strong>输入只能是文本&lt;/strong>，图片、音频、视频得先自己转成文字。&lt;/p>
&lt;h3 id="快便宜而且不会出类型错误">快、便宜，而且不会出类型错误
&lt;/h3>&lt;p>官方首页挂的数字是&lt;strong>快 &lt;code>193.6&lt;/code> 倍、便宜 &lt;code>444.6&lt;/code> 倍&lt;/strong>，但得打个折看 —— 官方自己在同一条说明里就写了，这是“真实收益的偏上区间”。配套的评测方法也挺特别：他们不拿一个标准答案去考分类准确率，而是把 GPT-6 &lt;code>Astra&lt;/code> 和 &lt;code>Fable 5.1&lt;/code> 的平均输出当参考答案，让每个模型跑同一套工作流，比谁更接近。另外还有两个挺出圈的演示 —— 用 &lt;code>Jev&lt;/code> 打《Doom》（每秒 10 次查询，成本约 &lt;code>$7&lt;/code>/小时）和玩 Wikiracing。&lt;/p>
&lt;p>“类型错误率 &lt;code>0%&lt;/code>”这条倒是真能站住：输出被锁死在预设 schema 里，模型&lt;strong>物理上没法&lt;/strong>吐出一个你没声明的 key 或者你列表外的选项。不过老实说，这点别的模型靠受限解码（&lt;code>constrained decoding&lt;/code>）也能做到，真正拿不到的是&lt;strong>校准&lt;/strong>。&lt;/p>
&lt;h3 id="但它不是便宜的聊天机器人">但它不是便宜的聊天机器人
&lt;/h3>&lt;p>几个边界得说在前面，不然容易用错地方：&lt;/p>
&lt;ul>
&lt;li>&lt;strong>不会生成文本&lt;/strong>。写文案、写代码、聊天都不行，它是给代码用的，不是给人的。&lt;/li>
&lt;li>&lt;strong>得先想清楚问题&lt;/strong>。每次调用前你得把 &lt;code>state&lt;/code> 和问题 schema 定义好，自由度换的就是效率和确定性。&lt;/li>
&lt;li>&lt;strong>有些事它做不到&lt;/strong>。官方承认它会死抠字面意思，不会数数，也不会比较日期，提示注入照样能左右它的答案。&lt;/li>
&lt;li>&lt;strong>评测有自评成分&lt;/strong>。工作流是自家能力团队搭的，参考答案偏向 OpenAI 和 Anthropic 的模型，官网那两个倍数也偏乐观。&lt;/li>
&lt;/ul>
&lt;p>所以定位其实很清楚：&lt;strong>贵的大模型负责规划、推理这些“慢思考”，高频、原子化的“快判断”丢给 &lt;code>Jev&lt;/code>&lt;/strong>。一次请求并行回答多个独立问题，延迟不随问题数量线性增长。典型落点就是工单路由、内容预筛、风控初筛、Agent 里挑工具和判断要不要收尾这类活儿 —— 把大模型的调用量砍掉一大截。&lt;/p>
&lt;h2 id="获取-api-key">获取 API KEY
&lt;/h2>&lt;p>首先打开官方平台地址，这里提供 &lt;strong>Google&lt;/strong> 账号登录或者是邮箱地址登录&lt;/p>
&lt;p>&lt;img src="https://blog-worker.liurb.org/api/2026/09/jev_05.png"
loading="lazy"
>&lt;/p>
&lt;p>登录后，通过面板的左侧就能够看到 &lt;code>API Keys&lt;/code> 入口，同时也能够看到这个首页做的也挺有趣的&lt;/p>
&lt;p>&lt;img src="https://blog-worker.liurb.org/api/2026/09/jev_06.png"
loading="lazy"
>&lt;/p>
&lt;p>创建完以后，记得把 &lt;code>API Key&lt;/code> 保存下来，因为只会展示一次&lt;/p>
&lt;p>&lt;img src="https://blog-worker.liurb.org/api/2026/09/jev_07.png"
loading="lazy"
>&lt;/p>
&lt;p>在左下角的用户个人配置面板中，能够看到 5 美金到账&lt;/p>
&lt;p>&lt;img src="https://blog-worker.liurb.org/api/2026/09/jev_08.png"
loading="lazy"
>&lt;/p>
&lt;h2 id="体验测试">体验测试
&lt;/h2>&lt;p>需要先提前提醒的一点是，当前的 &lt;code>Jev&lt;/code> 模型使用的 &lt;code>API&lt;/code> 地址是跟以往的不一样的，使用的是 &lt;code>/v1/systemone&lt;/code>&lt;/p>
&lt;p>&lt;img src="https://blog-worker.liurb.org/api/2026/09/jev_14.png"
loading="lazy"
>&lt;/p>
&lt;p>官方的文档中，提供了一些调用的例子，也可以看到它跟当前的主流模型的格式也是不一样的&lt;/p>
&lt;p>&lt;img src="https://blog-worker.liurb.org/api/2026/09/jev_16.png"
loading="lazy"
>&lt;/p>
&lt;p>当前最新的模型是 &lt;code>jev-1.13.0&lt;/code>，每 &lt;strong>100 万&lt;/strong> token 收费 &lt;strong>0.042 美元&lt;/strong>，当前是 &lt;strong>只对输入收费，输出免费&lt;/strong>，单次请求上下文最多 &lt;strong>64k token&lt;/strong>（其中 state 占 32k）&lt;/p>
&lt;p>&lt;img src="https://blog-worker.liurb.org/api/2026/09/jev_18.png"
loading="lazy"
>&lt;/p>
&lt;h3 id="在-playground-上跑一个完整例子">在 Playground 上跑一个完整例子
&lt;/h3>&lt;p>上面讲的是接口格式，但光看格式其实不容易体会到它到底哪里不一样。官方控制台里有个 &lt;code>Playground&lt;/code>，不用写一行代码，在网页上就能把整个流程走一遍。&lt;/p>
&lt;p>&lt;img src="https://blog-worker.liurb.org/api/2026/09/jev_20.png"
loading="lazy"
>&lt;/p>
&lt;p>打开 &lt;code>console.typesafe.ai/playground&lt;/code> 登录后，要填的就两块：一块放 &lt;code>state&lt;/code>，一块加 &lt;code>questions&lt;/code>。&lt;/p>
&lt;p>&lt;strong>第一步，填 &lt;code>state&lt;/code>。&lt;/strong>&lt;/p>
&lt;p>&lt;code>state&lt;/code> 就是你手里那段非结构化的原材料，直接粘进去就行。这里拿一条客服留言当例子：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">我的订单被扣了三次款，申请退款两天了还没人处理，再不解决我就去投诉。
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>&lt;strong>第二步，定义 &lt;code>questions&lt;/code>。&lt;/strong>&lt;/p>
&lt;p>这一步是跟以前用大模型最不一样的地方 —— 你&lt;strong>不是在写提示词，而是在定义一组“判断”&lt;/strong>。每个判断挑一个类型，三种类型可以随便混搭：&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>类型&lt;/th>
&lt;th>你要给的&lt;/th>
&lt;th>它回你什么&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;code>choice&lt;/code>&lt;/td>
&lt;td>一组选项，每个选项说明白是什么意思&lt;/td>
&lt;td>选了哪个 + 每个选项的概率 + 置信度&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>score&lt;/code>&lt;/td>
&lt;td>一条有序的等级描述&lt;/td>
&lt;td>落在第几级 + 每一级的概率 + 置信度&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>noul&lt;/code>&lt;/td>
&lt;td>一句是非判断&lt;/td>
&lt;td>答案为“是”的概率（0~1）&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>我们一次加上三个问题，让它同时回答“该谁处理”“有多急”“要不要转人工”，转换为 &lt;strong>json&lt;/strong> 格式如下：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-json" data-lang="json">&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;department&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;type&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;choice&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;instructions&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;这条留言该由哪个团队处理&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;criteria&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;billing&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;涉及支付、扣款、账单的问题&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;technical&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;程序报错、功能不正常&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;complaint&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;投诉、维权、要求赔偿&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;urgency&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;type&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;score&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;instructions&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;客户有多着急&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;criteria&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s2">&amp;#34;平和，只是在陈述情况&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s2">&amp;#34;有些不满，但还能好好沟通&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s2">&amp;#34;非常愤怒，已经提到要投诉&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;need_human&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;type&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;noul&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;instructions&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;这条留言需要人工介入，而不是自动回复&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>填写完毕的界面如下所示&lt;/p>
&lt;p>&lt;img src="https://blog-worker.liurb.org/api/2026/09/jev_22.png"
loading="lazy"
>&lt;/p>
&lt;p>&lt;strong>第三步，看结果。&lt;/strong>&lt;/p>
&lt;p>点一下运行，三个问题是&lt;strong>一次并行出结果&lt;/strong>的，不是问完第一个再问第二个。它在 API 层返回的数据结构是这样的：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-json" data-lang="json">&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;model&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;jev-1.13.0&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;answers&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;department&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;type&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;choice&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;choice&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;billing&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;confidence&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mf">0.90&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;probabilities&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="nt">&amp;#34;billing&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mf">0.94&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nt">&amp;#34;complaint&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mf">0.06&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nt">&amp;#34;technical&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mf">0.0&lt;/span> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;urgency&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;type&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;score&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;score&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mf">2.0&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;confidence&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mf">1.0&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;legend&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;0&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;平和，只是在陈述情况&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;1&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;有些不满，但还能好好沟通&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;2&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;非常愤怒，已经提到要投诉&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;probabilities&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="nt">&amp;#34;0&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mf">0.0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nt">&amp;#34;1&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mf">0.0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nt">&amp;#34;2&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mf">1.0&lt;/span> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;need_human&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="nt">&amp;#34;type&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;noul&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nt">&amp;#34;noul&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mf">0.92&lt;/span> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>（真实响应里还会带一个 &lt;code>usage&lt;/code> 字段，告诉你这次消耗了多少 token，Playground 界面上没有展示。）&lt;/p>
&lt;p>Playground 会把它渲染成下面这种更直观的样子：&lt;/p>
&lt;p>&lt;img src="https://blog-worker.liurb.org/api/2026/09/jev_24.png"
loading="lazy"
>&lt;/p>
&lt;p>对照着看几个细节：&lt;/p>
&lt;ul>
&lt;li>&lt;code>department&lt;/code> 判成 &lt;code>billing&lt;/code>、&lt;strong>94%&lt;/strong>，另外两个选项是 6% 和 0%。概率给的是&lt;strong>全部选项的完整分布&lt;/strong>；同时这一条还单独带了个 &lt;code>confidence&lt;/code> &lt;strong>90%&lt;/strong> —— 94% 说的是“在三个选项里更偏向哪个”，90% 说的是“这个判断整体有多可信”，是两回事。&lt;/li>
&lt;li>&lt;code>urgency&lt;/code> 直接顶到 &lt;strong>2 of 2&lt;/strong>、置信度 100%，说明它非常确定客户已经在最愤怒那一档了。&lt;/li>
&lt;li>&lt;code>need_human&lt;/code> 返回 &lt;strong>92% true&lt;/strong>。&lt;code>noul&lt;/code> 没有单独的置信度字段，因为这个概率本身就是置信度。&lt;/li>
&lt;li>右上角还标着这次调用的耗时 —— &lt;code>84ms + 433ms&lt;/code>，这正是 Jev 的卖点所在：同等级别的判断，前沿大模型通常是以秒计的。&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>&lt;code>score&lt;/code> 返回的不是“第几级”，而是按概率加权的分数。这次它 100% 落在第 2 级，所以分数就是 &lt;code>1.0 × 2 = 2.0&lt;/code>；如果分布变成 70% 在第 1 级、30% 在第 2 级，那算出来就是 &lt;code>0.7×1 + 0.3×2 = 1.3&lt;/code>，比直接取最高那一级要细腻。&lt;/p>&lt;/blockquote>
&lt;p>到这里应该能明显感觉到它跟聊天模型的区别了：&lt;strong>返回结果里一句话都没有，只有判定、概率和一个置信度&lt;/strong>。而这三样东西是可以直接塞进 &lt;code>if&lt;/code> 语句里的：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">department = billing，confidence 90% → 直接路由给账单组
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">need_human = 92% true → 打上“需人工介入”的标签
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">urgency = 2（满分） → 优先级提到最高
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>反过来，同样的事情交给聊天模型：你得先把留言发过去，等它生成一段话，再想办法从那段话里把结构化结果抠出来 —— 要么写正则，要么在提示词里求它返回 JSON，返回之后还得再校验一遍格式。中间任何一环跑偏，整条链路就断了。&lt;/p>
&lt;p>这就是 System One 模型想解决的问题：&lt;strong>它不是把模型做小，而是干脆把“生成文本”这件事从输出接口里去掉了。&lt;/strong>&lt;/p>
&lt;h2 id="最后">最后
&lt;/h2>&lt;p>当然，实际项目里没人会这么笨地一条条手动去调。更常见是&lt;strong>把它交给 AI Agent&lt;/strong> ，人只负责用自然语言描述需求，具体怎么问、怎么调，让 agent 自己去搞定。&lt;/p>
&lt;p>官方也提供了一些安装教程，例如常用的 &lt;code>Claude Code&lt;/code>，两条命令安装即可：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">claude plugin marketplace add typesafe-ai/skills
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">claude plugin install typesafe@typesafe-ai
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>使用的时候带上它就行：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">使用 TypeSafe skill，扫描这个项目，找出那些正在用复杂解析、正则或脆弱硬编码
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">在硬撑的地方，看看能不能换成智能判断。
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div></description></item></channel></rss>