目录

12G 本地推理生产线 ⑦ 接入 Hermes 的零成本推理架构:本地主力 + 云端兜底

providers.llama-cpp 完整接线、默认云端 + 五级 fallback 双层设计、max_tokens 与 thinking 预算互锁的隐蔽坑

12G 本地推理生产线 ⑦ 接入 Hermes 的零成本推理架构:本地主力 + 云端兜底

架构:两层,各自独立活着

默认(不切模型):  云端 agnes-3.0-flash(免费层)
                  fallback 链: LongCat → Agnes → ZAI → SenseNova → free-ride
显式切本地:        providers.llama-cpp → http://127.0.0.1:8080/v1
                  (本地 Strata,12G 卡 + 128K 窗口)

设计要点:本地不是抢占默认,而是显式选用。本地服务挂了,云端默认路径不受任何影响;云端限流/故障,fallback 链逐级降级;需要长窗口 + 零成本时,一条指令切本地。两条腿,没有单点。

接线(~/.hermes/config.yaml)

providers:
  llama-cpp:
    name: llama
    base_url: http://127.0.0.1:8080/v1     # 本地 Strata 的 OpenAI 兼容端点
    model: qwen3.8-flash-next-sc117-iq3_s  # 主线模型(第 5 篇定档)
    discover_models: true                  # 自动注册 /v1/models 下全部模型
    key_env: HERMES_CUSTOM_LLAMA_CPP_API_KEY

discover_models 一条把同端点上挂的所有模型(原版 / SC117 两个量化档 / 其他 GGUF)全注册进候选,切模型只改 model 名,不用改 URL。

实测(Hermes 会话真实跑在本地)

环节数据
30,291-token 大 prompt 读入52 s(≈0.58 tok/ms,无降速警告)
thinking 阶段52–55 tok/s
工具调用(terminal)58.7–62.1 tok/s(短输出 + 高命中)
正式回答1,717 tokens @ 45.5 tok/s,自然 stop
8K 长生成43.1 tok/s
expert cache 命中18.5–47%(prompt 越大命中越低,正常)

agent 全链路(问答 + 工具调用 + 长文)跑通,推理边际成本 = 电费。

隐蔽坑:max_tokens 与 thinking 预算互锁

日志里抓到一次"异常":

[strata] thinking capped at 1 of max_tokens 1 to leave room for the answer (budget 2048)
[strata] the reply reached max tokens while still thinking, so it has no answer

机制:引擎的 thinking 预算(2048)与请求的 max_tokens 共享同一上限。max_tokens=1 的探测类调用(Agent 框架的连通性/count_tokens 检查会发这种)撞上边界 → 返回"只有思考、没有正文"。

定性:设计行为,不是 bug。处理分两种:① 探测调用不依赖正文,不用管;② 业务请求若误设小 max_tokens(< thinking 预算 + 预期答案长度),会把"只有思考没有答案"当故障排——规避 = max_tokens 提到预算之上,或该请求单独压小 thinking 预算。

免费兜底层的真实体验

agnes 3.0 flash 免费层日常很好用(默认档),偶发多模态看图错误。处置:不为它单独改配置——图片任务本来就走本地生图管线(决策链:ComfyUI 本地实例在跑且是用户启动的 → 必须本地;抢不到显存 → 降级 agnes-image;再失败 → step-image)。免费层的小毛病,管线吸收掉就完了。

唯一要人工盯的纪律

本地服务重启前 nvidia-smi 零检查:桌面基线 ≈ 2.3–2.4G,4070 空闲 ≥ 11G 才算干净;停旧引擎等几秒释放再启。脏启动的典型症状(expert cache 955 → 146 → 0 slots 拒启)不是配置问题,是环境没清(详见第 3 篇)。

结语

本地主力 + 免费兜底接完之后,agent 日常推理成本 ≈ 0。对一人公司意味着:内容生产(写作)与 agent 编排(排障、运维、工作流)两条线,从此没有"按 token 付费"这一项——这条生产线既是工具,也是现金流结构的一部分。

下一篇(第 ⑧ 篇·收官):怎么让这套系统的知识不随会话蒸发。