决策教程
概览
最新决策教程与 config/decision/ 下的布尔形态目录一致。
信号说明路由器检测到了什么;决策说明路由器据此做什么:
- 哪条路由命中
- 候选模型有哪些
- 是否启用推理
- 路由选定后运行哪些插件
主要优势
- 多个信号协作时仍能保持路由策略可读。
- 布尔逻辑显式、可review。
- 将路由匹配与部署绑定、算法、插件解耦。
- 直接映射到
config/decision/下可复用的片段目录。
解决什么问题?
没有决策层时,信号输出无法告诉路由器如何反应。团队容易把路由逻辑散落在临时 if、模型默认和插件 wiring 里。
决策层把命名信号变成清晰的路由策略,带稳定优先级与候选模型。
何时使用
在以下情况使用 decision/:
- 一条路由应由一个或多个信号激活
- 同一模型策略要在多种信号组合下复用
- 路由优先级重要
- 插件或算法应挂在已匹配的路由上,而不是整台路由器
配置
在 v0.3 中,决策位于 routing.decisions:
routing:
decisions:
- name: business_route
priority: 110
rules:
operator: AND
conditions:
- type: domain
name: business
modelRefs:
- model: qwen2.5:3b
use_reasoning: false
决策匹配与以下部分保持分离:
providers.models[]:部署绑定decision.algorithm:在多个候选模型间选择decision.plugins:匹配路由后的后处理
按下方形态目录顺序,与片段树一致:
| 决策形态 | 片段示例 | 适用场景 | 教程 |
|---|---|---|---|
single | config/decision/single/domain-business.yaml | 单一决定性信号 | 单条件 |
and | config/decision/and/urgent-business.yaml | 多个信号必须同时满足 | AND 决策 |
or | config/decision/or/business-or-law.yaml | 多种等价触发共用一路由 | OR 决策 |
not | config/decision/not/exclude-jailbreak.yaml | 显式排除或安全门控 | NOT 决策 |
composite | config/decision/composite/priority-safe-escalation.yaml | 嵌套的真实策略 | 组合决策 |