這是我們第一篇部落格文章《代理說它完成了,但資料庫不同意》的後續。ThinkingBox-Training 現已在 GitHub 上發布。
我們開發 ThinkingBox 是為了透過比較最終資料庫狀態與預期結果來評估代理的工作。隨後,我們將這種可執行的訊號作為獎勵,應用於 ThinkingBox-Bench 以外的訓練任務。對於 Qwen3.8-27B 模型,平均成功率從 51.70% 提升至 60.78%,而在所有二十次嘗試中均正確完成的任務數量,在經過 50 個 GRPO 步驟後,從 38 個增加到 107 個。
圖 1. ThinkingBox 將終端資料庫狀態的可執行檢查轉化為獎勵,用於 ThinkingBox-Bench 以外任務的後訓練代理。
這是一篇由 Microsoft 和 Hugging Face 共同發表的部落格文章,特別感謝來自 Microsoft 的 Mirco Milletari 和 Xiang Jiang,Hugging Face 的 Sergio Paniego,以及我們前實習生 Zhuochun Li(匹茲堡大學)在合著與審閱方面的貢獻。
我們開發 ThinkingBox 是為了揪出那些聲稱完成但實際上並未完成的代理。在 ThinkingBox-Bench(我們的基準資料集)中的 507 個任務裡,每個任務都會提供代理一個真實的後端和一套工具,讓它執行工作,然後檢查資料庫中實際發生了什麼變化。
在第一篇文章中,我們發現一個模型將客戶的工單標記為已解決,但其背後的承運商異常仍未處理。儘管進行了九次看似合理的工具呼叫,卻導致了一條錯誤的資料庫記錄。
隨後,我們意識到我們所建立的東西。對於大多數任務,可執行檢查可以直接從最終資料庫狀態返回 1 或 0。這不僅僅是一個評分器,它還可以作為一個獎勵函數。因此,我們從基準測試之外的 ThinkingBox 格式任務中建構了一個訓練池,並將其可執行結果作為獎勵。關鍵在於選擇哪些任務適合代理訓練:大多數任務對於當前模型來說,要麼已經解決,要麼毫無希望,這兩種情況都無法讓模型學到任何東西。
難度是「策略相關」的:一個任務對於當前模型來說是困難的,直到該模型學會它為止。
我們稱之為「離線策略相關難度」。在訓練之前,我們使用基礎策略估計每個任務的成功機率一次,並在整個運行過程中保持選定的訓練池不變。
訓練之後發生了什麼
我們利用離線策略相關難度來建立訓練池,然後使用 GRPO 對 Qwen3.8-27B 進行了 50 個步驟的微調。總結來說,我們對 507 個基準任務中的每一個都評估了 20 次。pass@1 衡量所有 10,140 次嘗試的平均成功率。pass@20 衡量至少成功一次的任務比例。Observed 20/20 則衡量所有記錄的嘗試中都成功的任務比例。
表 1. Qwen3.8-27B 在離線選定訓練池上經過 50 個 GRPO 步驟前後的結果。
訓練顯著提高了可重複的成功率,但至少成功一次的覆蓋率略有下降。文章的其餘部分將解釋我們如何選擇練習任務、建立獎勵迴圈以及衡量這種權衡。
這種改進在單一任務上看起來如何?一位旅客要求降低房間等級,但公司政策要求經理先批准。訓練前,代理在 20 次嘗試中有 15 次未經批准就更改了預訂並發放了退款。經過強化學習微調後,它在所有 20 次嘗試中都保留了預訂和支付狀態。
圖 2. 一個企業飯店預訂任務,每個模型進行 20 次嘗試。基礎 Qwen3.8-27B 模型在 15 次嘗試中未經必要的經理批准就更改了預訂。經過強化學習微調的模型在所有 20 次嘗試中都保留了預訂和支付狀態;其中 19 次所有預期記錄都匹配。
目錄
基準測試在六十秒內發現了什麼
結果:可靠性欄位有所變動
效益落在哪裡
可靠性的成本
訓練迴圈
離線策略相關難度
什麼能獲得獎勵
運行訓練堆疊
下一步發展
趕時間嗎?主要結果在上方。實作細節請見「運行訓練堆疊」。
基準測試在六十秒內發現了什麼
ThinkingBox-Bench 根據代理留下的資料庫記錄來評分。其 507 個任務中的每一個都會啟動一個真實的後端,提供代理一套 MCP 工具和一個帶有私有上下文的模擬 LLM 使用者,並在結束時對終端資料庫狀態執行可執行檢查。這些檢查是針對需要正確的後端記錄,而不是特定的工具呼叫。這鼓勵模型探索可能的新解決方案路徑,而不是「重新發現」由人類支持的解決方案,儘管後者可能正確但並非最佳。
在我們第一篇文章中,我們讓十八個模型各執行了二十次基準測試,並報告了一個被表面準確度所掩蓋的差距。Kimi-K3 至少成功解決了 93.89% 的任務一次,但在所有二十次記錄的嘗試中,只有 68 個(13.41%)任務完全成功。Claude Opus 5 則呈現相反情況:覆蓋範圍較窄,但一致性高得多。
更大的或更好的模型並未彌補這個差距。Claude Opus 5.5 在 pass@1 上的得分比 Claude Opus 5 高出 0.66 個百分點,但在所有二十次嘗試中,成功通過的任務數量卻完全相同,都是 241 個。這種表面準確度的提升並未帶來額外的可靠性。
如果您正在為涉及生產資料庫記錄的工作選擇模型,不應單獨解讀 pass@1。Observed 20/20 顯示了哪些任務在每次嘗試中都成功,這更接近生產環境對可靠性的要求。
可執行的終端狀態判斷也作為訓練獎勵。在深入探討訓練迴圈之前,以下是密封基準測試上發生的變化。
結果:可靠性欄位有所變動
在訓練 Qwen3.8-27B 之後,我們在它從未訓練過的 507 個任務基準測試上評估了選定的第 50 步檢查點。這 507 個任務代表一個分佈外測試集:它們的領域、資料庫和大多數 MCP 工具在強化學習訓練期間並未遇到。
表 2. ThinkingBox-Bench 按領域劃分的 pass@1 (%),顯示了我們第一篇部落格文章表 2 中選定的模型以及我們微調模型在不同領域和整體表現。Observed 20/20 數據是針對包含 507 個任務的整個基準測試。每個模型都對所有 507 個任務進行 20 次重複試驗評估。粗體標示欄位領先者;底線標示次優者。
主要結果是表 1 中的 Observed 20/20 行。一個最初在每次嘗試中僅完成 38 個(7.5%)ThinkingBox-Bench 任務的 27B 模型,現在在每次嘗試中能完成 107 個(21.1%),幾乎是三倍。相比之下,Kimi-K3 的 Observed 20/20 為 68,GPT-5.4 為 128,GPT-6 Astra 為 231,而 Claude Opus 5.5 以 241 領先。
平均成功率和可重複性會產生不同的排名。在表 2 中,我們注意到 GPT-5.6 Sol 在 pass@1 上的得分略高於經過強化學習微調的 Qwen3.8-27B(61.91% 對 60.78%),但在所有 20 次記錄的嘗試中,通過的任務數量卻較少:82 個對 107 個。
Claude Sonnet 4.6 在 pass@1 上得分較低,為 59.19%,但在每次嘗試中通過的任務數量幾乎相同,為 102 個。單獨的任何一個指標都無法捕捉全貌。
觀察到的模式與「銳化」一致:可重複的成功率上升,而至少成功一次的覆蓋率略有下降。這與先前的研究結果一致。一種解釋是,機率分佈轉向了那些能重複成功的軌跡,同時一些低機率路徑消失了。
總體而言,模型並沒有變得更廣泛,而是變得更具可重複性。下一個問題是這些效益落在哪裡。
效益落在哪裡
圖 3. 各領域的基礎分數、強化學習微調分數和百分點變化。綠色變化單元格表示增益,紅色表示下降;藍色陰影表示每個指標內的分數水準。
pass@1 和 Observed 20/20 在所有五個領域都有所提升。pass@20 則好壞參半:在新銀行和諮詢領域有所增加,但在零售、旅遊和汽車保險領域有所下降。汽車保險的覆蓋率損失最大(-7.0 個百分點),而零售業的 Observed 20/20 增幅最大(+24.5 個百分點)。
可靠性的成本
第一篇文章使用簡單的數學方法來計算一致性的成本:將完整 20 次運行活動的估計成本,除以模型每次都成功通過的任務數量。
每個可靠任務的成本 = 507 × 20 次活動的估計成本 ÷ 20/20 通過任務數
將相同的成本計算應用於微調檢查點測量的 token 使用量:
表 3. 基礎和強化學習微調 Qwen3.8-27B 的估計評估成本和可靠性。每個成功嘗試的成本是將總估計活動成本(507 x 20)除以成功嘗試的次數。
每個可靠任務的成本為 8.00 美元,微調後的模型在比較中接近 GPT-5.4(6.80 美元)、GPT-6 Astra(7.45 美元)和 Claude Opus 5.5(7.80 美元)。
單次嘗試視角
圖 4 顯示了每次成功嘗試的成本與 pass@1 的關係。
圖 4. 金色箭頭追蹤 Qwen3.8-27B 基礎模型的帕雷托成本位置到強化學習微調模型(菱形):pass@1 從 51.70% 上升到 60.78%,而每次成功嘗試的估計成本從 0.177 美元下降到 0.139 美元。帶環的圓圈標示了帕雷托成本前緣。
這一變化使微調後的檢查點接近 GPT-5.6 Sol,儘管 GPT-5.6 Sol 仍然更便宜且在 pass@1 上略高。我們論文中定價的四個模型落在繪圖範圍之外。
這些美元價值是一個比較性的服務指標,而非實際的發票或雲端帳單。服務微調後的檢查點成本與基礎模型相同。計算中包含了模型推論成本,但不包括訓練運行和用於策劃訓練資料集的策略探測成本。
這些結果告訴我們發生了什麼變化。接下來的章節將解釋訓練迴圈以及為何選擇正確的任務至關重要。
訓練迴圈
圖 5. 六個階段,現在有了上下文:候選任務輸入,前三個階段離線運行一次,後三個階段在訓練運行中的每個組重複。訓練後的檢查點將針對 ThinkingBox-Bench 進行評估。
選擇階段針對基礎策略模型(在本例中為 Qwen3.8 27B)離線運行一次;然後訓練使用已策劃的固定池。圖中的虛線琥珀色箭頭...(文章在此處截斷)