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(策略引擎)