Show HN: BoundFlow – AI代理的开源控制平面
BoundFlow 是一个开源控制平面,用于管理无人值守运行的 LLM 代理和工作流。它提供成本上限、审批门、自动模型切换、重试和回滚等功能,确保代理安全可靠地运行。
BoundFlow 是一个开源的控制平面,专为长期运行、有状态的 AI 代理工作流而设计。它强制实施一系列安全护栏,确保代理在无人值守时仍能可靠运行。其核心功能包括每次运行的成本上限、基于成本或循环策略的自动模型切换、敏感操作前的人工审批门、工具调用限制、重试、冷却以及版本化回滚。开发人员可以使用简洁的异步 SDK 编写代理和工作流,而控制平面负责调度、分发和治理。
与许多其他工具不同,BoundFlow 不监视代理,而是进行干预。它同时作用于代理层和工作流层:在代理层限制花费、中途切换模型;在工作流层对风险步骤进行人工确认、冷却、回滚或暂停。它拥有工作流级别的感知能力,而不仅仅是代理感知——因为它运行整个工作流,而不仅仅是模型调用:调度每次运行、跨步骤传递状态、从故障中恢复,并驱动工作流完成整个生命周期。
BoundFlow 的治理分为三层:运行时策略(如每次运行硬性成本上限)、代理生命周期策略(如超过预算时降级模型)和工作流生命周期策略(如连续失败后自动回滚到已知良好版本)。这些策略通过服务器端评估和 SDK 端执行,每次调用都会收集成本、令牌数、LLM 调用、工具计数和失败等指标。
架构方面,BoundFlow 后端作为控制平面,可以自托管或使用 BoundFlow Cloud。你的工作线程通过 gRPC 连接后端,在你的环境中使用你的 Anthropic 密钥运行实际代理。后端负责调度、分发、治理和审计,但从不接触你的密钥或推理流量。后端由单个二进制文件以三种进程模式运行(服务器、调度器、工作线程),共享同一个 Postgres 数据库。
SDK 使用示例简单明了:只需定义工作流和代理,控制平面自动应用策略。此外,BoundFlow 支持通过 LangChain 集成任何工具调用型聊天模型,也可以与 LangGraph 结合,让 LangGraph 负责路由,而 BoundFlow 治理每一步。工作流是多步骤且有状态的:一个操作可以暂停等待人工决策,然后继续执行后续步骤。
快速入门只需几步:设置数据库密码、启动后端、配置 API 密钥、安装 SDK,然后运行示例代理。可观测性基于 OpenTelemetry 原生实现,可导出到 Jaeger、Tempo、Langfuse 等后端。同时提供持久的、可查询的审计日志,记录所有审批和策略决策。
BoundFlow 目前处于公开预览阶段(pre-1.0),引擎已通过 Go、模拟 LLM 和真实 LLM 测试套件验证,但尚未在生产环境中与外部用户一起运行。API(包括 gRPC protobuf)可能在 1.0 之前发生变化。团队正在寻找早期采用者和设计合作伙伴。