找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖
Claude、GPT 海外模型 API 接入Claude skills 从入门到精通 吴恩达亲授 AI Agent 核心技能2026 瞪哥公务员考试全攻略 行测申论一站式系统备考
Agent 文心智能蒸馏模型实战 90G 课程智泊 AI 大模型训练营 基于 LangChain 的 RAG 与提示工程实战构建企业级 AI 大脑:大模型微调与 RAG / Agent 全栈实战

4719

积分

0

好友

609

主题
发表于 1 小时前 | 查看: 3| 回复: 0

TypeSafe 最近放出的 Jev,让我重新打量起 Agent 系统里一类再普通不过的事——判断。

一段材料是否相关、一个动作有没有偏离任务、两次搜索是否只是在换一种说法。这些场景都需要理解语义,却未必需要生成一段解释,更不需要完整的推理链条。

Jev 正是为这类任务而生的模型。想理解它的价值,得先看看它和熟悉的生成式 LLM 到底差在哪里。

Jev 把"判断"直接做成了软件接口。

生成式 LLM 的基础工作方式是逐个生成 token。它既能分析问题、编写代码,也能通过结构化输出约束结果。既然现在 LLM 已经能按 JSON Schema 返回数据,Jev 的差异就不能简单概括成"终于可以稳定输出 JSON"了。

TypeSafe 在官方文档里介绍了另一条后训练路线:RLCD(Reinforcement Learning for Calibrated Decisions,面向校准决策的强化学习)。这条路线把决策及其概率校准直接作为训练目标。Jev 接收状态和问题,直接返回带类型的判断与概率,不产出回答、代码或推理解释。官方把这类模型称为 System One。

它提供三个基本接口:

接口 适合的问题 输出含义
Choice 这段材料属于哪一类? 一个选项,以及各选项的概率
Score 按明确标准,这段材料有多大价值? 各等级的概率,以及等级编号的加权平均
Noul 需要回答是或者否 "是"的概率

Choice 和 Score 还会返回 confidence,而 Noul 没有独立的 confidence 字段。

这里有两个容易混淆的地方。Score 是相对于你定义等级打出的分数,Noul 则代表某个命题成立的概率。noul = 0.8 不能理解成"完成了 80%"。同样,confidence 是根据概率分布形状计算出来的指标,也不要直接读成"正确率"。

概率校准关心的是:在足够多且可比较的预测里,那些被赋予 80% 概率的事件,实际发生比例是否真的接近 80%。它既不保证某一次判断正确,更不保证换到你的业务数据之后依然成立。

这比让模型在回答末尾写一句"我有 80% 信心"可靠得多,也更适合系统调用,但依然绕不开业务层面的评估。

Jev 的另一个特点是,同一份 state 可以同时回答多个问题。各问题独立评估,前一个回答不会成为后一个问题的隐藏上下文。官方称,增加问题对响应时间的影响很小,不过输入 token 仍会随之增加。

截至 2026 年 9 月 20 日,官方列出的价格是每百万输入 token 0.042 美元,输出免费;文档称多数查询约 100 毫秒完成。当然,这些都是官方口径,真实系统里还得算上网络、排队和重试带来的延迟。

由此可以推导出最适合它的任务形态:输入已经准备好,问题足够具体,答案范围可以预先定义,而且这类判断会被反复调用。

典型场景包括分类、候选项匹配、语义去重和按标准评分。至于复杂诊断、跨文件推理、生成修复方案,仍然得靠生成式模型;计数、日期比较和预算计算,则直接交给代码处理。官方也明确列出了 Jev 在数值精度、多跳关系和无关长上下文上的短板。

把这种任务形态放进 Harness,位置就变得非常清晰了。

Harness 是模型外围负责状态、工具调用、权限、预算和执行反馈的运行系统。其中有些判断可以靠精确计算完成,有些则必须理解内容本身。

比如"已经执行了五次"可以直接计数,但"这五次其实都在调查同一个方向"就需要语义判断了。后者正是 Jev 的候选职责。

Harness 中的位置 Jev 可以提供的信号 代码继续负责的事情
工具或 Skill 路由 当前任务与候选能力是否匹配 过滤不可用能力,检查权限,执行调用
Context 选择 材料是否相关、重复,是否直接支持某个判断 来源验证、原始记录、上下文预算
循环监测 新计划是否重复已有方向 次数、时间和费用上限,暂停与恢复
结果复核 某个具体结论是否得到给定材料支持 测试结果、版本一致性、成功条件

以上都是基于模型特性的架构建议。至于值不值得替换现有规则或模型,还得逐项验证。

以 Diagnose Agent 为例。它拿到一条新的 Observation 后,需要决定这条材料是否值得进入下一轮分析。如果把每条搜索结果都塞进上下文,后续模型就得不断重新处理重复信息。

