WayToClawEarn
中等影响Hugging Face 博客

llama.cpp 原生支持决策模型:5 款开源 GGUF 上线,Agent 路由怎么降本?

llama.cpp 通过 PR #29818 新增 /v1/systemone 端点,原生支持 TypeSafe Jev 风格决策模型:不生成文本,一次前向传播返回选项概率。首批 5 款开源 GGUF 模型覆盖 144M 到 27B,最小模型响应仅 3ms,Apache 2.0 许可证可商用,支持 choice/score/noul 三种问题类型。

Edisen Lu · WayToClawEarn来源 Hugging Face 博客发布 2026年10月4日

基于公开来源复核 · AI 辅助整理,编辑把关。 内容方法 · 原始来源

公开来源汇编

综合公开帖文/文档整理。一手主张请优先核对原始来源。

我们如何审核内容 · 一手来源 · Hugging Face 博客

核心结论

2026 年 10 月 2 日,llama.cpp 通过 PR #29818 正式支持决策模型(Decision Models)。新增 /v1/systemone 端点兼容 TypeSafe Jev 的 System One 格式,使现有 Jev 客户端只需更换 base URL 即可迁移。首批 5 款开源 GGUF 模型同步上线,覆盖 144M 到 27B 参数范围,最小模型响应仅 3ms。这是决策模型从云端 API 走向本地推理的关键一步。

什么是决策模型

决策模型不生成文本。传统聊天模型每个输出 Token 需要一次前向传播,输出仍需解析;决策模型只读一次输入,直接返回你给的选项中每个选项的概率。

典型用途:

  • 路由:将客户请求分发给正确的团队或工具
  • 审核:判断内容是否违规
  • 验证:检查 Agent 的某个步骤是否成功
  • 决策:选择 Agent 的下一个动作

这意味着决策模型的核心优势是确定性输出和极低延迟——不需要解析 LLM 的自然语言回复,不会出现格式错误,每次调用都返回结构化的概率分布。

五款开源模型

llama.cpp 首批支持 5 款决策模型 GGUF:

模型参数量基座模型语言图片支持许可证响应速度*
Julia-1144MmmBERT-small50+ 语言否Apache 2.03 ms
Laya421MModernBERT-large英语否Apache 2.05 ms
Kev-4B4BQwen3.5-4B-Base英语否Apache 2.012 ms
lev4BQwen3.5-4B英语否Apache 2.036 ms
OpenJev27BQwen3.8-27B英/德/法/印/中/日是CC BY-NC 4.043 ms

*单 NVIDIA RTX PRO 6000 上回答一个问题的中位时间。

注意事项:

  • Julia-1 和 Laya 是纯编码器模型(mmBERT/ModernBERT),不生成 Token,速度极快
  • Kev-4B 和 lev 都基于 Qwen3.5-4B 但训练方式不同,lev 支持推理链
  • OpenJev 是唯一支持多语言和图片输入的模型,但 CC BY-NC 4.0 许可证限制商用
  • 除 OpenJev 外,其余 4 款均为 Apache 2.0 许可证,可自由商用

三种问题类型

/v1/systemone 端点支持三种问题类型:

choice(选择题):提供选项及可选描述,返回每个选项的概率和最高概率选项。

score(评分题):提供 2-10 个级别(从低到高),返回预期级别(可为小数,落在两个级别之间)。

noul(是非题):提供是/否问题,返回"是"的概率值。

快速上手

启动服务:

terminal
llama serve -hf ggml-org/Kev-4B-GGUF

发送请求(同时问三个问题):

terminal
curl http://localhost:8080/v1/systemone \
  -H "Content-Type: application/json" \
  -d '{
    "state": "Customer message: I was charged twice for my order last week and nobody has replied.",
    "questions": {
      "route": {
        "type": "choice",
        "instructions": "Which team should handle this?",
        "criteria": {
          "billing": "payments, charges, refunds, invoices",
          "shipping": "delivery, tracking, lost or late parcels",
          "technical": "bugs, errors, login problems"
        }
      },
      "angry": {
        "type": "noul",
        "instructions": "Is the customer angry?"
      },
      "urgency": {
        "type": "score",
        "instructions": "How urgent is this?",
        "criteria": ["can wait", "this week", "today", "right now"]
      }
    }
  }'

返回结果:

