Agent Token Routing: 本地匹配、缓存与模型分层
问题 聊天类 Agent 里,不少问答是相对固定的模式:营业时间、退款入口、帮助说明、菜单选项等。若一律调用大模型,既费 token,又容易把标准话术写飘。 常见做法有两种: 正则或规则匹配用户输入,命中则返回固定回答 在模型前加缓存,对特定提示词返回已有内容 这两层有用,但不够。省 token 的核心不是「再找一种缓存技巧」,而是做分层路由:能确定性处理的绝不进模型。 分层路由 用户输入 → L0 本地确定性匹配(规则 / FAQ / 按钮 / 命令) → L1 轻量意图分类(小模型 / embedding / 关键词) → L2 提示词 / 响应缓存(相同或近似请求) → L3 完整 LLM(复杂推理、开放对话、工具编排) 每一层命中就短路返回;只有前面都 miss 才往下走。 层 手段 适用场景 省什么 L0 本地匹配 正则、精确字符串、按钮 payload、slash 命令、状态机固定选项 话术固定、歧义低、可穷举 零 LLM 成本 L1 轻量分类 小分类模型、embedding 相似度、关键词 + 规则 说法多变但意图有限 用便宜模型代替大模型 L2 缓存 精确 cache key、semantic cache、prompt prefix cache 输入或 system prompt 重复率高 省重复推理 L3 LLM 完整对话 / function calling 开放问答、多步推理、需工具、强个性化 正确性优先 L0:本地匹配 适合: ...