调用之前,Harness 先检查剩余预算,并确认材料的来源和版本。随后 Jev 回答两个局部问题:它和当前假设是什么关系,以及它是否重复了已知材料。

下面是基于官方 Python SDK 的设计示例,展示的是接入位置,并不代表已经在我的系统里完成部署。

from typesafe_sdk import Choice, Noul

QUESTIONS = {
    ”relation”: Choice(
        instructions=”How does `candidate` relate to `hypothesis`?”,
        criteria={
            ”supports”: ”Explicit content directly supports the hypothesis.”,
            ”refutes”: ”Explicit content directly contradicts the hypothesis.”,
            ”unrelated”: ”Content does not bear on the hypothesis.”,
            ”unclear”: ”The relation cannot be determined from this state.”,
        },
    ),
    ”duplicate”: Noul(
        instructions=(
            ”Does `candidate` repeat information in `known_observations` ”
            ”without adding a new fact?”
        ),
    ),
}

state 只需要包含 hypothesis、当前的 candidate 和少量相关的 known_observations。比如说,假设是"连接池耗尽导致请求失败",候选材料是一条等待数据库连接超时的日志。它可能支持这个调查方向,但单凭一条日志还不能证明根因。

两个问题可以在一次请求里完成:

from typesafe_sdk import RetryPolicy, TypeSafeClient, TypeSafeError

def judge_candidate(client: TypeSafeClient, state: dict):
    try:
        return client.system_one(
            model=”jev-1.13.0”,
            state=state,
            questions=QUESTIONS,
            timeout=1.0,
            retry=RetryPolicy(max_retries=0),
        ).answers
    except TypeSafeError:
        return None

这里固定了模型版本,避免别名更新之后判断行为悄悄发生变化。请求失败时返回"没有判断",由后续流程接管。示例中的超时是 HTTP 操作超时;整个诊断步骤的截止时间仍要由 Harness 管理。

接下来,由代码解释这些信号:

def next_step(answers, *, budget_left: int) -> str:
    if budget_left <= 0:
        return ”pause”
    if answers is None:
        return ”review”
    relation = answers[”relation”]
    duplicate = answers[”duplicate”].noul
    if relation.choice == ”unclear” or relation.confidence < 0.8:
        return ”review”
    if 0.2 < duplicate < 0.8:
        return ”review”
    if duplicate >= 0.8 or relation.choice == ”unrelated”:
        return ”collect_elsewhere”
    return ”queue_for_verification”

阈值只是展示控制逻辑,不能直接当成生产配置。review 可以进入更强模型或人工复核;支持和反驳假设的材料都会进入验证队列。原始材料继续保存,筛选只影响后续处理顺序。

这个接口没有 succeeded。Jev 判断某条材料支持假设,只能说明它值得继续验证。根因是否成立,仍要检查证据链和必要的复现结果。

还要注意,同一请求中的问题独立评估,不代表这些事件在统计上相互独立。不能把"支持概率"和"不重复概率"直接相乘,就当成了最终诊断可信度。

类似地,Jev 可以为工具调用提供风险提示,但权限仍需由代码强制执行。官方明确说明,对抗性内容可能影响它的判断。不生成文本,并不意味着不会受到输入内容的误导。

接入时,我会先让它旁路运行:记录判断,保持原流程不变,再用真实样本评估。证据筛选要看关键反证的漏筛率;循环监测要看是否误停了仍有进展的任务;路由要看错误选择带来的后续成本。同时记录模型版本、问题版本和阈值,才能解释行为为什么变化。

比较对象应该包括现有规则和 LLM 方案。最终要看任务成功率与每次成功任务的总成本:一次便宜的判断,如果引发三轮无效搜索,未必真的省钱。

对中文日志和中英混合材料,还要单独测试。官方说明目前英语表现最好,其他语言不能直接沿用英语评估结果。

我认为 Jev 值得关注的地方,在于它让我们可以更细地拆分 Agent 系统中的认知工作:生成式模型负责探索和解释,Jev 承担边界明确的语义判断,代码则把这些判断组合进受约束的流程。

这也会改变 Harness 的设计重点。每一个需要理解语义的分支,都可以被单独定义、记录和评估。哪些值得自动处理,哪些必须补充信息,哪些需要升级,不再全部藏在一次模型调用里。

判断变便宜以后,工程师更需要把判定条件、错误代价和验证方式定义清楚。它们决定了这些判断最终能承担多大的责任。在云栈社区的技术讨论中,这类模型与 Harness 的集成实践也值得持续关注。




上一篇:一线研究员闭门讨论:蒸馏变难后,RSI与数据成新焦点
下一篇:数据库设计避坑:10种弊大于利的常见实践与替代方案
您需要登录后才可以回帖 登录 | 立即注册

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

GMT+8, 2026-9-23 01:40 , Processed in 0.481103 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

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