dsh-adaptive-model-router:DeepSeek Harness 逐輪自適應模型路由

在 DeepSeek Harness 的開發中,如何根據任務複雜度在“經濟模型”和“高質量模型”之間切換是一個常見需求。手動實現分類邏輯會增加系統的複雜度,且難以保證一致性。dsh-adaptive-model-router 插件提供了一套確定性、本地化的路由方案,通過簡單的配置即可實現按需切換。

這是什麼

dsh-adaptive-model-router 是一個 Deterministic per-turn adaptive model routing 插件,由 icyaaaww 維護。它針對 DeepSeek Harness 0.1.1-rc.2 版本設計。

該插件的核心價值在於它不通過調用另一個模型來分類請求,而是通過本地、同步、可復現的計算來決定路由。它會在單次會話中根據任務特徵自動升級模型,但不會降級,從而在保證成本控制和響應質量之間取得平衡。

核心功能

  1. 確定性逐輪路由:在每輪對話開始時,根據輸入字符數和關鍵詞判斷是否需要切換到高質量模型。
  2. 本地同步執行:路由邏輯完全本地化,不發起額外的模型調用,因此不會增加 token 消耗或產生額外的 provider 請求。
  3. 遲滯行爲:在單次會話(turn)中,路由可以升級但不會降級。只有當進入新的一輪對話時,纔可能重新評估並降級到經濟模型。
  4. 靈活的升級條件:支持基於步驟數(upgradeAfterStep)或工具失敗次數(upgradeAfterToolFailures)來觸發升級。
  5. 參數控制:支持在路由中顯式設置 reasoningEffort 和 maxTokens,並允許通過 preserveUnknownSelection 保留未配置的路由選擇。
  6. 透明化:插件會記錄請求配置的變更,保持 provider 和 model 變量的一致性,便於調試和回放。

安裝與啓用

安裝該插件需要使用 DeepSeek Harness 的插件安裝命令。請確保你的環境已滿足 Node.js ^22.19.0 || >=24.0.0。

dsh plugin --profile web add github:icyaaaww/dsh-adaptive-model-router

配置與典型用法

安裝後,需要在 Harness 的配置中定義經濟模型和高質量模型,並設置路由規則。

基礎配置示例

在配置文件中定義路由器,設置經濟模式和高質量模式的提供商及模型,並設定觸發升級的閾值。

- id: adaptive-model-router
  name: dsh-adaptive-model-router
  config:
    economy:
      provider: deepseek-official
      model: deepseek-v4-flash
    quality:
      provider: deepseek-official
      model: deepseek-v4-pro
    inputCharsThreshold: 1200
    complexityKeywords: [architecture, migration, security, 架構, 遷移, 安全]
    upgradeAfterStep: 2
    upgradeAfterToolFailures: 1
    failureExclude: [todo_write, job_output, job_list]
    preserveUnknownSelection: true

配置項說明

  • economy / quality:定義低成本模型(如 flash)和高成本模型(如 pro)的提供商和具體模型名稱。
  • inputCharsThreshold:輸入字符數達到此值時觸發升級。
  • complexityKeywords:包含這些關鍵詞(不區分大小寫)時觸發升級。
  • upgradeAfterStep:從 0 開始計數,達到該步數時觸發升級。
  • upgradeAfterToolFailures:連續未排除的工具失敗達到該次數時觸發升級。
  • failureExclude:指定在統計工具失敗次數時需要排除的工具列表。
  • preserveUnknownSelection:如果爲 true,未匹配到路由的請求保持原樣;如果爲 false,插件將接管所有請求。

參數調整

路由配置支持可選參數。在路由中指定 reasoningEffort 會清除之前模型的設置;不指定 maxTokens 則保留顯式的請求限制。

注意事項

  • 複雜度估算:關鍵詞和長度規則僅用於估算複雜度,不能直接衡量回答質量。
  • 工具失敗統計:除非在 failureExclude 中排除,否則策略拒絕產生的工具失敗也會計入升級條件。
  • 並行工具:如果路由在工具執行中途升級,已並行運行的工具可能仍在使用舊模型運行。
  • 模型目錄驗證:插件不驗證模型是否在目錄中,由選定的 provider 負責處理可用性診斷。
  • 成本報告:插件不包含成本報告功能,需要通過對比部署前後的遙測數據來評估效果。

適用場景

該插件適合需要在對話過程中動態調整模型複雜度的場景。例如,簡單的問答使用 flash 模型降低成本,遇到複雜的架構設計或工具調用失敗時自動切換到 pro 模型,從而在保證最終質量的同時控制推理成本。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