AI News HubLIVE
站內改寫1 分鐘閱讀

Agent SDK:在OpenRouter上構建多輪代理工作流

OpenRouter發佈@openrouter/agent SDK,這是一個模型無關的TypeScript工具包,支持工具執行、多輪循環、停止條件、流式傳輸、成本跟蹤和工具審批,簡化了代理工作流的構建。

OpenRouter 宣佈推出 @openrouter/agent SDK,這是一個模型無關的 TypeScript 工具包,旨在簡化多輪代理工作流的構建。傳統上,構建一個可靠的代理需要開發者處理多層次的邏輯:調用模型、解析工具請求、執行工具、將結果反饋給模型,並重復此過程直到任務完成。此外,還需要處理輸入驗證、流式傳輸、成本跟蹤以及設置終止條件,以免循環無休止地運行。@openrouter/agent SDK 將這些複雜性封裝為一個名為 callModel 的單一函數,開發者只需調用該函數,無需手動編寫循環邏輯。

callModel 的核心功能之一是工具執行。開發者可以使用 tool() 和 Zod 模式定義工具,SDK 會在運行時自動驗證模型的輸入和函數的輸出。如果模型提供了錯誤的參數,SDK 會返回清晰的錯誤信息,而不是讓下游靜默失敗。工具調用與模型調用分離,保持了代碼的整潔和可維護性。

多輪循環是代理工作流的關鍵。一個代理往往需要多步操作,例如搜索信息、閲讀結果、再次搜索,然後生成摘要。callModel 在內部處理循環,開發者通過停止條件控制循環何時結束。停止條件是可組合的:可以使用 stepCountIs(10) 限制最大步驟數,maxCost(1.00) 設置成本上限,或 hasToolCall('done') 在調用特定工具時停止。這些條件可以組合使用,也可以編寫自定義函數。

流式傳輸支持代理逐步展示進度。callModel 提供 getTextStream()、getToolCallsStream() 和 getReasoningStream() 三個流,可以併發處理同一響應,無需提前選擇。每個響應還包含令牌計數和成本數據,通過 result.getResponse() 獲取,便於精確跟蹤每次代理運行的成本。

對於需要執行真實操作的代理,SDK 還支持工具審批功能。可以將工具標記為需要審批,當模型調用該類工具時,SDK 會暫停執行並等待開發者的決策。

由於 SDK 是模型無關的,開發者可以在 OpenRouter 上的 300 多個模型之間自由切換,而無需修改代理代碼。要開始使用,只需獲取 API 密鑰並參考 callModel 文檔,即可快速構建個人代理工具。