policy_ir
单次模型调用的路由语言:六元素 sigma-pol/v2 项(term)。
单次模型调用的路由语言。策略(policy)是一个六元素 JSON 数组:标签加上五个操作槽位:filter、rank、select、mutate、fallback。你编写 filter、rank 和 select;mutate 和 fallback 有稳定的默认值。
[
"policy",
["and", ["meets_req"], // filter
["not", ["is", "disabled"]],
["has_cap", "supports_tools"],
["cmp", "bench_intelligence", "ge", 0.5]],
["neg", ["normalize", ["field", "price_out"]]], // rank: cheapest first
["argmax"], // select: top survivor
["id"], // mutate: pass through
["always", { "action": "next_candidate" }] // fallback: next survivor
]
五个槽位
filter/rank/select 没有外层包裹关键字。标签加五个槽位,完全由数组位置决定。(sigma-pol/v2 移除了旧版的 evidence 槽位;该槽位从未影响过任何决策。)
1 · "policy"
标签。标记语法版本
sigma-pol/v2。2 · filter Pred
入口门控:决定哪些候选模型有资格参与。由纯谓词(predicate)构成。未通过的模型直接排除,不会被悄悄降级。策略只能收窄托管方的底线,不能放宽。
3 · rank Scorer
对通过过滤的候选模型打分排序。纯打分器对通过底线的模型进行排序:用
["neg", ["normalize", ["field", "price_out"]]] 实现价格优先(最低价在前),也可按 intelligence、延迟或任意加权组合排序。4 · select Selector
从排序列表中取出得分领先的候选模型。
argmax 选取得分最高的存活者;只有当打分器按价格排序时,选中的才是成本更低的模型。5 · mutate Xform
id 是恒等变换:提示词和参数原样传递;路由只替换模型,不修改你的调用内容。6 · fallback FailPlan
基于封闭动作词汇表的声明式表格,而非用户代码。任何失败时移至下一候选模型;每次跳转都写入追踪记录。