unhardcoded
开源 · AI 模型的策略路由层

构建 AI 系统,无需硬编码模型选择。

每次请求附带一条策略。unhardcoded 过滤实时模型目录,选出满足规则的成本最低的候选模型,通过你的提供商密钥运行,并返回决策追踪记录。

request
Prompt + policy
tools · intel ge 0.5 · cheapest
candidateprice_outintelverdict
deepseek-v4-flash$0.400.465未达下限
minimax-m2.7$0.500.496未达下限
deepseek-v4-pro$1.500.515胜出
glm-5.1$2.000.514通过
gpt-5.5$10.000.602通过
trace
deepseek-v4-pro
cheapest passing · 412 ms
fp 301140696-1054914287
核心模型

模型路由循环

一条策略决定一次调用。相同输入、相同目录、相同决策。每次如此,且有书面记录。

Request
你的调用到达兼容 OpenAI 的端点,携带一条策略。
Policy sigma-pol/v2
一个小型项(term):filter、rank、select、mutate、fallback。
Catalog
包含价格、基准分数和能力的(提供商、模型)候选模型实时集合。
Filter
剔除不满足规则的候选模型,不存在静默降级。
Rank
对通过筛选的候选模型评分:按价格、能力或速度排序,由你决定。
Select
取排名靠前的模型,或使用 top_k 回退级联。
Run
通过你的提供商密钥运行推理,出错时自动回退。
Trace
记录所有候选模型、胜出者及指纹(fingerprint)的凭证。

深入了解策略工作原理 →

组合路由调用

工作流模式

工作流是由路由步骤组成的有界无环图。每个节点携带自己的策略并独立路由;整个图生成一条统一的追踪记录。这正是 unhardcoded 从"带规则的路由"演变为一个完整系统的地方。

完整工作流指南:节点类型、图限制、模板 →

发送初始请求

快速入门

unhardcoded 兼容 OpenAI 接口。相比普通调用,仅需三处改动。

  1. 将 SDK 指向托管地址。
    修改 baseURL;SDK 的其余部分保持不变。
    client.ts
    const client = new OpenAI({
      baseURL: "https://<your-host>/v1",
      apiKey: process.env.UNHARDCODED_KEY,
    });
  2. 在调用中附加策略。
    在后端构建 policy_ir,与 messages 一起发送。路由来自策略,因此 model 只是追踪记录标签。
    route.ts
    const res = await client.chat.completions.create({
      model: "policy:support",
      policy_ir: ["policy",
        ["and", ["meets_req"], ["not", ["is", "disabled"]],
               ["cmp", "bench_intelligence", "ge", 0.5]],   // filter
        ["neg", ["normalize", ["field", "price_out"]]],          // rank: cheapest
        ["argmax"], ["id"], ["always", {"action": "next_candidate"}]],
      messages,
    });
  3. 读取追踪记录。
    响应中包含决策内容:所选模型、经过排序和拒绝的候选模型,以及策略指纹(fingerprint)。
    response · trace (illustrative)
    {
      "chosen": { "model_family": "deepseek-v4-pro", "price_out": 1.5 },
      "trace": {
        "policy_fingerprint": "301140696-1054914287",
        "rejected": [{ "model_family": "deepseek-v4-flash", "reason": "cmp bench_intelligence ge 0.5" }],
        "total_latency_ms": 425
      }
    }

完整快速入门:认证、演练运行、可运行示例 →

复制一个起点

策略预设

以卡片形式呈现的常用路由模式。阅读规则,复制策略,调整下限和上限。

低成本适当质量
在不低于质量下限的前提下降低成本。
filtertools-met · bench_intelligence ge 0.5
rankcheapest price_out
fallback下一个通过的候选模型
查看 JSON
cheapest-decent.json
["policy", ["and", ["meets_req"], ["not", ["is", "disabled"]],
         ["cmp", "bench_intelligence", "ge", 0.5]],
  ["neg", ["normalize", ["field", "price_out"]]],
  ["argmax"], ["id"], ["always", {"action": "next_candidate"}]]
智能均衡
无强烈偏好:综合权衡能力与价格。
filtertools-met · not disabled
rank0.6 intelligence + 0.4 cheap
fallback下一个通过的候选模型
查看 JSON
smart-balance.json
["policy", ["and", ["meets_req"], ["not", ["is", "disabled"]]],
  ["add",
    ["scale", 0.6, ["normalize", ["field", "bench_intelligence"]]],
    ["scale", 0.4, ["neg", ["normalize", ["field", "price_out"]]]]],
  ["argmax"], ["id"], ["always", {"action": "next_candidate"}]]
