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

Show HN: 一個基於端口和適配器的供應商無關代理循環

Open Agent Loops 是一個極簡的、供應商無關的代理循環,模型、記憶、工具和停止條件均可通過可替換的接口實現。默認無前端,用户可自行構建前端。支持任意OpenAI兼容模型,可在Node、Bun、Deno和瀏覽器中運行。

來源Hacker News AI作者: hopefulbutwary

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 獲取代碼,並查看文檔以開始構建自己的代理。