Show HN: 一個基於埠和介面卡的供應商無關代理迴圈
Open Agent Loops 是一個極簡的、供應商無關的代理迴圈,模型、記憶、工具和停止條件均可透過可替換的介面實現。預設無前端,使用者可自行構建前端。支援任意OpenAI相容模型,可在Node、Bun、Deno和瀏覽器中執行。
Open Agent Loops 是一個極簡的、供應商無關的代理迴圈,其設計理念是透過埠和介面卡模式實現元件的高度可替換性。該專案由 Featherless 釋出,旨在為開發者提供一個靈活的基礎框架,用於構建自定義的 AI 代理。
該代理迴圈的核心是 runAgent 函式,它接受模型、記憶體、會話 ID、提示詞、工具列表和事件回撥等引數。整個 API 表面僅由定義工具、執行迴圈和渲染流組成。例如,開發者可以使用 defineTool 快速定義工具,包括名稱、描述、引數模式和執行函式,然後將其傳遞給迴圈。
Open Agent Loops 的“無前端”特性意味著它不會直接寫入螢幕,而是發出一個型別化的 AgentEvent 流。這使得跟蹤變得簡單,並且可以輕鬆地將相同的事件流渲染為命令列、HTML 或 JSON 格式。
專案中所有的元件——模型、記憶體、工具、停止條件等——都透過介面進行抽象。這意味著開發者可以輕鬆地將檔案儲存替換為 Redis,或將模擬模型替換為真實模型,而無需修改核心邏輯。模型客戶端介面針對 OpenAI 聊天補全格式設計,因此任何相容該格式的端點都可以直接使用。該專案已在多個開源模型系列上測試,包括 DeepSeek、GLM、Qwen、Kimi、MiniMax、Gemma 和 Step。
此外,Open Agent Loops 提供了多種可選的構建塊:技能(Skills)允許捆綁指令、工具和參考材料;規劃工具(Planning Tools)提供持久的工作記憶;可組合代理(Composable Agents)允許將一個代理作為工具供另一個代理呼叫;通道與導向(Channels & Steering)可處理即時流並支援中間訊息注入;目標迴圈(Goal Loops)透過外部評分驅動直到目標達成。
專案還內建了追蹤(Tracing)和許可權控制(Permissioned Tool Calls)功能。追蹤器會記錄執行的時間線和每輪軌跡,而許可權門控則可在工具呼叫前進行允許/拒絕/詢問策略判斷。
Open Agent Loops 僅有一個依賴(zod),並且是通用的 ESM 模組,因此可以在 Node、Bun、Deno 和瀏覽器中無需修改地執行。開發者可以從 GitHub 獲取程式碼,並檢視文件以開始構建自己的代理。