System One 是什么:为代码做判断,而非为人写文本
当你在科学工作流里需要一个"判断",这条摘要是否纳入系统综述、这段引用是否真的支持结论、这个工具调用是否异常,用 LLM 意味着先写提示词诱导它输出 JSON,再解析、处理解析失败,最后祈祷 JSON 里的数字有意义。TypeSafe 把这一步变成模型的本职:System One 模型理解自然语言,但返回类型化答案与概率分布,而不是生成文本。没有文本生成,没有解析。
Jev 是 TypeSafe 的旗舰模型与第一个 System One 模型。一次调用 = 一份 state(被评估的内容)+ 一组类型化问题;所有问题对同一份 state 并行、独立评估。Choice 与 Score 答案附带 confidence,代码可以直接用阈值分支。命名取自 Kahneman《思考,快与慢》的 System 1:快而聚焦的直觉判断;慢而审慎的推理(System 2)仍属于 LLM 或人类。
"System One models are trained for calibrated decisions: their probabilities are optimized against outcomes to reflect uncertainty."
这句话是整个技术路线的锚点:概率不是生成文本里"看起来像置信度"的措辞,而是针对真实结果优化校准过的。Jev 的训练路径是 RLCD(reinforcement learning for calibrated decisions,面向校准决策的强化学习,见其 AI primer),同一套权重服务所有账户,不做客户数据微调或 LoRA 适配。域适配靠请求完成:把领域内容放进 state,把领域规则写进 instructions 与 criteria。
文档同时明确两条边界:校准是跨预测群体性质的度量,不保证单次答案正确;Jev 目前只接受文本输入(字符串、JSON 对象、文本数组),图像/音频/视频不支持,非文本数据(如谱图、显微图像)须先由其他模型转成文本或结构化字段再进 state。
三大原语:Choice / Score / Noul
所有能力由三个 AI 原语构成,可在一次请求中混用,每个问题独立、并行评估,增加问题几乎不增加响应时间,也不产生上下文腐化(context-rot):
Choice — 从定义好的选项集中选一个。返回 choice、每个选项的 probabilities、confidence。适合意图分类、路由选择、实体类型判定、来源选择。关键约束:选项集由你的 criteria 定义,模型只能在你给出的选项中挑,候选覆盖度由你负责,模型选不了你没放进 state 的值;不确定是否命中时应放一个 no-match 选项兜底。
Score — 沿有序的描述性等级打分。等级数 2–10 由你定义,每个等级必须描述具体情境、能独立成立。返回 score(概率加权位置,如 1.4)、各等级 probabilities、confidence。适合严重度、相关性、来源质量、证据强度等有序维度。要做分项排名时,各条目的 Score 等级定义必须一致,否则不可比。
Noul — 判断一个命题是否成立。返回 0–1 的校准概率 noul,没有单独的 confidence 字段,0.5 附近意味着"是/否概率相近",不是"中等强度"。多个可能同时成立的标签(如一封邮件既可疑又含敏感信息)应一标签一 Noul,而不是做成一个 Choice。
选择逻辑一句话:答案属于一个已知集合用 Choice;需要"某性质存在的概率"用 Noul;答案落在有序刻度上用 Score。
State 设计:把判断所需的全部证据放进一次请求
State 是被评估的内容,问题是针对内容要做的判断,两者严格分离。内容与事实(文献原文、实验记录、政策文本)进 state;判断("是否相关""是否支持")进 questions。把结论写进问题、把证据留在 state 之外,是最常见的失败方式。
State 支持三种形态:简单字符串(单条文本);JSON 对象(命名字段 + 关联记录,官方推荐默认);文本数组(消息/记录序列)。总预算 64k token,其中 state 加最长单个问题不超过 32k。官方比喻是"把材料呈给一组专家,再请他们各自判断",所以决策需要对比的关联信息(邮件 + 订单 + 退款政策)应放进同一个对象。
给 AI4Science 的具体含义:筛选论文时,state 应是"问题 + 纳入/排除标准 + 论文摘要";校验引用时,state 应是"原文段落 + 被检查的引文与主张"。摘要截断、标准缺失、只给标题不给结论段,都会直接降低判断质量,Jev 没有"内部知识"可依赖的承诺,它评估的是你给的材料。
Confidence:概率分布的形状,而非另一个概率
Choice 与 Score 的答案自带完整的 probabilities 分布;confidence 是官方把这个分布的"形状"折叠成的 0–1 标量:全部概率集中在一个选项 → 1.0;越均匀 → 越低。它回答的问题不是"答案对的可能性",而是"这个判断有没有明确的读数"。
三条解读规则值得写进工程规范:
低 confidence 是有价值的信号,不是废数据。文档原话:"I don't know" is a useful signal,一个不能诚实表达不确定的系统不可信任。对科学工作流,低 confidence 恰好圈出了需要人工复核或更强模型重判的样本。
三档行为是默认起点:高 confidence → 自动执行;中 → 谨慎推进(要求确认、标记复核、补充证据);低 → 不行动,转人工或换系统。文档给的参考代码里,低风险操作(查余额)在 0.5 以上即可执行,高风险操作(批准转账)要 0.9 以上,阈值随后果严重度分级,而不是一个全局数字。
confidence 概括分布集中度,不等于工作流整体正确性,也不等于行动许可。Noul 没有 confidence;Choice 的低 confidence 也可能只是"多个可接受选项并存"(无害偏好类选择不需要因为低 confidence 而作废)。
官方反复强调的一点必须原样保留:阈值起点保守,然后在你自己的数据上标定。Cookbook 里的数字(如 0.5/0.9)是示例,不是普适常数。对科学判断,建议用一小批人工标注的"纳入/排除"样本画出 confidence 与准确率的关系再定阈值。
性能、成本与限额:两个延迟口径、64k、$42/Btok
截至 2026-09-21 快照(Jev 1.13,别名 jev-latest / jev-preview 当前同指 1.13.0):
延迟口径:官方 use-case map 用"frontier intelligence at real-time speeds (150ms)"描述实时画像;构建指南则称多数查询约 100ms。两者属于产品资料中的画像与经验口径,不是针对具体 AI4Science 任务的服务等级承诺。上线前应在自有语言、state 大小和批量规模上测量 p50/p95。附加问题通常几乎不改变响应时间,因此"一请求多问题"(speculative fan-out)是降低往返次数的主要杠杆。
价格:$42/Btok,即 $0.042/Mtok,按输入 token 计费,输出 token 免费。官方 use-case map 还以"100x cheaper"描述其适用画像;这不是对所有 LLM 或具体工作流的成本保证,实际账单仍取决于 state、问题数量和调用量。
吞吐与限额:当前 Models 页列出 250,000 tokens/秒、1,200 requests/分钟,超限可能返回 429;API 文档同时列出 529 Overloaded。SDK 默认带指数退避并遵守 retry-after,但官方注明限额会随供需动态调整,不能把当前数值写成永久 SLA。
上下文:64k/请求(state + 所有问题),32k(state + 最长单问题)。大批量筛选时应把多条候选打包进一个 state(如 r0/r1/r2… 的问题映射),控制往返次数。
数据合规:Jev 不在客户请求/响应上训练;企业版有 ZDR(零保留)与 DPA。对含未发表数据、患者信息的研究场景,这一点是选型前置条件,需自行核对 Legal 页与机构合规要求。
AI4Science 定位:判断层,不是生成层
把前五节合起来,Jev 在 AI4Science 架构中的位置可以画成一条明确分工:
生成层(LLM / 科学基础模型)负责提出假设、生成方案、写代码、起草综述,产生候选与文本;检索层(搜索引擎 / 数据库 API)负责从 PubMed、OpenAlex、UniProt、PDB 取回证据;判断层(Jev)对每个候选或证据做原子判断,回答是否相关、是否支持、是否异常、质量几分,并返回可编程概率;执行层(你的代码)持有权重、阈值、分支、排序和记录。
官方 use-case map 中与科研直接对齐的画像有五类:大规模语料上的相关性搜索与重排序("100x cheaper 处理巨型数据集")、系统综述的论文纳入/排除筛选与访谈/问卷的按主题标注、稿件引用核查(被引段落是否支持主张)、方法学完整性检查(缺对照组、缺数据集描述、缺实验设置)、跨论文实体与关系抽取(科研知识图谱)。
一个必须写清的边界:Jev 输出的是判断概率,不是科学事实。"noul=0.93 说这篇论文的方法支持该结论"是流程里的一票,不是同行评审的替代。类型化输出保证接口可靠,不保证内容为真,这是官方设计哲学的原话("Typed output guarantees the interface, not truth"),在科学场景要升格为纪律:任何进入稿件、综述或决策的判断都必须保留证据链与抽样人工复核。
使用方针:原子问题 + 代码组合的四条军规
军规一:一个问题一个直觉判断。每个问题应是"一个足够懂行的、有正确上下文的人几秒钟内能下的结论"。要评"这个课题值不值得资助",拆成市场规模、技术可行性、差异化三问,代码里加权合并,而不是让模型自己在一段生成里权衡。这样单点评估可靠,权重随优先级变化时只改代码系数,不重写提示词、不重跑推理(证据与问题含义不变时,改权重不需要重新调用)。
军规二:criteria 承担真正的语义工作。裸标签("高/中/低")性能差;每个选项、每个等级都要写描述、对比、排除项、示例。Score 的等级必须描述具体情境并独立成立。问题 ID 不发给模型,问题的完整含义必须写在 instructions 里。
军规三:独立问题合并发,依赖问题分轮次。同一 state 上的独立问题(含推测性问题)放进一次请求并行评估,代码各取所需;只有当代码必须拿到第一轮答案才能构造第二轮的 state 或选项时才发第二次请求,官方cookbooks 里只有排名后取前三全文重判、行→块→块分类、层级分类三种场景构成"真依赖"。两轮是例外而非惯例。
军规四:confidence 门控行动,阈值按风险分级、按数据标定。见第 4 节。补充一条工程惯例,把答案的 model 字段(响应里报告实际应答的版本号)写进日志;若你针对某个版本标定了阈值,应固定版本 ID 而非用别名,按自己的节奏升级。
最小可用实现:把 Jev 放在判断层
下面的骨架只展示职责边界,不给出可直接照搬的阈值。API key 由 SDK 从环境变量读取;阈值、回退动作和版本固定策略属于应用代码。先用人工标注集评估,再把示例中的占位值换成任务专属阈值。
from typesafe_sdk import Choice, Noul, Score, TypeSafeClient
MODEL = "jev-1.13.0" # 完成标定后固定版本
def triage_paper(title, abstract, inclusion_rule):
state = {
"paper": {"title": title, "abstract": abstract},
"review_rule": inclusion_rule,
}
questions = {
"in_scope": Noul(
instructions="Does `paper.abstract` satisfy `review_rule`?",
criteria={
"true": "The abstract gives direct evidence that the rule is met.",
"false": "The rule is not met or the abstract lacks the needed evidence.",
},
),
"study_type": Choice(
instructions="Which type best matches `paper.abstract`?",
criteria={
"primary": "Reports original experiments or observations.",
"review": "Synthesizes prior work without new primary data.",
"other": "Neither category fits or the abstract is insufficient.",
},
),
"evidence_quality": Score(
instructions="How strong is the evidence described in `paper.abstract`?",
criteria=[
"Insufficient detail to judge.",
"Some relevant evidence, but major design details are missing.",
"Clear design, comparison, and outcome details are described.",
],
),
}
with TypeSafeClient(model=MODEL) as client:
response = client.system_one(state=state, questions=questions)
answers = response.answers
# These are placeholders; calibrate them on your own labeled set.
if answers["in_scope"].noul <= 0.2 or answers["study_type"].choice == "other":
decision = "exclude_candidate"
elif (answers["in_scope"].noul >= 0.8
and answers["evidence_quality"].confidence >= 0.8):
decision = "queue_full_text"
else:
decision = "human_review"
return {
"decision": decision,
"model": response.model,
"answers": answers,
}
这个流程保留三类可审计对象:原始 state、每个原子问题的完整分布,以及代码做出的最终动作。后续改变纳入标准、权重或风险等级时,优先改 criteria 与组合逻辑;不要把多因素权衡重新塞回一个宽泛问题。
策略一:文献筛选与系统综述管线
场景:系统综述的初筛通常面对数千到数万条题录,人工双筛成本极高;普通 RAG 对"纳入/排除"这种带硬标准的判断也不可靠。
管线设计(对应官方 classification using confidence cookbook 的扩展):
1. 标准结构化:把 PICOS 纳入/排除标准拆成每条一个 Noul("研究是否针对目标人群?""是否有对照?""是否为原始研究而非综述?"),另设一个 Choice 判研究类型。所有标准同一份 state(题目+摘要)一次请求并行评完。
2. 三档分流:全部标准高概率满足 → 纳入池;明确不满足 → 排除池(记录各 noul 供审计);任何标准处于灰色区 → 人工复核队列。官方分类 cookbook 的做法是把 confidence 用作"上报层级"的开关:不确定时归入更宽的上一级类目而不是硬猜,综述场景等价于"宁可多进复核,不静默丢弃"。
3. 质量分级:对纳入池统一 Score(证据等级 rubric 包含设计、样本、对照、偏倚风险等维度,代码负责加权),产出分级排序供全文阅读排期。
4. 二次筛选:只有当第一轮结果决定需要取哪些全文或补充证据时,才进入第二轮重判。这里是对官方“依赖答案后再构造新 state”的通用模式做的 AI4Science 适配,不应把两轮调用当成默认配置。
边界:PRISMA 流程要求的人工双筛不能被单模型概率替代;正确用法是 Jev 做第一道大规模分流 + 抽样一致性检验(与人工金标对比计算校准曲线),把人工精力集中到灰色区。中文文献、非英语摘要在当前语言支持下精度下降,务必先用自建样本测试。
策略二:科学产出校验与 agent 护栏
场景:AI 写的综述、生成的实验方案、agent 的工具调用链,都需要在"便宜且快"的位置做语义质检。官方 citation_check 与 llm_guardrails 两个 cookbook 直接覆盖。
引用核查:state = 原文段落 + 被检查的引文 + 主张;一个 Choice(支持/不支持/部分支持/无关)逐条核查。confidence 低的条目进入人工核对,这是把"幻觉引用"拦截在稿件提交前的低成本方案。对批量核查,把多段引文打包成数组 state、问题按条目编号展开,一个往返完成。
LLM 护栏:在科研 agent 的每条输入、输出和工具调用上放一组 Noul(每个风险条件一题,例如提示注入、敏感数据暴露、危险医疗建议)与一个 Score(合规或执行可能造成的危害等级)。代码里阈值化概率决定放行、复核、阻断或升级。官方 cookbook 的示例正是“每个风险一题 + 严重度评分”,而不是让单个问题替代整套安全政策。对需要长期留痕的实验管线,把结构化检查结果、概率、阈值、模型版本和最终动作写入日志,事后才能追溯失败模式。
方法学完整性检查:对自动生成的实验设计,用 Noul 逐项查"是否声明了对照""是否给出了数据集描述""是否说明了随机化/重复设置",对应官方 use-case map 的 "Flag missing methodological details"。这类检查是原子判断的天然适用区。
边界:护栏概率不是安全认证。高危操作(自动合成下单、大额采购、对外发送)永远叠加确定性规则与人工确认,Jev 只做分流。
策略三:语义特征提取与经典 ML 融合
场景:科研数据里大量自然语言字段(实验记录、方案备注、失败原因描述)进不了传统 ML。Jev 可以把自由文本转成数值特征。
管线:对每个维度定义原子 Score/Noul 问题(如"失败是否与试剂批号相关?"、"方案偏离是否可能影响主终点?"),跑在历史记录上得到概率特征,与结构化变量拼接,训练 CatBoost/XGBoost 等下游模型。官方 autoresearch feature discovery cookbook 走得更远:让自动研究循环自己提出特征定义、用下游模型误差迭代改进,官方明确这是一个"用有 ground truth 的任务验证"的流程,不是无监督魔法。
优势本质:特征定义一旦冻结,就是可审计的,第 47 号特征永远意味着"该维度的问题 X",比黑盒 embedding 可解释一个量级;且换权重、换显示口径不需要重跑推理(存概率、代码里重组)。
边界:概率特征的价值完全取决于标注质量与领域适配;先小样本验证每个特征的预测力,再批量生成。未发表数据使用前核对数据保留条款。
策略四:AI4Science agent 的意图路由
场景:科研助理 agent 收到混合请求(查文献 / 跑计算 / 预订仪器 / 解析数据),每个意图的最优处理器不同,包括确定性代码、廉价快速判断、昂贵推理模型和人类专家。
管线(intent routing 模式):一个 Choice 把请求分类到意图,一个 Score 估难度或风险,同一 state 一次请求完成;代码按 confidence 门控如下,高 confidence 的简单意图直接走确定性代码;中等 confidence 走廉价路径并做结果校验;低 confidence 或高风险请求升级到推理模型(System 2)或人工。官方给出的路由画像是“为每条 prompt 选择处理 LLM,估计难度和风险,再将需要更贵模型的请求升级”。
对 AI4Science 的增量价值在于工具选择:科研工具生态(对接数据库、跑结构预测、调分析脚本)天然是"候选集已知的 Choice",把工具目录写成 criteria,让 Jev 选工具而不是让 LLM 自由发挥 function calling,路由错误率与成本同时下降。前站关于 ToolUniverse 与本体护栏的分析(agentic_ontologies_ai4science_trend.html)与本节构成同一条设计哲学:LLM 生成假设,窄判断模型 + 本体/目录约束执行。
边界与失效模式:Jev 不能做什么
1. 不生成、不解释、不推理。不写综述、不写代码、不产出理由。需要推理链的任务交给 LLM,Jev 判其结果。
2. 只看 state,没有"内部知识"承诺。state 外的证据等于不存在;候选覆盖度是你的责任。摘要截断、标准缺失直接变成判断噪声。
3. 文本输入,英语最优。图像/音频/视频不支持;非英语(含中文)内容精度下降,官方建议在自己内容上测试并在路由时格外关注 confidence。多语言科研场景(中文实验记录、日语专利)必须先做语言抽测。
4. 校准是群体性质,单次答案无保证。任何单点判断都可能错;系统的可靠性来自原子问题 + confidence 门控 + 人工复核兜底的组合,而非模型本身。
5. 不能自己做权重与综合。让它权衡多因素恰恰是要拆掉的错误用法;权重必须活在代码里。
6. 版本别名会漂移。jev-latest 背后的模型随发布移动,答案可能变。阈值标定过的生产系统应固定版本 ID 并记录响应中的 model 字段。
7. 限额动态调整。官方明示限额可能无通知变化;大批量任务要有退避重试与降速设计,不能按"恒定 1200 RPM"写死。
参考信息
主要来源(官方文档,2026-09-21 抓取快照):
· 文档索引(docs.typesafe.ai/llms.txt);Introduction(/introduction)
· System One 概念(/concepts/system-one);State(/concepts/state)
· 原语:/primitives(Choice / Score / Noul / Advanced)
· Confidence(/confidence);Models(价格/限额/语言支持/数据合规,/models)
· 构建指南(/concepts/how-to-build-with-system-one);用例地图(/concepts/use-case-map)
· 模式:/patterns(Speculative Fan-Out / Confidence-Gated Routing / Composite Scoring / Intent Routing)
· 引用 Cookbook:classification_using_confidence、citation_check、llm_guardrails、skill_suggestion、hierarchical_classification、autoresearch_feature_discovery、pre_parsed_value_extraction
AI4Science 组合设计与建议(非官方原文):
· 第 8–11 节四条 AI4Science 管线是基于官方 patterns、cookbooks 和 use-case map 的组合设计,已标明对应官方模式;PICOS 拆分方式、rubric 维度和日志规范属于本站建议,不是 TypeSafe 官方背书。
· 第 6 节"判断层架构图"、与 ToolUniverse/本体护栏的关联分析为本站观点,参考本站 agentic_ontologies_ai4science_trend.html。
· 价格、限额、上下文窗口均为 2026-09-21 快照值,官方声明限额会动态调整,采用前请核对 docs.typesafe.ai/models 当前页。
· System One 命名引自 Kahneman《Thinking, Fast and Slow》的 System 1/System 2 概念(官方文档说明)。