01 / ARCHITECTURE

先把生成、判断和执行分层

通用大模型擅长规划、解释、生成与跨步骤推理,但 Agent 内部还有大量更窄的问题:该调用哪个工具、搜索结果是否相关、风险落在哪个等级、是否需要人工介入。这些问题的共同点不是“简单”,而是输出空间可以提前定义

Jev 的工程意义不在于返回 JSON。结构化输出同样可以返回 JSON。区别在于 Jev 从接口层就把任务限定为 Choice、Score 或 Noul,使系统拿到的是概率决策,而不是需要再次解释的文本。

01慢思考层规划、解释、生成GPT · Claude · Gemini
02快判断层路由、筛选、评分、门禁Jev · Jev-like
03确定性层权限、副作用、回滚普通代码
04兜底层高风险与低置信度人工 · 更强模型
02 / TASK FIT

什么任务值得拆成快判断

一个任务是否适合 Jev,可以先看四个条件:选项能否枚举、调用是否高频、错误是否能够回退、是否需要语义理解但不需要长篇解释。满足得越多,越适合从生成链路中拆出。

适合快判断层
  • 工具路由与动作选择
  • 相关性、质量与风险评分
  • 内容保留、权限请求与人工门禁
留给生成模型
  • 写作、解释与开放式创作
  • 跨文件、多步骤复杂规划
  • 答案无法事先定义的探索
Jev 最适合的位置,不是 Agent 的大脑,而是 Agent 的反射神经。
03 / CASE STUDY

案例:上下文压缩不是摘要

Coding Agent 的上下文通常不是被用户消息撑满,而是被文件内容、搜索结果、命令日志和目录树撑满。传统摘要虽然节省 token,却可能把文件路径、错误码、栈位置和命令参数改写成“意思差不多”的文字。

fast-jev-compaction 选择另一条路线:用户与助手文本保持原样,只对成对的工具调用和工具结果做保留决策。重要内容完整保留,次要结果截断,无关调用整体删除。

fast-jev-compaction 从触发、状态构造、Jev 判断到安全回退的完整架构图
架构图:不生成摘要,只判断工具历史是否继续保留。点击可查看原图。
04 / PIPELINE

从历史消息到三种压缩动作

  1. 01
    collectToolCalls

    按 tool_use_id 配对调用与结果,固定首条消息和最近消息。

  2. 02
    fitState

    只构造判断所需状态,不把全部工具结果再次送入模型。

  3. 03
    batchCalls

    预算不足时分批生成问题,并行请求 Jev。

  4. 04
    decideCall

    把两个概率合并成 keep、drop_result 或 drop_call。

把复合问题拆成两个 Noul

questions = {
  call_t3: {
    type: 'noul',
    instructions: 'Is knowing this tool call still useful?'
  },
  result_t3: {
    type: 'noul',
    instructions: 'Must the full result remain available?'
  }
}
keepResult ≥ threshold完整保留

调用与结果都保持原文。

keepCall ≥ threshold截断结果

保留调用,结果只留提示。

两者都低成对删除

避免孤立调用或孤立结果。

05 / STATE BUDGET

状态预算与逐级降级

状态超出预算时,不应直接随机删消息。更稳妥的顺序是先缩短输入,再折叠旧文本,最后才省略旧消息与合并旧调用。每一级降级都应该留下可观测指标。

01full

工具输入最多 1000 字符

02inputs ≤ 200 / 60

逐级压缩工具参数

03texts abridged

长文本保留头尾

04old messages collapsed

旧消息折成省略说明

05old calls merged

最后才合并连续旧调用

06 / OPERATIONS

阈值、回退与上线策略

文章里的 0.5、0.8 等阈值只能用于解释流程,不能直接成为生产默认值。置信度不是安全证明,阈值必须结合自己的标注样本、误判成本和动作可逆性校准。

L1只读动作

搜索、分类、重排,可在验证后自动化。

L2可逆动作

截断上下文、创建临时记录;不确定时保守保留。

L3不可逆动作

删除、扣款、关闭权限,不应由 Jev 单独决定。

  • 先在 shadow mode 中记录判断,不改变真实行为。
  • 按概率区间统计实际正确率,而不是只看平均值。
  • 请求失败、格式异常或收益不足时回退到原流程。
  • 记录模型版本、问题版本、阈值、动作和人工覆盖。
07 / TRADE-OFFS

Jev、结构化输出还是分类器

LLM + JSON Schema

适合低频、复杂、需要解释的判断;代价是完整生成链路。

Tool calling

适合 Agent 主流程动作,但选择仍由生成模型完成。

传统分类器

适合稳定标签与大量训练数据,便宜且可本地部署。

Jev

适合高频、封闭、需要语义泛化且可回退的局部判断。

类型安全意味着模型不会返回约定之外的形状,不意味着它不会选错。

08 / TAKEAWAY

沉淀为可复用的 Agent 模式

fast-jev-compaction 的价值不只是一种压缩算法,而是示范了稳定的决策协议:对象先结构化,判断拆成原子问题,概率由代码组合,副作用由确定性策略掌控,失败时能完整回退。

生成负责表达判断负责分流代码负责执行

这套模式同样适用于工具路由、内容审核、搜索重排、权限请求和质量门禁。真正值得复用的不是某个演示阈值,而是“模型可替换、决策协议稳定”的边界。