优先智能能力
关键任务,无成本上限:选择能力更胜一筹的模型。
filtertools-met · not disabled
rankhighest bench_intelligence
fallback下一个通过的候选模型
查看 JSON
best-intelligence.json
["policy", ["and", ["meets_req"], ["not", ["is", "disabled"]]],
  ["field", "bench_intelligence"],
  ["argmax"], ["id"], ["always", {"action": "next_candidate"}]]
仅限推理模型
任务需要具备推理能力的模型。
filter+ is cap_reasoning
rankhighest intelligence
fallback下一个通过的候选模型
查看 JSON
reasoning-only.json
["policy", ["and", ["meets_req"], ["not", ["is", "disabled"]], ["is", "cap_reasoning"]],
  ["field", "bench_intelligence"],
  ["argmax"], ["id"], ["always", {"action": "next_candidate"}]]
视觉 · 低成本
图像输入:能够处理图像的成本最低模型。
filter+ is in_image
rankcheapest price_out
fallback下一个通过的候选模型
查看 JSON
vision-cheapest.json
["policy", ["and", ["meets_req"], ["not", ["is", "disabled"]], ["is", "in_image"]],
  ["neg", ["normalize", ["field", "price_out"]]],
  ["argmax"], ["id"], ["always", {"action": "next_candidate"}]]
长上下文 RAG
需要大上下文窗口时,选择能满足要求的成本最低模型。
filter+ context ge 200000
rankcheapest price_out
fallback下一个通过的候选模型
查看 JSON
long-context-rag.json
["policy", ["and", ["meets_req"], ["not", ["is", "disabled"]], ["cmp", "context", "ge", 200000]],
  ["neg", ["normalize", ["field", "price_out"]]],
  ["argmax"], ["id"], ["always", {"action": "next_candidate"}]]
智能体调度
为智能体循环选择工具调用能力出色的模型。
filter+ tools · bench_agentic_rank le 5
rankhighest bench_agentic
fallback下一个通过的候选模型
查看 JSON
agentic-fleet.json
["policy", ["and", ["meets_req"], ["not", ["is", "disabled"]],
         ["has_cap", "supports_tools"], ["cmp", "bench_agentic_rank", "le", 5]],
  ["field", "bench_agentic"],
  ["argmax"], ["id"], ["always", {"action": "next_candidate"}]]
私有 / 合规
仅限 TEE 且禁止日志记录:能力优先。
filter+ is has_tee · is no_log
rankhighest intelligence
fallback下一个通过的候选模型
查看 JSON
private-compliant.json
["policy", ["and", ["meets_req"], ["not", ["is", "disabled"]],
         ["is", "has_tee"], ["is", "no_log"]],
  ["field", "bench_intelligence"],
  ["argmax"], ["id"], ["always", {"action": "next_candidate"}]]

所有预设及实用配方 →

信任凭证

每次决策都留下凭证

追踪记录是模型选择过程的结构化、可重放记录:哪些模型被考虑过,每个模型为何通过或被拒绝,执行了什么,以及如何复现。

decision_trace
deepseek-v4-flashrejected · cmp bench_intelligence ge 0.5
minimax-m2.7rejected · cmp bench_intelligence ge 0.5
deepseek-v4-proranked #1 · chosen
glm-5.1ranked #2 · cascade
gpt-5.5ranked #3 · cascade
deepseek-v4-prodecision_path · attempted · 412 ms
policy_fingerprint 301140696-1054914287 · sigma-pol/v2
rejected[]
所有被过滤掉的候选模型,以及导致其被拒绝的确切规则。
ranked[]
按选择顺序排列的通过候选模型;排名靠前的是选中的模型,其余为回退级联。
decision_path[]
尝试日志;每次回退跳转都记录在此。
policy_fingerprint
归一化策略的稳定 ID;标识符由托管侧的 sha256 计算。工作流还包含 flow_fingerprint

重放与调试的工作原理 →

需要细节时

参考文档

完整规范,独立于阅读路径之外。

GitHub 源码:unhardcoded(托管服务)· unhardcoded-engine(策略引擎)