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 获取代码,并查看文档以开始构建自己的代理。