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_KEYdiscover_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 付费"这一项——这条生产线既是工具,也是现金流结构的一部分。
下一篇(第 ⑧ 篇·收官):怎么让这套系统的知识不随会话蒸发。
梦行志