json
{
  "model": "ggml-org/Kev-4B-GGUF",
  "answers": {
    "route": {
      "type": "choice",
      "choice": "billing",
      "probabilities": {"billing": 0.9049, "shipping": 0.0275, "technical": 0.0676},
      "confidence": 0.8574
    },
    "angry": {
      "type": "noul",
      "noul": 0.8208
    },
    "urgency": {
      "type": "score",
      "score": 2.2821,
      "legend": {"0": "can wait", "1": "this week", "2": "today", "3": "right now"},
      "probabilities": {"0": 0.036, "1": 0.1937, "2": 0.2225, "3": 0.5478},
      "confidence": 0.2821
    }
  },
  "usage": {"input_tokens": 130, "output_tokens": 0}
}

注意 output_tokens: 0——决策模型不生成任何 Token,只做一次前向传播评分。

图片输入

OpenJev(27B)支持图片输入,适用于文档分类、截图审核等场景:

python
import base64, requests

with open("document.png", "rb") as f:
    image = "data:image/png;base64," + base64.b64encode(f.read()).decode()

response = requests.post("http://localhost:8080/v1/systemone", json={
    "state": "A file uploaded by a customer.",
    "images": [image],
    "questions": {
        "kind": {
            "type": "choice",
            "instructions": "What kind of document is this?",
            "criteria": {"invoice": None, "receipt": None, "contract": None, "other": None},
        },
    },
})
print(response.json()["answers"]["kind"]["choice"])  # invoice

视觉投影器会自动下载,无需额外配置。

多模型单服务器

在路由模式下,模型按需加载,每个请求指定模型:

terminal
llama serve
curl http://localhost:8080/v1/systemone \
  -H "Content-Type: application/json" \
  -d '{"model": "ggml-org/Julia-1-GGUF:Q8_0", "state": "...", "questions": {...}}'

/v1/models 列出所有可用模型 ID。单模型加载时 model 字段可忽略。

使用建议

试不同大小的模型。 小模型快但知识少,大模型更准但更慢。HF Decision Index 提供了各模型的对比。

描述你的选项。 Julia-1 在只有裸标签时将"I was charged twice"路由到 shipping,但给每个选项加上描述后正确路由到 billing(0.99 概率)。

按模型设定置信度阈值。 常见模式是对高置信度结果直接执行,低置信度转人工。但阈值因模型而异:同一个模糊工单"Hi, quick question about my account",Julia-1 给 0.25 置信度,Kev-4B 给 0.80。先在自己的数据上测试再定阈值。

批量提问。 多个问题会被独立回答,Kev-4B、lev 和 OpenJev 只处理一次状态输入。

尝试不同量化。 与所有 GGUF 一样,这些模型有多种精度可选,如 ggml-org/Kev-4B-GGUF:Q8_0。

与决策模型生态的关系

llama.cpp 的这次更新把决策模型从云端 API 拉到了本地推理层面。此前决策模型生态是:

  • TypeSafe Jev(9月25日):首个决策模型,云端 API
  • OpenAI Jev 克隆(9月30日):大厂跟进
  • AWS Strands Decider 2B(10月1日):开源 2B 决策模型,本地可跑但需要 Python 环境
  • Cloudflare Clef(10月1日):开源 27B/9B 决策模型,Workers AI 托管
  • llama.cpp 支持(10月2日):统一本地推理框架

现在开发者可以在 llama.cpp 中统一运行所有符合 System One 格式的决策模型,不再需要为每个模型单独搭建推理环境。Hugging Face 博客明确表示"Cloudflare's Clef is next",后续会有更多模型加入。

对开发者的实际价值

对于构建 Agent 系统的团队,决策模型提供了一种成本极低的路由/验证/审核方案:

  • 成本对比:Kev-4B 在本地 GPU 上 12ms 响应,零 API 调用成本;同等路由任务用 GPT-6 Sol 需要约 $0.72/任务
  • 延迟对比:3-43ms vs LLM 调用通常 500-3000ms
  • 确定性:结构化概率输出,无需解析自然语言,不会格式错误
  • 隐私:完全本地运行,数据不出域

适用场景:客服路由、内容审核、Agent 步骤验证、工具选择、紧急度评估——任何需要在有限选项中做选择的环节。

模型集合地址:https://huggingface.co/collections/ggml-org/decision-models-6abf80cca3c83f127060a769

PR 链接:https://github.com/ggml-org/llama.cpp/pull/29818

llama.cpp决策模型JevGGUF开源Agent路由Apache-2.0本地推理

查看原文 →

仅供学习参考:案例基于公开来源整理,并可能经 AI 辅助起草、由编辑复核。不构成投资或收益建议,亦不保证结果。
llama.cpp 决策模型支持:/v1/systemone 端点、5 款 GGUF、使用教程 · WayToClawEarn