You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

1 lines
53 KiB

<!doctypehtml><html lang=zh-CN><meta charset=UTF-8><meta content=width=device-width name=viewport><meta media="(prefers-color-scheme: light)" content=#222 name=theme-color><meta media="(prefers-color-scheme: dark)" content=#222 name=theme-color><meta content="Hexo 7.3.0" name=generator><link href=https://cdnjs.cloudflare.com rel=preconnect><link href=/images/apple-touch-icon-next.png rel=apple-touch-icon sizes=180x180><link href=/images/favicon-32x32-next.png rel=icon sizes=32x32 type=image/png><link href=/images/favicon-16x16-next.png rel=icon sizes=16x16 type=image/png><link color=#222 href=/images/logo.svg rel=mask-icon><meta content=2X6S9P7CAjXjVvw8YyQR8pCu-B0oEu7O9quLgxXuWyA name=google-site-verification><meta content=dV8JGNzi0c name=baidu-site-verification><script>!function(){var t=!1;function e(){var e;t||(t=!0,(e=document.createElement("script")).setAttribute("data-ad-client","ca-pub-7480618470784058"),e.async=!0,e.src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js",document.head.appendChild(e))}function a(){"requestIdleCallback"in window?window.requestIdleCallback(e,{timeout:5e3}):window.setTimeout(e,5e3)}"complete"===document.readyState?a():window.addEventListener("load",a,{once:!0})}()</script><link href=/css/main.css rel=stylesheet><link crossorigin=anonymous href=https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.0/css/all.min.css integrity=sha256-VHqXKFhhMxcpubYf9xiWdCiojEbY9NexQ4jh8AxbvcM= rel=stylesheet><link crossorigin=anonymous href=https://cdnjs.cloudflare.com/ajax/libs/fancyapps-ui/6.1.14/fancybox/fancybox.css integrity=sha256-mdaMxrItEW6hMIVJJNPKuX0B7KCSJQVEv3mVY4N2we4= rel=stylesheet><script class=next-config data-name=main type=application/json>{"hostname":"nicksxs.me","root":"/","images":"/images","scheme":"Pisces","darkmode":true,"version":"8.29.0","exturl":false,"sidebar":{"position":"left","width_expanded":320,"width_dual_column":240,"display":"post","padding":18,"offset":12},"hljswrap":true,"codeblock":{"theme":{"light":"default","dark":"stackoverflow-dark"},"prism":{"light":"prism","dark":"prism-dark"},"copy_button":{"enable":true,"style":"default"},"fold":{"enable":false,"height":500},"language":false},"bookmark":{"enable":false,"color":"#222","save":"auto"},"mediumzoom":false,"pangu":false,"comments":{"style":"tabs","active":null,"storage":true,"lazyload":true,"nav":null},"stickytabs":false,"motion":{"enable":false,"async":false,"duration":200,"transition":{"menu_item":"fadeInDown","post_block":"fadeIn","post_header":"fadeInDown","post_body":"fadeInDown","coll_header":"fadeInLeft","sidebar":"fadeInUp"}},"prism":false,"i18n":{"placeholder":"搜索...","empty":"没有找到任何搜索结果:${query}","hits_time":"找到 ${hits} 个搜索结果(用时 ${time} 毫秒)","hits":"找到 ${hits} 个搜索结果"},"algolia":{"appID":"663Q99OQQD","apiKey":"e461a1371d12cec1491c1153b288a9ed","indexName":"nicksxs","hits":{"per_page":10}}}</script><script defer src=/js/config.js></script><meta content="从重复扣费工单出发,解释 Jev 的类型化判断、并行输出与概率校准,并记录 TypeSafe skill 安装和六条中英文样本的真实 API 结果,区分本机体验与官方性能评测。" name=description><meta content=article property=og:type><meta content="Jev 深度解读与实测:只做判断的 AI,究竟快在哪里" property=og:title><meta content=https://nicksxs.me/2026/09/20/Jev%E6%B7%B1%E5%BA%A6%E8%A7%A3%E8%AF%BB-%E4%B8%BA%E4%BB%80%E4%B9%88%E8%BF%99%E4%B8%AAAI%E5%8F%AA%E5%81%9A%E5%88%A4%E6%96%AD%E5%8D%B4%E8%83%BD%E6%9B%B4%E5%BF%AB/index.html property=og:url><meta content="Nicksxs's Blog" property=og:site_name><meta content="从重复扣费工单出发,解释 Jev 的类型化判断、并行输出与概率校准,并记录 TypeSafe skill 安装和六条中英文样本的真实 API 结果,区分本机体验与官方性能评测。" property=og:description><meta content=zh_CN property=og:locale><meta content=2026-09-20T12:00:00.000Z property=article:published_time><meta content=2026-09-20T12:00:00.000Z property=article:modified_time><meta content=Nicksxs property=article:author><meta content=LLM property=article:tag><meta content=Jev property=article:tag><meta content="TypeSafe AI" property=article:tag><meta content=AI工作流 property=article:tag><meta content=summary name=twitter:card><link href=https://nicksxs.me/2026/09/20/Jev%E6%B7%B1%E5%BA%A6%E8%A7%A3%E8%AF%BB-%E4%B8%BA%E4%BB%80%E4%B9%88%E8%BF%99%E4%B8%AAAI%E5%8F%AA%E5%81%9A%E5%88%A4%E6%96%AD%E5%8D%B4%E8%83%BD%E6%9B%B4%E5%BF%AB/ rel=canonical><script class=next-config data-name=page type=application/json>{"sidebar":"","isHome":false,"isPost":true,"lang":"zh-CN","comments":true,"permalink":"https://nicksxs.me/2026/09/20/Jev%E6%B7%B1%E5%BA%A6%E8%A7%A3%E8%AF%BB-%E4%B8%BA%E4%BB%80%E4%B9%88%E8%BF%99%E4%B8%AAAI%E5%8F%AA%E5%81%9A%E5%88%A4%E6%96%AD%E5%8D%B4%E8%83%BD%E6%9B%B4%E5%BF%AB/","path":"2026/09/20/Jev深度解读-为什么这个AI只做判断却能更快/","title":"Jev 深度解读与实测:只做判断的 AI,究竟快在哪里"}</script><script class=next-config data-name=calendar type=application/json>""</script><title>Jev 深度解读与实测:只做判断的 AI,究竟快在哪里 | Nicksxs's Blog</title><script async src=https://www.googletagmanager.com/gtag/js?id=UA-61358619-1></script><script class=next-config data-name=google_analytics type=application/json>{"tracking_id":"UA-61358619-1","only_pageview":false,"measure_protocol_api_secret":null}</script><script defer src=/js/third-party/analytics/google-analytics.js></script><script defer src=/js/third-party/analytics/baidu-analytics.js></script><script async src=https://hm.baidu.com/hm.js?20f33b3c0c0eff9b1522999c0015646d></script><script crossorigin=anonymous defer integrity=sha256-QnJV4HT5r8i89ovZGRD86iynZqHerEbT2xt69vDM36I= src=https://cdnjs.cloudflare.com/ajax/libs/fancyapps-ui/6.1.14/fancybox/fancybox.umd.js></script><script defer src=/js/utils.js></script><script defer src=/js/sidebar.js></script><script defer src=/js/next-boot.js></script><script data-algolia-integrity=sha256-o49zoHLDPBm9WLg6AiliAVi3axCRTqe3ltTxLvhzAVg= data-algolia-src=https://cdnjs.cloudflare.com/ajax/libs/algoliasearch/5.36.0/lite/builds/browser.umd.js data-search-src=/js/third-party/search/algolia-search.js src=/js/third-party/search/algolia-search-loader.js></script><script defer src=/js/third-party/fancybox.js></script><noscript><link href=/css/noscript.css rel=stylesheet></noscript><link title="Nicksxs's Blog" href=/atom.xml rel=alternate type=application/atom+xml><body itemscope itemtype=http://schema.org/WebPage><div class=headband></div><main class=main><div class=column><header class=header itemscope itemtype=http://schema.org/WPHeader><div class=site-brand-container><div class=site-nav-toggle><div aria-label=切换导航栏 class=toggle role=button><span class=toggle-line></span><span class=toggle-line></span><span class=toggle-line></span></div></div><div class=site-meta><a class=brand href=/ rel=start><i class=logo-line></i><p class=site-title>Nicksxs's Blog</p><i class=logo-line></i></a><p class=site-subtitle itemprop=description>Java 运行时、生产诊断与 AI 工程实践</div><div class=site-nav-right><div class="toggle popup-trigger" aria-label=搜索 role=button><i class="fa fa-search fa-fw fa-lg"></i></div></div></div><nav class=site-nav><ul class="main-menu menu"><li class="menu-item menu-item-home"><a href=/ rel=section><i class="fa fa-home fa-fw"></i>首页</a><li class="menu-item menu-item-专题"><a href=/topics/ rel=section><i class="fa fa-layer-group fa-fw"></i>专题</a><li class="menu-item menu-item-工具"><a href=/tools/ rel=section><i class="fa fa-toolbox fa-fw"></i>工具</a><li class="menu-item menu-item-about"><a href=/about/ rel=section><i class="fa fa-user fa-fw"></i>关于我</a><li class="menu-item menu-item-tags"><a href=/tags/ rel=section><i class="fa fa-tags fa-fw"></i>标签</a><li class="menu-item menu-item-categories"><a href=/categories/ rel=section><i class="fa fa-th fa-fw"></i>分类</a><li class="menu-item menu-item-archives"><a href=/archives/ rel=section><i class="fa fa-archive fa-fw"></i>归档</a><li class="menu-item menu-item-search"><a class=popup-trigger role=button><i class="fa fa-search fa-fw"></i>搜索</a></ul></nav><div class=search-pop-overlay><div class="popup search-popup"><div class=search-header><span class=search-icon><i class="fa fa-search"></i></span><div class=search-input-container><input autocapitalize=off autocomplete=off class=search-input maxlength=80 placeholder=搜索... spellcheck=false type=search></div><span class=popup-btn-close role=button><i class="fa fa-times-circle"></i></span></div><div class=search-result-container><div class=search-result-icon><i class="fab fa-algolia fa-5x"></i></div></div></div></div></header><aside class=sidebar><div class="sidebar-inner sidebar-nav-active sidebar-toc-active"><ul class=sidebar-nav><li class=sidebar-nav-toc>文章目录<li class=sidebar-nav-overview>站点概览</ul><div class=sidebar-panel-container><div class="post-toc-wrap sidebar-panel"><div class="post-toc animated"><ol class=nav><li class="nav-item nav-level-2"><a class=nav-link href=#Jev-%E5%88%B0%E5%BA%95%E6%8E%A5%E6%94%B6%E4%BB%80%E4%B9%88%EF%BC%8C%E5%8F%88%E8%BF%94%E5%9B%9E%E4%BB%80%E4%B9%88><span class=nav-number>1.</span> <span class=nav-text>Jev 到底接收什么,又返回什么</span></a><li class="nav-item nav-level-2"><a class=nav-link href=#%E4%B8%89%E7%A7%8D%E5%8E%9F%E8%AF%AD%EF%BC%8C%E5%88%86%E5%88%AB%E8%A7%A3%E5%86%B3%E4%B8%89%E7%A7%8D%E9%97%AE%E9%A2%98><span class=nav-number>2.</span> <span class=nav-text>三种原语,分别解决三种问题</span></a><li class="nav-item nav-level-2"><a class=nav-link href=#%E4%B8%BA%E4%BB%80%E4%B9%88%E5%A4%9A%E4%B8%AA%E9%97%AE%E9%A2%98%E5%8F%AF%E4%BB%A5%E6%9B%B4%E5%BF%AB><span class=nav-number>3.</span> <span class=nav-text>为什么多个问题可以更快</span></a><li class="nav-item nav-level-2"><a class=nav-link href=#%E6%99%AE%E9%80%9A%E5%A4%A7%E6%A8%A1%E5%9E%8B%E5%B7%B2%E7%BB%8F%E8%83%BD%E8%BE%93%E5%87%BA-JSON%EF%BC%8CJev-%E7%9A%84%E5%B7%AE%E5%88%AB%E8%BF%98%E5%89%A9%E4%BB%80%E4%B9%88><span class=nav-number>4.</span> <span class=nav-text>普通大模型已经能输出 JSON,Jev 的差别还剩什么</span></a><li class="nav-item nav-level-2"><a class=nav-link href=#%E6%9C%89%E4%BA%86%E6%A6%82%E7%8E%87%EF%BC%8C%E6%80%8E%E6%A0%B7%E6%89%8D%E8%83%BD%E7%9C%9F%E6%AD%A3%E7%94%A8%E8%B5%B7%E6%9D%A5><span class=nav-number>5.</span> <span class=nav-text>有了概率,怎样才能真正用起来</span></a><li class="nav-item nav-level-2"><a class=nav-link href=#%E6%80%8E%E6%A0%B7%E7%9C%8B%E5%BE%85%E2%80%9C%E5%BF%AB-193-6-%E5%80%8D%E3%80%81%E4%BE%BF%E5%AE%9C-444-6-%E5%80%8D%E2%80%9D><span class=nav-number>6.</span> <span class=nav-text>怎样看待“快 193.6 倍、便宜 444.6 倍”</span></a><li class="nav-item nav-level-2"><a class=nav-link href=#%E8%A3%85%E4%B8%8A-skill%EF%BC%8C%E5%B0%B1%E7%AE%97%E6%8A%8A-Jev-%E5%AE%89%E8%A3%85%E5%88%B0%E7%94%B5%E8%84%91%E9%87%8C%E4%BA%86%E5%90%97><span class=nav-number>7.</span> <span class=nav-text>装上 skill,就算把 Jev 安装到电脑里了吗</span></a><li class="nav-item nav-level-2"><a class=nav-link href=#%E7%9C%9F%E6%AD%A3%E8%B0%83%E7%94%A8%E5%85%AD%E6%AC%A1%EF%BC%8C%E5%BE%97%E5%88%B0%E4%BA%86%E4%BB%80%E4%B9%88><span class=nav-number>8.</span> <span class=nav-text>真正调用六次,得到了什么</span></a><li class="nav-item nav-level-2"><a class=nav-link href=#%E6%88%91%E4%BC%9A%E5%85%88%E6%8A%8A%E5%AE%83%E7%94%A8%E5%9C%A8%E5%93%AA><span class=nav-number>9.</span> <span class=nav-text>我会先把它用在哪</span></a></ol></div></div><div class="site-overview-wrap sidebar-panel"><div class="site-author animated" itemprop=author itemscope itemtype=http://schema.org/Person><img alt=Nicksxs class=site-author-image itemprop=image src=/uploads/avatar.jpg><p class=site-author-name itemprop=name>Nicksxs<div class=site-description itemprop=description>Nicksxs 的技术博客,深入 Java 运行时与生产诊断、低成本大模型推理和 Agent 工程实践。</div></div><div class="site-state-wrap animated"><nav class=site-state><div class="site-state-item site-state-posts"><a href=/archives/><span class=site-state-item-count>394</span> <span class=site-state-item-name>日志</span></a></div><div class="site-state-item site-state-categories"><a href=/categories/><span class=site-state-item-count>181</span> <span class=site-state-item-name>分类</span></a></div><div class="site-state-item site-state-tags"><a href=/tags/><span class=site-state-item-count>347</span> <span class=site-state-item-name>标签</span></a></div></nav></div><div class="links-of-author animated"><span class=links-of-author-item><a rel="noopener me" title="GitHub → https://github.com/nicksxs" href=https://github.com/nicksxs target=_blank><i class="fab fa-github fa-fw"></i>GitHub</a> </span><span class=links-of-author-item><a rel="noopener me" title="E-Mail → mailto:nicksxs1202@gmail.com" href=mailto:nicksxs1202@gmail.com target=_blank><i class="fa fa-envelope fa-fw"></i>E-Mail</a></span></div><div class="cc-license animated" itemprop=license><a class=cc-opacity href=https://creativecommons.org/licenses/by-nc-sa/4.0/ rel=noopener target=_blank><img alt="Creative Commons" src=https://cdnjs.cloudflare.com/ajax/libs/creativecommons-vocabulary/2020.11.3/assets/license_badges/small/by_nc_sa.svg></a></div><div class="widget-wrap sidebar-tag-cloud"><div class=tag-cloud-tags><a class=tag-cloud-10 href=/tags/Java/ style=font-size:16px>Java</a><a class=tag-cloud-9 href=/tags/leetcode/ style=font-size:15.62px>leetcode</a><a class=tag-cloud-8 href=/tags/LLM/ style=font-size:15.23px>LLM</a><a class=tag-cloud-8 href=/tags/%E7%94%9F%E6%B4%BB/ style=font-size:14.85px>生活</a><a class=tag-cloud-7 href=/tags/%E9%A2%98%E8%A7%A3/ style=font-size:14.46px>题解</a><a class=tag-cloud-6 href=/tags/SpringBoot/ style=font-size:14.08px>SpringBoot</a><a class=tag-cloud-6 href=/tags/MySQL/ style=font-size:14.08px>MySQL</a><a class=tag-cloud-5 href=/tags/C/ style=font-size:13.69px>C++</a><a class=tag-cloud-5 href=/tags/Redis/ style=font-size:13.31px>Redis</a><a class=tag-cloud-4 href=/tags/Tomcat/ style=font-size:12.92px>Tomcat</a><a class=tag-cloud-4 href=/tags/Mybatis/ style=font-size:12.92px>Mybatis</a><a class=tag-cloud-3 href=/tags/%E5%B0%8F%E6%8A%80%E5%B7%A7/ style=font-size:12.54px>小技巧</a><a class=tag-cloud-2 href=/tags/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/ style=font-size:12.15px>数据结构</a><a class=tag-cloud-2 href=/tags/%E6%BA%90%E7%A0%81/ style=font-size:12.15px>源码</a><a class=tag-cloud-2 href=/tags/MQ/ style=font-size:11.77px>MQ</a><a class=tag-cloud-2 href=/tags/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97/ style=font-size:11.77px>消息队列</a><a class=tag-cloud-2 href=/tags/RocketMQ/ style=font-size:11.77px>RocketMQ</a><a class=tag-cloud-2 href=/tags/%E8%BF%90%E5%8A%A8/ style=font-size:11.77px>运动</a><a class=tag-cloud-1 href=/tags/php/ style=font-size:11.38px>php</a><a class=tag-cloud-0 href=/tags/Spring/ style=font-size:11px>Spring</a><a class=tag-cloud-0 href=/tags/linux/ style=font-size:11px>linux</a><a class=tag-cloud-0 href=/tags/Docker/ style=font-size:11px>Docker</a><a class=tag-cloud-0 href=/tags/%E5%87%8F%E8%82%A5/ style=font-size:11px>减肥</a><a class=tag-cloud-0 href=/tags/%E8%B7%91%E6%AD%A5/ style=font-size:11px>跑步</a></div></div><div class="affiliate-creative affiliate-creative--sidebar" data-affiliate-id=tencent-cloud-server><a rel="sponsored noopener" aria-label=腾讯云服务器优惠 href=https://cloud.tencent.com/act/cps/redirect?redirect=6544&cps_key=2e33a1eedb380997d03618b4a5ba6ca7&from=console target=_blank><img alt="腾讯云 AI 焕新云服务器优惠" decoding=async height=241 loading=lazy src=/uploads/affiliate/tencent-cloud-server.webp width=690> </a><span class=affiliate-disclosure>推广</span></div></div></div></div><div class="sidebar-inner sidebar-blogroll"><div class="links-of-blogroll animated"><div class=links-of-blogroll-title><i class="fa fa-globe fa-fw"></i> 链接</div><ul class=links-of-blogroll-list><li class=links-of-blogroll-item><a href=https://covermusic.cn/ rel=noopener target=_blank title=https://covermusic.cn>69伙伴</a></ul></div></div></aside></div><div class="main-inner post posts-expand"><div class=post-block><article class=post-content itemscope itemtype=http://schema.org/Article lang=zh-CN><link href=https://nicksxs.me/2026/09/20/Jev%E6%B7%B1%E5%BA%A6%E8%A7%A3%E8%AF%BB-%E4%B8%BA%E4%BB%80%E4%B9%88%E8%BF%99%E4%B8%AAAI%E5%8F%AA%E5%81%9A%E5%88%A4%E6%96%AD%E5%8D%B4%E8%83%BD%E6%9B%B4%E5%BF%AB/ itemprop=mainEntityOfPage><span hidden itemprop=author itemscope itemtype=http://schema.org/Person><meta content=/uploads/avatar.jpg itemprop=image><meta content=Nicksxs itemprop=name></span><span hidden itemprop=publisher itemscope itemtype=http://schema.org/Organization><meta content="Nicksxs's Blog" itemprop=name><meta content="Nicksxs 的技术博客,深入 Java 运行时与生产诊断、低成本大模型推理和 Agent 工程实践。" itemprop=description></span><span hidden itemprop=post itemscope itemtype=http://schema.org/CreativeWork><meta content="Jev 深度解读与实测:只做判断的 AI,究竟快在哪里 | Nicksxs's Blog" itemprop=name><meta content="从重复扣费工单出发,解释 Jev 的类型化判断、并行输出与概率校准,并记录 TypeSafe skill 安装和六条中英文样本的真实 API 结果,区分本机体验与官方性能评测。" itemprop=description></span><header class=post-header><h1 itemprop="name headline" class=post-title>Jev 深度解读与实测:只做判断的 AI,究竟快在哪里</h1><div class=post-meta-container><div class=post-meta><span class=post-meta-item><span class=post-meta-item-icon><i class="far fa-calendar"></i> </span><span class=post-meta-item-text>发表于</span> <time itemprop="dateCreated datePublished" title="创建时间:2026-09-20 20:00:00" datetime=2026-09-20T20:00:00+08:00>2026-09-20</time> </span><span class=post-meta-item><span class=post-meta-item-icon><i class="far fa-folder"></i> </span><span class=post-meta-item-text>分类于</span> <span itemprop=about itemscope itemtype=http://schema.org/Thing><a href=/categories/LLM/ itemprop=url rel=index><span itemprop=name>LLM</span></a> </span></span><span class="post-meta-item cloudflare-page-counter" data-title="Jev 深度解读与实测:只做判断的 AI,究竟快在哪里" data-increment=true data-path=/2026/09/20/Jev%E6%B7%B1%E5%BA%A6%E8%A7%A3%E8%AF%BB-%E4%B8%BA%E4%BB%80%E4%B9%88%E8%BF%99%E4%B8%AAAI%E5%8F%AA%E5%81%9A%E5%88%A4%E6%96%AD%E5%8D%B4%E8%83%BD%E6%9B%B4%E5%BF%AB/ title=阅读次数><span class=post-meta-item-icon><i class="far fa-eye"></i> </span><span class=post-meta-item-text>阅读次数:</span> <span class=cloudflare-page-counter-count></span></span></div><div class=post-description>从重复扣费工单出发,解释 Jev 的类型化判断、并行输出与概率校准,并记录 TypeSafe skill 安装和六条中英文样本的真实 API 结果,区分本机体验与官方性能评测。</div></div></header><div class=post-body itemprop=articleBody><p>假设你正在做一个客服系统,用户发来一句话:<blockquote><p>我被扣了两次钱,请今天退回多扣的一笔。</blockquote><p>人看到这句话,很快就知道它和退款有关,而且用户希望尽快处理。但程序还需要把这份理解变成具体动作:分给哪个队列、要不要提高优先级、是不是明确提出了退款要求。<p>现在很常见的做法,是把消息交给大模型,让它返回一段解释,或者直接生成符合约定的 JSON。这个方案能工作,不过等请求量变大,模型的等待时间、输出长度和调用费用就开始变得明显。<p>最近看 TypeSafe AI 发布的 Jev,我觉得它最值得讨论的地方就在这里:如果程序只需要几个判断,模型能不能直接把这些判断交出来?<p>这篇是前面 Jev 视频的文字展开版。我们继续用这张工单,把它的接口、速度来源、适用场景和限制串起来,再用六条中英文样本调用真实 API。文中会区分本机拿到的结果与官方性能数字;官方工作流评测没有在本地独立复现。</p><span id=more></span><h2 id=Jev-到底接收什么,又返回什么><a title="Jev 到底接收什么,又返回什么" class=headerlink href=#Jev-到底接收什么,又返回什么></a>Jev 到底接收什么,又返回什么</h2><p>TypeSafe AI 在 2026 年 9 月 15 日发布 Jev,并把它归到自己提出的 System One 模型类别中。这个名字借用了“快速、直觉式判断”的说法;对开发者而言,理解它的输入输出比理解这个名字更有用。<a href=https://typesafe.ai/blog/introducing-system-one-models-and-jev rel=noopener target=_blank>官方发布文章</a><p>一次请求主要包含两部分:一份待判断的 <code>state</code>,以及一组预先定义好的 <code>questions</code>。<p><code>state</code> 可以是用户的自然语言消息,也可以是包含订单、工单和规则的结构化数据。<code>questions</code> 写明要问什么、答案可以有哪些。Jev 返回对应的选项、分值或概率,业务代码再根据这些结果继续执行。<a href=https://docs.typesafe.ai/introduction rel=noopener target=_blank>官方介绍</a><p>拿退款工单来说,我们可以一次问三个问题:<table><thead><tr><th>程序需要知道什么<th>适合的类型<th>程序怎样使用答案<tbody><tr><td>用户主要想做什么<td>Choice<td>分到退款、账单咨询或其他队列<tr><td>用户表达的时间要求有多紧<td>Score<td>调整工单处理顺序<tr><td>用户是否明确要求退钱<td>Noul<td>决定是否进入退款意图核查流程</table><p>这里有个容易混淆的地方:“用户希望退款”只是在识别意图。“这笔订单应该退款”还要核对支付记录、身份、金额和业务规则。前一个问题适合交给模型理解语言,后面的确定性检查仍然应由系统完成。<p>所以我更愿意把 Jev 理解成程序里的一组判断函数。函数内部处理那些很难用关键词写完整的语义,函数外部的代码负责流程和实际操作。<h2 id=三种原语,分别解决三种问题><a class=headerlink href=#三种原语,分别解决三种问题 title=三种原语,分别解决三种问题></a>三种原语,分别解决三种问题</h2><p>Choice 最接近选择题。你给它一个没有先后高低关系的选项集合,它返回选中的选项,以及全部选项的概率分布。例如把消息分到 <code>refund_request</code>、<code>billing_question</code> 或 <code>other</code>。<a href=https://docs.typesafe.ai/primitives/choice rel=noopener target=_blank>Choice 文档</a><p>选项的描述很重要。“退款申请”和“账单问题”如果写得含糊,重复扣费就可能同时符合两类。实际接入时,我会把前者写成“用户要求返还已支付金额”,把后者写成“用户询问收费情况,但没有提出退款请求”。这相当于先把团队自己的分类标准整理清楚。<p>Score 适合有顺序的等级。比如时间紧迫程度可以定义为:没有时间要求、希望近期处理、明确要求今天或立即处理。它返回的 <code>score</code> 是等级编号的概率加权平均,因此可以落在两个等级之间。<a href=https://docs.typesafe.ai/primitives/score rel=noopener target=_blank>Score 文档</a><p>举一个纯粹用于解释计算方式的例子,并非 API 实测:假设三个等级编号为 0、1、2,概率分别是 0.1、0.3、0.6,那么:<figure class="highlight text"><table><tr><td class=gutter><pre><span class=line>1</span><br></pre><td class=code><pre><span class=line>score = 0 × 0.1 + 1 × 0.3 + 2 × 0.6 = 1.5</span><br></pre></table></figure><p>这里的 1.5 表示模型的判断偏向高等级。它不表示“客户有 75% 的紧急程度”,也不是客观测量出的时间压力。等级的含义是我们自己定义的,分数的意义来自这套定义。<p>Noul 则回答一个明确的是非问题,返回“是”的概率,字段名就是 <code>noul</code>。例如:“用户是否明确要求退款?”数值接近 1 倾向于“是”,接近 0 倾向于“否”,靠近 0.5 表示两边概率接近。Noul 没有额外的 <code>confidence</code> 字段。<a href=https://docs.typesafe.ai/primitives/noul rel=noopener target=_blank>Noul 文档</a><p>尤其要避免把 Noul 当程度评分。如果问“用户是否着急”,0.5 不代表“中等着急”;它表示模型对这个命题拿不准。想区分不着急、比较着急、非常着急,应该先把等级写清楚,再使用 Score。<h2 id=为什么多个问题可以更快><a class=headerlink href=#为什么多个问题可以更快 title=为什么多个问题可以更快></a>为什么多个问题可以更快</h2><p>这三个问题都能直接根据原始消息作答,并不需要先知道其中某个答案。因此,可以把它们放在同一个请求里。<p>按照官方接口的设计,同次请求中的问题共享同一份 <code>state</code>,各自独立求值,并行返回结果。每个问题不会把另一个问题的答案当作自己的上下文。<a href=https://docs.typesafe.ai/primitives rel=noopener target=_blank>Primitives 文档</a><p>可以想象有三位同事同时读这张工单:一位负责分类,一位看时间要求,一位确认退款意图。最后程序把三份结果汇总。如果让一个人先写完分类,再写紧迫程度,最后写退款判断,后两个答案就要排在前面的文字之后。<p>这个类比对应的是输出方式的差异。典型的自回归语言模型逐个生成输出 token;哪怕返回的是一个 JSON 对象,字段名、数字、标点也要经过输出过程。Jev 放弃自由文本生成,针对预定义问题直接返回类型化结果。官方把并行采样列为它的重要设计。<a href=https://typesafe.ai/blog/introducing-system-one-models-and-jev rel=noopener target=_blank>官方发布文章</a><p>不过,“并行”也有明确边界。假设第一步要识别订单编号,第二步必须拿这个编号查数据库,第三步才能判断支付情况,那么后一步需要的信息还不存在,自然无法全部塞进第一次请求。你仍然需要在代码里分阶段调用。<p>反过来,如果只是想“确认属于退款后,再看看用户着不着急”,第二个问题其实早就能根据原文作答。提前一起问,随后由代码决定是否采用这个答案,就能省掉一次往返。这是工作流设计上的收益,不必等到某种特殊模型才开始思考。<p>至于底层用了多少参数、具体网络怎样安排、硬件算子怎样实现,仅凭目前这些公开接口和发布说明,还不足以精确复原。把速度归因于“它就是一个很小的模型”,缺少证据。我们能确认的是任务范围收窄、输出方式不同;每项因素分别贡献了多少,还需要更多技术披露和对照实验。<h2 id=普通大模型已经能输出-JSON,Jev-的差别还剩什么><a title="普通大模型已经能输出 JSON,Jev 的差别还剩什么" class=headerlink href=#普通大模型已经能输出-JSON,Jev-的差别还剩什么></a>普通大模型已经能输出 JSON,Jev 的差别还剩什么</h2><p>这个问题比“Jev 会不会写错括号”更值得问。<p>现在已有大模型提供 Structured Outputs,通过约束解码让返回结果符合指定 schema。比如 Claude 的官方文档就明确提供 JSON 输出和严格工具调用。因此,不能把普通大模型一概描述成“只能自由写一段话,然后碰运气解析”。<a href=https://platform.claude.com/docs/en/build-with-claude/structured-outputs rel=noopener target=_blank>Claude Structured Outputs 文档</a><p>更合理的比较是:<table><thead><tr><th>比较维度<th>支持结构化输出的通用大模型<th>Jev<tbody><tr><td>可表达的结果<td>可以兼顾解释、文本生成和结构化字段<td>集中在 Choice、Score、Noul 判断<tr><td>获取多个判断<td>可以一次要求多个字段,也能并发多个请求<td>同次请求中的问题按接口设计独立并行求值<tr><td>不确定性接口<td>取决于具体服务;让模型自行填写置信度不自动等于校准<td>概率是原生返回值,官方训练目标强调校准<tr><td>选择依据<td>适合还需要生成内容、复杂推理的任务<td>值得用于固定选项、多维评分、高频判定</table><p>也就是说,Jev 的卖点并不只剩下“格式合法”。它试图把判断、概率和多问题并行做成更专门的模型接口,从这类任务里争取更低延迟和成本。<p>但通用性确实有价值。处理完工单后,如果还要写一封措辞得体、能够解释账单情况的回复,仍需要模板或文本生成模型。一个合理的系统完全可以先用 Jev 做分类和筛选,再把少量需要生成或复杂分析的情况交给其他模型。<h2 id=有了概率,怎样才能真正用起来><a class=headerlink href=#有了概率,怎样才能真正用起来 title=有了概率,怎样才能真正用起来></a>有了概率,怎样才能真正用起来</h2><p>概率最有用的地方,是让代码有机会表达“这次先别自动处理”。<p>例如,一个消息被分到退款队列,但分布里“账单咨询”也占了很大比例。系统可以先询问用户希望核查收费,还是申请退回款项。分类结果十分明确时,再走对应流程。业务上能接受多大误判、人工复核成本是多少,决定了阈值应该放在哪里。<p>Choice 和 Score 的 <code>confidence</code> 是从概率分布归纳出的统计量,描述结果有多集中。它不是独立核验后的正确率,更不能把 <code>confidence = 0.9</code> 直接读成“这一单一定有 90% 的把握做对”。需要更细的处理时,可以直接使用完整的 <code>probabilities</code>。<a href=https://docs.typesafe.ai/confidence rel=noopener target=_blank>Confidence 文档</a><p>TypeSafe 把自己的训练方法称为 RLCD,也就是面向校准决策的强化学习。这里“校准”的理想含义是:收集很多被模型赋予约 0.8 概率的同类事件,它们最终发生的比例也应接近 80%。这描述的是一批预测的统计关系,不是单个答案的保证。<a href=https://docs.typesafe.ai/introduction/machine-learning-primer rel=noopener target=_blank>AI Primer</a><p>要在自己的业务里验证这一点,我会保留一批人工判断过的历史工单,先看误判集中在哪里,再比较不同概率区间的实际表现。退款意图识别、工单排序和自动退款的后果差别很大,不能共用一个随手选出的阈值。<p>还有一种错误很容易被“类型安全”遮住:答案永远在菜单里,不代表菜单本身合理。如果只给“退款”和“投诉”两个选项,普通咨询也会被迫落入其中之一。补上 <code>other</code>、改善分类边界,比盯着输出是不是合法 JSON 更接近实际质量问题。<h2 id=怎样看待“快-193-6-倍、便宜-444-6-倍”><a title="怎样看待“快 193.6 倍、便宜 444.6 倍”" class=headerlink href=#怎样看待“快-193-6-倍、便宜-444-6-倍”></a>怎样看待“快 193.6 倍、便宜 444.6 倍”</h2><p>这些数字来自 TypeSafe 自己发布的工作流评测,不是所有任务、所有模型之间都成立的固定倍率。发布文章还给出约 70–500 毫秒的单次端到端延迟,并说明公开评测通常从美国西海岸的笔记本发起,服务也位于那里;对于工作流的巨大收益,官方自己认为可能处在真实收益的高端。<a href=https://typesafe.ai/blog/introducing-system-one-models-and-jev rel=noopener target=_blank>官方发布文章的评测说明</a><p>评测覆盖客服、安全事件、发票处理和 Agent 运行轨迹审查四类工作流。模型回答拆解后的问题,再由程序规则产生结果;总览图对四类工作流等权平均。参考标签来自 GPT-6 Astra 和 Claude Fable 5.1 在高推理设置下回答的平均值,其他参评配置使用供应商默认推理设置。<a href=https://evals.typesafe.ai/ rel=noopener target=_blank>官方 Workflow Evals</a><p>这套评测有参考价值:它把具体流程、问题以及模型之间的分歧摆出来,比只展示一条最快响应更容易分析。但“接近两个强模型的共识”和“在真实业务里判断正确”仍然是两个问题。若参考模型一起误解某条规则,接近它们不一定代表更接近业务事实。<p>另外,TypeSafe 给通用大模型使用了兼容其决策接口的包装,要求返回相应概率;官方也指出,这通常比只输出一个决定更慢、更贵。<a href=https://typesafe.ai/blog/introducing-system-one-models-and-jev rel=noopener target=_blank>发布文章中的比较口径</a><p>因此,实际选型应该拿自己的目标做比较。如果系统只需要一个分类标签,就比较分类标签;如果需要十几个问题的完整概率分布,就两边都要求同等信息。再把模型版本、输入长度、问题数量、客户端所在地区、并发数、错误率和延迟分位数一起记录下来。<p>从国内网络调用服务,还会多出网络路径这项变量。看到官方的 70 毫秒,不能据此推导出自己部署环境里也能稳定得到同样结果。<h2 id=装上-skill,就算把-Jev-安装到电脑里了吗><a title="装上 skill,就算把 Jev 安装到电脑里了吗" class=headerlink href=#装上-skill,就算把-Jev-安装到电脑里了吗></a>装上 skill,就算把 Jev 安装到电脑里了吗</h2><p>官方给 Coding Agent 提供的安装方式是:<figure class="highlight bash"><table><tr><td class=gutter><pre><span class=line>1</span><br></pre><td class=code><pre><span class=line>npx skills add typesafe-ai/skills --skill typesafe-ai</span><br></pre></table></figure><p>运行时选择自己使用的 Agent。默认安装范围是当前项目,加 <code>-g</code> 才是全局安装。<a href=https://docs.typesafe.ai/agent-skill rel=noopener target=_blank>TypeSafe Agent Skill 文档</a><p>这次安装遇到了 Git HTTP/2 错误和拉取超时,最后下载官方仓库在提交 <code>65a39f393687675ce170e6094757de20370365b9</code> 的归档,再用 <code>npx skills add</code> 对本地归档目录安装,指定 <code>--skill typesafe-ai --agent codex --yes</code>。技能已安装到项目的 <code>.agents/skills/typesafe-ai</code>,内容仍来自官方仓库。<p>这条命令安装的是一套接入知识,包括如何组织问题、调用 API、读取返回值和拆分工作流。它帮助 Coding Agent 正确使用 TypeSafe,并不会把 Jev 的模型权重下载到电脑上,也不意味着获得了离线推理能力。<p>真正运行判断,需要通过 TypeSafe 账户获得 API 访问权限,并配置 <code>TYPESAFE_API_KEY</code>。接口是 <code>POST https://api.typesafe.ai/v1/systemone</code>。<a href=https://docs.typesafe.ai/introduction/quickstart rel=noopener target=_blank>Quick Start</a><p>下面先给一个沿用本文工单的教学版请求:问题说明使用中文,紧迫程度分成 0–2 三级。它用于解释字段结构;后面的实际实验采用更详细的英文问题说明和 0–3 四级标准,两者不是同一份请求。<figure class="highlight json"><table><tr><td class=gutter><pre><span class=line>1</span><br><span class=line>2</span><br><span class=line>3</span><br><span class=line>4</span><br><span class=line>5</span><br><span class=line>6</span><br><span class=line>7</span><br><span class=line>8</span><br><span class=line>9</span><br><span class=line>10</span><br><span class=line>11</span><br><span class=line>12</span><br><span class=line>13</span><br><span class=line>14</span><br><span class=line>15</span><br><span class=line>16</span><br><span class=line>17</span><br><span class=line>18</span><br><span class=line>19</span><br><span class=line>20</span><br><span class=line>21</span><br><span class=line>22</span><br><span class=line>23</span><br><span class=line>24</span><br><span class=line>25</span><br><span class=line>26</span><br><span class=line>27</span><br><span class=line>28</span><br><span class=line>29</span><br><span class=line>30</span><br></pre><td class=code><pre><span class=line><span class=punctuation>{</span></span><br><span class=line> <span class=attr>"model"</span><span class=punctuation>:</span> <span class=string>"jev-latest"</span><span class=punctuation>,</span></span><br><span class=line> <span class=attr>"state"</span><span class=punctuation>:</span> <span class=punctuation>{</span></span><br><span class=line> <span class=attr>"message"</span><span class=punctuation>:</span> <span class=string>"我被扣了两次钱,请今天退回多扣的一笔。"</span></span><br><span class=line> <span class=punctuation>}</span><span class=punctuation>,</span></span><br><span class=line> <span class=attr>"questions"</span><span class=punctuation>:</span> <span class=punctuation>{</span></span><br><span class=line> <span class=attr>"request_type"</span><span class=punctuation>:</span> <span class=punctuation>{</span></span><br><span class=line> <span class=attr>"type"</span><span class=punctuation>:</span> <span class=string>"choice"</span><span class=punctuation>,</span></span><br><span class=line> <span class=attr>"instructions"</span><span class=punctuation>:</span> <span class=string>"message 中用户主要希望获得哪一种处理?"</span><span class=punctuation>,</span></span><br><span class=line> <span class=attr>"criteria"</span><span class=punctuation>:</span> <span class=punctuation>{</span></span><br><span class=line> <span class=attr>"refund_request"</span><span class=punctuation>:</span> <span class=string>"要求返还已支付的金额。"</span><span class=punctuation>,</span></span><br><span class=line> <span class=attr>"billing_question"</span><span class=punctuation>:</span> <span class=string>"询问收费情况,但没有要求返还款项。"</span><span class=punctuation>,</span></span><br><span class=line> <span class=attr>"other"</span><span class=punctuation>:</span> <span class=string>"不属于上述两种需求。"</span></span><br><span class=line> <span class=punctuation>}</span></span><br><span class=line> <span class=punctuation>}</span><span class=punctuation>,</span></span><br><span class=line> <span class=attr>"time_pressure"</span><span class=punctuation>:</span> <span class=punctuation>{</span></span><br><span class=line> <span class=attr>"type"</span><span class=punctuation>:</span> <span class=string>"score"</span><span class=punctuation>,</span></span><br><span class=line> <span class=attr>"instructions"</span><span class=punctuation>:</span> <span class=string>"message 中表达的时间要求有多紧迫?"</span><span class=punctuation>,</span></span><br><span class=line> <span class=attr>"criteria"</span><span class=punctuation>:</span> <span class=punctuation>[</span></span><br><span class=line> <span class=string>"没有表达处理时限或催促。"</span><span class=punctuation>,</span></span><br><span class=line> <span class=string>"希望尽快处理,但没有明确要求当天完成。"</span><span class=punctuation>,</span></span><br><span class=line> <span class=string>"明确要求今天完成或立即处理。"</span></span><br><span class=line> <span class=punctuation>]</span></span><br><span class=line> <span class=punctuation>}</span><span class=punctuation>,</span></span><br><span class=line> <span class=attr>"explicit_refund"</span><span class=punctuation>:</span> <span class=punctuation>{</span></span><br><span class=line> <span class=attr>"type"</span><span class=punctuation>:</span> <span class=string>"noul"</span><span class=punctuation>,</span></span><br><span class=line> <span class=attr>"instructions"</span><span class=punctuation>:</span> <span class=string>"message 中用户是否明确提出返还款项的要求?"</span></span><br><span class=line> <span class=punctuation>}</span></span><br><span class=line> <span class=punctuation>}</span></span><br><span class=line><span class=punctuation>}</span></span><br></pre></table></figure><p>问题的 ID 只是程序匹配请求和回答的键,模型并不读取这个 ID 来理解问题,所以完整含义要写在 <code>instructions</code> 和 <code>criteria</code> 中。<a href=https://docs.typesafe.ai/api rel=noopener target=_blank>API Reference</a><p>中文读者还需要特别留意语言条件。官方 Models 文档说明,英语是主要训练语言,目前表现最好;中文等其他语言可以处理,但能力并不等同,应该用自己的材料验证。当前 <code>jev-latest</code> 指向 <code>jev-1.13.0</code>,别名会随版本更新变化;如果已经根据某个版本调过阈值,应该记录或固定实际模型版本。<a href=https://docs.typesafe.ai/models rel=noopener target=_blank>Models 文档</a><h2 id=真正调用六次,得到了什么><a class=headerlink href=#真正调用六次,得到了什么 title=真正调用六次,得到了什么></a>真正调用六次,得到了什么</h2><p>接下来我在 <code>tools/jev-lab/</code> 写了一个小实验。<code>index.mjs</code> 定义问题和结果处理逻辑,<code>cases.mjs</code> 放六条人工编写的合成输入:中英文重复扣费退款、中英文明确不退款、信息模糊,以及完全无关的内容。<p>配套的<a href=/downloads/jev/jev-lab-example.zip>可运行示例包</a>包含代码、锁定的依赖版本和这次实验的 JSON 快照。使用 Node.js 20 或更新版本,解压后在目录里执行:<figure class="highlight bash"><table><tr><td class=gutter><pre><span class=line>1</span><br><span class=line>2</span><br></pre><td class=code><pre><span class=line>npm ci --ignore-scripts --no-audit --no-fund --registry=https://registry.npmjs.org</span><br><span class=line>node index.mjs --dry-run</span><br></pre></table></figure><p>这一步不读取密钥、不联网。配置自己的 <code>TYPESAFE_API_KEY</code> 后,再执行六条样本:<figure class="highlight bash"><table><tr><td class=gutter><pre><span class=line>1</span><br></pre><td class=code><pre><span class=line>node index.mjs --suite</span><br></pre></table></figure><p>也可以用 <code>--key-file /你的本地密钥文件路径</code>,从文件读取密钥。示例只向 TypeSafe 官方端点发请求,不会把密钥写进结果。博客源码仓库里的同一份脚本位于 <code>tools/jev-lab/index.mjs</code>。<p>本次运行时间为 2026 年 9 月 20 日,环境是 Node.js <code>v22.21.1</code>、<code>@typesafe-ai/sdk@0.6.0</code>。一个本机进程顺序发送六次请求,每次把三个问题放在一起;超时设为 15 秒,重试次数为 0,没有做预热。请求选择 <code>jev-latest</code>,六次响应实际都返回 <code>jev-1.13.0</code>。<p>为了把判定边界写得更清楚,实测的 <code>instructions</code> 和 <code>criteria</code> 都使用英文,<code>state</code> 中分别放中文或英文工单。Choice 的选项是 <code>refund / support / other</code>;Noul 明确区分“要求退钱”和“只是提到或否定退款”。Score 判断的是需要客服介入的紧迫程度,四级标准大意如下:<table><thead><tr><th>等级<th>实测中给模型的含义<tbody><tr><td>0<td>普通咨询、无关请求,或没有说明当前问题和时限<tr><td>1<td>存在账单或服务问题,但没有临近截止时间或严重持续影响<tr><td>2<td>明确要求当天处理,或核心功能受阻且没有替代办法<tr><td>3<td>持续重大故障、持续未经授权的扣费等不能等待的严重影响</table><p>下面是实际响应中的数值,按请求发送顺序排列。<code>explicit_refund</code> 是明确退款请求的 Noul 概率,<code>urgency</code> 是上面四级标准的加权分值:<table><thead><tr><th>输入简述<th>route<th>route confidence<th>explicit_refund<th>urgency(0–3)<th>本机耗时(ms)<tbody><tr><td>中文:重复扣费,请今天退款<td>refund<td>1.00<td>0.99<td>1.99<td>1962.02<tr><td>英文:重复扣费,请今天退款<td>refund<td>1.00<td>0.99<td>2.00<td>782.15<tr><td>中文:不要退款,只问发票下载<td>support<td>1.00<td>0.03<td>0.08<td>822.18<tr><td>英文:不要退款,协助重置密码,现有会话仍可用<td>support<td>1.00<td>0.03<td>0.43<td>744.75<tr><td>中文:昨天那个事情,能否帮忙处理<td>other<td>0.54<td>0.02<td>0.06<td>823.44<tr><td>英文:讲一个企鹅学飞的故事<td>other<td>1.00<td>0.01<td>0.00<td>756.66</table><p>比起看第一条命中了 <code>refund</code>,我更关心后面的边界输入。例如“我不是来申请退款的,不要退款。我只是想知道发票在哪里下载”,虽然出现了多次“退款”,返回的明确退款概率仍然只有 0.03,路由为 <code>support</code>。至少在这条样本上,它区分了提到某个词和表达某种意图。<p>模糊工单也很有意思。它返回 <code>other</code> 的概率为 0.70、<code>support</code> 为 0.30,而 <code>route confidence</code> 是 0.54。这正好说明,选中类别的概率和 <code>confidence</code> 并不是同一个数值。<p>示例代码把 <code>route confidence < 0.8</code> 的结果显示为 <code>human_review</code>,所以这条没有直接采用 <code>other</code> 路由建议。这里的 0.8 只是便于展示分支的阈值,没有用真实客服数据校准;程序也只输出建议,不会创建工单或执行退款。Score 的返回值保留供查看,没有接入自动行动。<p>延迟则需要单独解释:第一条为 1962.02 毫秒,后五条在 744.75–823.44 毫秒之间。计时包住一次 SDK 调用,包括网络往返和响应解析,并非模型纯推理时间。由于没有预热、重复运行和顺序对照,不能把首条较慢直接归因于服务冷启动,也不能据此认为中文比英文慢。<p>这六条只能说明本次请求跑通了,并让我们看到某些具体边界上的行为。它们没有组成足够的带标签评测集,不能用来估计生产准确率或证明概率已经校准;本次也没有通用大模型对照,不能验证官方宣传的加速和成本倍率。<a href=/downloads/jev/jev-smoke-test-2026-09-20.json>本次完整实验快照</a>保留了问题定义、输入、返回版本、概率分布和客户端计时;读者自己运行时,新记录会写入示例的 <code>results/</code> 目录,方便沿着相同口径扩充样本。<h2 id=我会先把它用在哪><a class=headerlink href=#我会先把它用在哪 title=我会先把它用在哪></a>我会先把它用在哪</h2><p>我比较想先试的是工单分流、检索结果重排、文章分类,以及给已有 AI 输出加一层多维检查。这些地方通常已经有明确的候选项,判断会高频发生,而且容易把结果接到现有代码里。<p>我不会一开始就把“理解用户意图”和“批准具体交易”合在一个问题里。回到那张重复扣费工单,比较容易验证的第一步是让 Jev 判断用户希望做什么,再由系统读取真实订单和支付记录。模型负责理解那句话,业务代码负责确认发生了什么。<p>Jev 让我感兴趣的是这种工作方式:把一个含糊的大任务拆成可以逐项检查的小判断,得到概率后,再把它们写进清楚的程序逻辑。对于已经在搭建 AI 工作流的开发者,是否采用 Jev 可以通过实验决定;先把问题边界和比较口径写清楚,这件事现在就能做。</div><footer class=post-footer><aside aria-label=文章所属专题 class=post-series><span>所属专题</span><a href=/topics/#agent-engineering>Agent 工程实践</a><p>从 Agent 开发框架和工具系统出发,理解循环、上下文、工具调用、Subagent 与 MCP 的工程实现。</aside><div class="affiliate-creative affiliate-creative--post-end" data-affiliate-id=tencent-cloud-server><a rel="sponsored noopener" aria-label=腾讯云服务器优惠 href=https://cloud.tencent.com/act/cps/redirect?redirect=6544&cps_key=2e33a1eedb380997d03618b4a5ba6ca7&from=console target=_blank><img alt="腾讯云 AI 焕新云服务器优惠" decoding=async height=241 loading=lazy src=/uploads/affiliate/tencent-cloud-server.webp width=690> </a><span class=affiliate-disclosure>推广</span></div><div class=reward-container><div>请我一杯咖啡吧!</div><button>赞赏</button><div class=post-reward><div><img alt="Nicksxs 微信" src=https://i.loli.net/2020/01/12/NUlWanT31E8LQGx.png><span>微信</span></div><div><img alt="Nicksxs 支付宝" src=https://ooo.0o0.ooo/2016/08/17/57b421e773057.jpg><span>支付宝</span></div></div></div><div class=post-copyright><ul><li class=post-copyright-author><strong>本文作者: </strong>Nicksxs<li class=post-copyright-link><strong>本文链接:</strong> <a title="Jev 深度解读与实测:只做判断的 AI,究竟快在哪里" href=https://nicksxs.me/2026/09/20/Jev%E6%B7%B1%E5%BA%A6%E8%A7%A3%E8%AF%BB-%E4%B8%BA%E4%BB%80%E4%B9%88%E8%BF%99%E4%B8%AAAI%E5%8F%AA%E5%81%9A%E5%88%A4%E6%96%AD%E5%8D%B4%E8%83%BD%E6%9B%B4%E5%BF%AB/>https://nicksxs.me/2026/09/20/Jev深度解读-为什么这个AI只做判断却能更快/</a><li class=post-copyright-license><strong>版权声明: </strong>本博客所有文章除特别声明外,均采用 <a href=https://creativecommons.org/licenses/by-nc-sa/4.0/ rel=noopener target=_blank><i class="fab fa-fw fa-creative-commons"></i>BY-NC-SA</a> 许可协议。转载请注明出处!</ul></div><div class=post-tags><a href=/tags/LLM/ rel=tag># LLM</a><a href=/tags/Jev/ rel=tag># Jev</a><a href=/tags/TypeSafe-AI/ rel=tag># TypeSafe AI</a><a href=/tags/AI%E5%B7%A5%E4%BD%9C%E6%B5%81/ rel=tag># AI工作流</a></div><div class=post-nav><div class=post-nav-item><a title="Pi Agent 源码解析(一):从调试环境到双层主循环" href=/2026/09/13/Pi-Agent-%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90-%E4%BB%8E%E8%B0%83%E8%AF%95%E7%8E%AF%E5%A2%83%E5%88%B0%E5%8F%8C%E5%B1%82%E4%B8%BB%E5%BE%AA%E7%8E%AF/ rel=prev><i class="fa fa-angle-left"></i> Pi Agent 源码解析(一):从调试环境到双层主循环</a></div><div class=post-nav-item><a title="Qwen-Image 2.1 入门:从一句提示词到一张图,6GB 显存为什么也能跑" href=/2026/09/27/Qwen-Image-2-1%E5%85%A5%E9%97%A8-%E4%B8%BA%E4%BB%80%E4%B9%88%E5%AE%83%E5%80%BC%E5%BE%97%E5%85%B3%E6%B3%A8%E4%BB%A5%E5%8F%8A%E4%BD%8E%E9%85%8D%E6%98%BE%E5%8D%A1%E5%A6%82%E4%BD%95%E8%B7%91%E8%B5%B7%E6%9D%A5/ rel=next>Qwen-Image 2.1 入门:从一句提示词到一张图,6GB 显存为什么也能跑 <i class="fa fa-angle-right"></i></a></div></div></footer></article></div><div class=comments id=disqus_thread><noscript>Please enable JavaScript to view the comments powered by Disqus.</noscript></div></div></main><footer class=footer><div class=footer-inner><div class=beian><a href=https://beian.miit.gov.cn/ rel=noopener target=_blank>浙ICP备16002580号-2 </a><img alt src=/uploads/beian.png><a href=https://beian.mps.gov.cn/#/query/webSearch?code=33010602011094 rel=noopener target=_blank>浙公网安备 33010602011094号</a></div><div class=copyright>© <span itemprop=copyrightYear>2026</span><span class=with-love><i class="fa fa-heart"></i> </span><span class=author itemprop=copyrightHolder>Nicksxs</span></div></div></footer><div class="toggle sidebar-toggle" role=button><span class=toggle-line></span><span class=toggle-line></span><span class=toggle-line></span></div><div class=sidebar-dimmer></div><div aria-label=返回顶部 class=back-to-top role=button><i class="fa fa-arrow-up fa-lg"></i><span>0%</span></div><a aria-label="在 GitHub 上关注我" title="在 GitHub 上关注我" class=github-corner href=https://github.com/nicksxs rel=noopener target=_blank><svg viewbox="0 0 250 250" aria-hidden=true height=80 width=80><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" style="transform-origin:130px 106px" class=octo-arm fill=currentColor></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" class=octo-body fill=currentColor></path></svg></a><noscript><div class=noscript-warning>Theme NexT works best with JavaScript enabled</div></noscript><script data-cloudflare-page-counter-config type=application/json>{"enable":true,"endpoint":"https://counter.nicksxs.me","site":"nicksxs","local_cache":true,"timeout":5000,"icon":"far fa-eye","item_text":true}</script><script src=/js/cloudflare-page-counter.js></script><script class=next-config data-name=disqus type=application/json>{"enable":true,"shortname":"nicksxs","count":false,"i18n":{"disqus":"disqus"}}</script><script defer src=/js/third-party/comments/disqus.js></script>