跳到主要內容
AI News HubLIVE
站內改寫1 分鐘閱讀

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

文章摘要

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

Agent SDK:在OpenRouter上構建多輪代理工作流
報告錯誤

更正渠道尚未開通,可先複製下方文章資訊留存。

查看更正說明
直接讀正文

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 文檔,即可快速構建個人代理工具。

展開要點與分析

文章情報

工程師入門

要點

  • @openrouter/agent SDK封裝了代理循環邏輯,支持300+模型。
  • 核心功能包括工具執行、多輪循環、可組合停止條件和流式傳輸。
  • 提供成本跟蹤和工具審批,適合生產環境。
  • 開發者無需編寫循環邏輯即可構建代理。

要點與分析由自動化流程生成,可能有誤,請結合原始來源核實。