斯坦福開源復雜推理AI Agent,融合超十種工具
傳統的AI助手通常依賴于單一模型或有限的工具集,難以應對需要多步推理、跨領域知識融合及高精度數據分析的任務。例如,解決視覺謎題,需要精細圖像理解和基于文本的混合推理。
為了解決這一難題,斯坦福開源了OctoTools,這是一個融合了11種不同工具專用于復雜推理的AI Agent。根據測試數據顯示,Octotools在多領域的 16 項基準測試中,平均準確率非常高,可以輕松應對數學、科學、醫學診斷等復雜場景任務。

開源地址:https://github.com/octotools/octotools
工具卡片是OctoTools框架的基礎構件,通過標準化封裝的方式,將各種工具的功能和元數據整合在一起。這些工具可以是圖像識別工具、數學計算工具、網絡搜索工具,特定領域的專家系統等。
每個工具卡片都包含了工具的基本信息,如輸入輸出格式、使用限制以及最佳實踐建議。這些元數據為規劃器和執行器提供了必要的信息,幫助它們更好地理解和使用這些工具。
例如,圖像字幕生成的工具卡片會說明它需要輸入圖像路徑和一個描述性提示,輸出則是圖像的描述性字幕。而對象檢測工具卡片則會說明它需要輸入圖像路徑和目標對象的標簽,輸出則是檢測到的對象列表及其置信度。

工具卡片的另一個重要特點是它們的動態性。在運行時,工具卡片可以根據任務的具體需求,動態地調整其行為。例如,如果任務需要對圖像進行更細致的分析,工具卡片可以調用更高級的圖像處理算法;如果任務需要快速響應,工具卡片則可以選擇更高效的算法。
規劃器是OctoTools框架的“大腦”,負責對用戶查詢進行分析,并制定出全局的解決方案。它通過分析查詢的目標、所需技能和相關工具,生成一個初步的計劃。這個計劃不僅包括了任務的總體目標,還詳細列出了每一步需要完成的子目標以及所需的工具。
規劃器的工作方式類似于人類在解決問題時的思考過程。它首先對任務進行宏觀分析,確定任務的整體目標和所需技能。

然后根據這些信息,選擇合適的工具,并為每一步制定具體的行動計劃。例如,在處理一個需要圖像理解和數學計算的任務時,規劃器會先使用圖像字幕生成工具來獲取圖像的描述,然后再使用數學計算工具來解決問題。這種逐步細化的過程使得規劃器能夠更好地應對復雜的任務,確保每一步都朝著最終目標前進。
執行器相當于OctoTools的“四肢”,負責將規劃器生成的行動計劃轉化為可執行的命令,并運行相應的工具。執行器的工作方式類似于人類在執行任務時的具體操作過程。會根據規劃器的指令,生成具體的命令,運行工具,并將結果反饋給規劃器。

執行器不僅能夠處理簡單的命令,還能夠處理復雜的多步操作。例如,如果規劃器決定使用對象檢測工具,執行器會根據工具的元數據,生成具體的命令,運行工具,并將結果反饋給規劃器。這種分離規劃和執行的設計,使得系統的錯誤率降低,提高了系統的可靠性和可維護性。
上下文驗證器是OctoTools的驗證模塊,主要負責檢查當前的上下文是否已經滿足了用戶的要求。會驗證結果的完整性,檢查是否存在不一致或模糊的地方,并決定是否需要進一步的工具調用。
如果發現某個步驟的結果存在問題,上下文驗證器會要求規劃器重新評估任務的進展,并調整后續的行動計劃。
































