Apache Burr:构建可靠的 AI 代理与应用
项目目的、起源与命名
- Burr 是一个由 Apache 孵化的、通过状态机来编排 AI 代理的框架。
- 它源自更早的 Hamilton(一个基于 DAG 的库)工作,作为一种在 DAG 执行之间管理状态的方法,尤其适用于需要循环/递归的场景。
- 它刻意保持低层级,并采用“自带函数/类”的方式,目标是提供不预设立场的编排能力,而不是完整的代理栈。
与其他框架的定位对比
- 相比 dspy.ai:被描述为更低层级,不是直接竞争对手。
- 相比 LangGraph:有些人认为 Burr 非常相似,“就是带有 builder pattern 的 LangGraph”。
- 相比 Strands / AgentCore:这些被认为更有立场,并且绑定特定云;如果 Burr 成熟起来,它可能会被视为一个替代方案。
- 同一领域中提到的其他工具:Pi、NanoBot、Nvidia Openshell、Codex、OpenClaw、Jido、Forge;Burr 被看作这个拥挤市场中的又一个参与者。
框架 vs 手写代理
- 目前很强的一种观点是,简单代理完全可以直接编写(循环 + 工具 + 上下文 + 解析),而定制代码往往更清晰、也更易维护。
- 反驳观点认为:重新发明工具 schema、序列化和 harness 逻辑等基础原语是浪费;使用 harness 类似于使用 API 客户端,而不是重新实现协议。
- 共识是,框架的真正价值不在基础代理循环,而在于:
- 可观测性/追踪
- 约束与策略
- 监控、部署、版本管理、评估、A/B 测试。
可靠性、编排与上下文
- 有人认为“可靠”的代理主要取决于拆解、编排和上下文管理,而不只是状态机。
- 也有人怀疑是否真的存在完全“可靠的 AI”,或者 Burr 的方法是否真的能解决这个问题。
- 多个帖子强调:
- 带有分类器、工具、审批和递归的多步骤工作流会迅速变得复杂。
- 上下文管理、长期记忆以及“脑子”(例如文件用途摘要、爆炸半径分析)是可扩展代理的关键。
- 代理群体和规格驱动开发被提出为独立的可靠性策略。
UI、社区与观感
- 许多人批评落地页是“vibe-coded”/表演式 UI:渐变、动画按钮、Tailwind 风格模板、JavaScript 过重。
- 有些人觉得这种审美以及以 Discord 为中心的社区让项目看起来仓促,或者对 Apache 来说不够严肃。
- 也有人指出该网站是用户贡献的,不代表核心技术质量。
提出的开放问题
- Burr 如何处理代理认证以及像 MCP 这样的协议,从文档里看并不清楚。
- 关于与 Pydantic 的比较以及详细的安全/认证模式的问题,在讨论串中没有得到回答。