dsh-tool-bandit-search:基於 Thompson Sampling 的自適應搜索策略插件

前言

在使用 DeepSeek Harness (DSH) 開發智能體時,web_search 工具面臨一個經典權衡:快速但覆蓋面窄的查詢,與慢速但覆蓋面廣的查詢。硬編碼單一策略意味着簡單問題會浪費資源,複雜問題可能信息不足。dsh-tool-bandit-search 插件通過 Thompson sampling 上下文多臂老虎機算法,讓工具根據實際使用情況自動選擇搜索策略。

插件介紹

這是一個 DeepSeek Harness 插件,旨在替換標準的 web_search 工具。它引入了一個新的 search 工具,利用 Thompson sampling 在兩種搜索策略(”quick” 和 “thorough”)間自適應決策。維護者:siruignaw-sys。許可證:MIT。

核心功能

  • 策略替換:將 DSH 內置的 web_search 替換爲 search 工具。
  • 雙策略選擇:
  • quick:單次查詢,最多 5 條結果,速度快,適合簡單事實查詢。
  • thorough:運行三個查詢變體(原查詢 + 兩個重述角度)並行合併,最多 10 條結果,速度慢,適合開放性問題。
  • 自適應學習:使用 Thompson sampling 算法,基於 Beta(α, β) 分佈採樣選擇策略。
  • 獎勵計算:每次調用後,根據結果數量和響應速度計算 0-1 獎勵,更新策略參數。

安裝與啓用

使用以下命令安裝插件:

dsh plugin --profile web add github:siruignaw-sys/dsh-tool-bandit-search

安裝後必須重啓 Web UI 才能生效。如果是在本地開發,使用 dsh plugin --profile web add link:/absolute/path/to/dsh-tool-bandit-search。

# 重啓 Web UI
pnpm dsh web
# 或
dsh web

運行示例

插件在運行時會輸出日誌,展示選擇的策略、獲得的獎勵以及當前的 Beta 分佈參數:

[bandit-search] arm=quick reward=1.000 durationMs=4393 resultCount=5 stats={"quick":{"alpha":2,"beta":1},"thorough":{"alpha":1,"beta":1}}
[bandit-search] arm=thorough reward=0.854 durationMs=8481 resultCount=10 stats={"quick":{"alpha":2,"beta":1},"thorough":{"alpha":1.85,"beta":1.15}}

適用場景與注意事項

該插件適合希望在運行時動態優化搜索策略的場景。需要注意的是:

  • 狀態存儲:Bandit 的狀態存儲在內存中,進程重啓後會重置。
  • 獎勵指標:當前的獎勵是啓發式指標(基於結果數和延遲),並不代表答案的相關性或正確性。
  • 優化範圍:插件僅優化單次調用的策略選擇,無法控制模型在一次對話中的多次 search 調用行爲。
  • API 穩定性:該插件基於 dsh 開發者預覽構建,API 可能變更。

結語

dsh-tool-bandit-search 爲 DSH 插件生態提供了一種通過在線學習自動調整工具行爲的方式。它不依賴額外的 API Key,直接複用 DSH 的 ctx.web 服務。更多細節與源碼,可參考目錄頁或 GitHub 倉庫。

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

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

小夜