Deep Agents 最近推出了 RubricMiddleware,這是一個為智能體添加自我評估和修正能力的中間件。在複雜任務中,智能體往往無法一次性完美完成任務,而 RubricMiddleware 通過定義明確的標準,讓智能體持續改進直到達標。
該工具的核心是一個獨立的評分智能體,它在主智能體運行結束後,根據用户設定的評價標準(如“所有測試通過”或“函數名正確”)進行審查。如果某些標準未滿足,評分智能體會提供具體反饋,然後主智能體根據反饋再次運行。這一循環會持續到所有標準滿足或達到最大迭代次數為止。
RubricMiddleware 的使用非常簡單:首先定義中間件,配置評分模型、提示詞、工具和最大迭代次數;然後將其附加到主智能體上;最後在調用時提供人類消息和評價標準。例如,在代碼生成任務中,智能體的首次嘗試可能通過部分測試,但評分智能體發現某個測試失敗並給出具體錯誤信息,智能體據此修正代碼,最終通過所有測試。
這種機制顯著提高了智能體在關鍵任務上的可靠性。通過將評估和修正過程自動化,開發者無需手動檢查輸出並重新運行,從而節省時間並減少錯誤。目前 RubricMiddleware 處於測試階段,API 可能發生變化,但已提供完整文檔供開發者參考。
與 Claude Code 或 Codex 中的 /goal 類似,但 RubricMiddleware 更加靈活,因為評估由專門的評分子智能體處理,它可以調用工具、推理完整的對話記錄,並返回每個標準的反饋。這使得智能體能夠精確知道需要修正什麼,而不是僅僅收到“再試一次”的泛泛提示。
在實際應用中,假設你要求智能體編寫一個 Python 函數 find_duplicates,該函數接受一個列表並返回出現多次的元素(按首次出現順序)。智能體的第一版代碼可能看起來正確,但使用 run_test_suite 工具進行測試後,評分智能體發現測試 test_unhashable 失敗:函數在遇到列表中的不可哈希類型(如列表)時拋出 TypeError。智能體根據這個反饋進行修改,第二次迭代就通過了所有測試。
RubricMiddleware 的引入解決了智能體輸出的概率性問題——相同的提示詞有時成功有時失敗。通過將檢查變異的負擔從開發者轉移到系統,開發者只需定義一次“完成”的標準,循環就會處理其餘工作。每個重試都是有依據的,評分智能體確切指出問題所在。
該中間件目前處於測試階段,API 可能發生變化。有關配置、可觀測性和評分標準持久化的完整指南,請參閲文檔。