我为客户端重建了十几次相同的代理后端。所以,我一次性正确地构建了它。目前它是免费的,我需要人们来测试并找出问题。
摘要
Oberik 是一个免费的后端和SDK,旨在解决构建AI代理系统时常见的基础设施挑战,例如文档处理、多租户和安全性,现在开放给开发者进行测试和反馈。
三年来为客户构建AI产品,大约有十几个项目,涉及不同行业和公司规模。每个项目都想要不同的业务逻辑。但每个项目都需要相同的底层基础设施,而我们每次都从零开始重新编写。这份清单,我猜你们大多数人都能背出来:文档摄取和解析,然后分块、嵌入、重排序,每次更改模型时都需要完全重新索引;引用能准确指向页面和片段,并在重新索引后仍然有效;多租户隔离,确保客户A的文档不会出现在客户B的答案中,且在查询代码之外的地方强制执行;一个模型无法绕过的权限系统,即使在调用工具时仍然有效;能应对连接中断的流式传输;如果你想让代理运行代码,提供一个沙箱,加上文件I/O、超时、出口规则,以及总是不太理想的空闲清理;计划和长时间运行的工作:队列、重试、DST安全的cron、死信,以及部署时不会消失的任务;提供商抽象层,这样更换模型就不需要重写;每个客户的成本核算,大家都拖到第一张发票到来才处理。这是没人付钱给你的80%部分。客户真正关心的业务逻辑是另外的20%。所以我把它打包了。它叫做 Oberik(oberik.com)。一个后端加一个SDK,而不是另一个需要你维护的应用程序。结构如下:你的服务器生成一个短期的JWT,限定给一个最终用户,并带有明确的权限列表。你的前端使用该令牌进行流式传输,从不持有任何特权信息。数据平面拒绝令牌未列出的任何内容,包括模型决定调用的工具。每个项目都是一个租户,拥有自己的行、向量、对象存储和凭据。检索返回文档、页面和引用,否则拒绝回答。每个对话有一个Linux微VM,空闲时休眠,唤醒时从上次停止处继续,这样代理可以编写和运行实际代码并返回文件。持久的一次性和循环运行将结果交付到会话或签名的webhook。花费、延迟和完整跟踪按项目和最终用户细分。你自带提供商密钥。OpenAI、Anthropic、Bedrock、Vertex、Groq 等等,加上你自己的MCP服务器。使用费用按你提供商的价格向你计费。没有任何转售,也没有任何流量通过我。你可以随时自行托管相同的堆栈。关于免费部分,因为这通常是可疑之处:没有连接支付网关。我还没有设置。一切都现在可用,除了你的模型提供商已收取的费用外,不花你任何钱。这不是试用层或信用额度,只是目前没有需要支付的东西。关于努力,这是阻止人们尝试基础设施的另一件事:我专门为编码代理构建了文档和平台。完整的API参考无需注册,结构化得让代理可以从头到尾阅读,SDK是类型化的,所以你的代理被编译器纠正而不是猜测形状。将Claude Code或Cursor指向文档,并告诉它在你的服务器上生成一个作用域令牌,并将答案流式传输到你的UI。接口故意设计得足够小,这样就能工作。尝试它只花费你的代理一个下午的时间,而不是你一个冲刺周期,这是我认为要求陌生人评估一个新后端的唯一合理原因。我真正想要的是什么。网站今天上线了,除了我工作的公司外,我没有其他用户。我们在几个自己的客户项目上使用了它,运行良好,但一个公司的两个项目只是个例,不是验证。我关于他人需求的所有信念都来自我们自己的狭窄样本,其中一些肯定是错的。所以我正在寻找那些会在它上面构建真实东西并告诉我发生什么的人。特别是:SDK哪里与你作对或文档说谎;以上九件事中哪些你不会使用,因为我可能构建了没人想要的东西;什么让你放弃,如果你放弃了;任何你需要但不存在的东西。负面反馈现在对我来说比注册更有用。显而易见的问题,提前回答:这不是一个框架,也不与LangChain或LlamaIndex竞争。那些给你在进程内的编排。我不断重建的不是编排,而是底层的多租户数据平面:隔离、能力强制、持久执行、每个租户的成本。如果你为一家公司构建一个代理,你可能不需要这个。(但我很乐意被证明错了)如果你将一个代理放入产品中,每个客户需要自己数据的作用域视图,那就是这个情况。乐意在评论中讨论任何架构,包括仍然粗糙的部分。
相似文章
难觅客户,遂决定将我的业务免费开放给所有人使用并在此基础上构建
作者将其基于Rust的浏览器自动化工具开源,该工具包含基础设施和部署功能,原本是一项业务,现免费用于AI代理开发。
我构建了一个用于创建和管理AI代理的开源平台(MIT许可,可免费自托管)
作者构建了一个开源、MIT许可的AI代理创建和管理平台,具备提供商无关支持、MCP集成、记忆、技能、定时触发器和看板功能,可通过Docker Compose部署。
我构建了一个多租户AI代理平台(小部件+API+语音+MCP)——寻求来自实际部署代理的人们的反馈
Animam是一个多租户AI代理平台,允许机构通过小部件、API、语音和MCP为客户部署个性化AI代理。该构建者希望从生产用户那里获得对其基础设施方法的反馈。
我刚刚为了可靠性重写了整个代理基础设施,有人也这样做吗?
作者描述了在遭遇级联故障后,使用DBOS持久化执行重写其AI代理基础设施以提高可靠性的经历,并向社区询问类似的经历、工具选择以及自建与购买决策。
一个用于测试AI代理行为的开源工具,适用于生产前阶段。
作者计划开源一个工具,用于测试AI代理在生产前的行为,支持OpenAI Agents SDK、PydanticAI和自定义Python代理,并寻求开发者的贡献和反馈。