跳到主要內容
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+模型。
  • 核心功能包括工具執行、多輪迴圈、可組合停止條件和流式傳輸。
  • 提供成本跟蹤和工具審批,適合生產環境。
  • 開發者無需編寫迴圈邏輯即可構建代理。

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