BeeAI Framework
用 Python 或 TypeScript 构建可编排、可部署的多智能体系统。
按维度查看评分与理由
证据显示框架提供工具调用中间件(如GlobalTrajectoryMiddleware)可记录工具调用,但未明确默认最小权限或用户确认机制。数据流透明度有限,敏感数据处理未详细说明。依赖安全有SECURITY.md和依赖锁定文件,但未提供漏洞扫描证据。外部效果(如工具调用)有示例但无明确控制。回滚机制未提及。来源归属清晰,有贡献者列表和维护者文件。
框架文档和示例一致,错误处理有FrameworkError和explain()方法。依赖可用性未明确,但提供安装说明。失败消息有示例,但未全面覆盖。
面向开发者和多场景,提供Python和TypeScript两种语言,示例丰富。能力边界有文档说明,但触发精度(如条件要求)仅示例。环境适配良好,支持多种LLM提供商。
信息架构清晰,有文档和示例。安装说明简单明了。命名稳定,有版本发布和更新日志。已知限制未明确列出。许可证为Apache-2.0,完整。维护责任有维护者文件,但未明确更新路径。
输出可用性高,提供多语言示例和模板。边际价值高,提供多智能体系统构建能力。成本效益未明确,但缓存功能可降低成本。
声明有文档和示例支持,但未提供独立验证。跨来源佐证有限,主要依赖自身文档。事实与推断分离良好,示例代码清晰。
- 未明确默认最小权限和用户确认机制,部署时需自行配置。
- 敏感数据处理和外部效果控制未详细说明,需谨慎使用。
- 回滚机制未提及,状态持久化需自行实现。
- 依赖安全未提供漏洞扫描证据,需自行检查。
这个 Agent 能做什么,适合哪些场景?
BeeAI Framework 是一个用于构建智能体和多智能体系统的 Python 与 TypeScript 工具包。它提供 Requirement Agent、普通 Agents、Backend、Tools、RAG、Templates、Memory、Cache、Serialization 与 Workflows 等组件。应用可通过统一 Backend 接入 LLM 提供商,并让智能体调用内置或自定义工具、执行交接与工作流编排。示例中的 RequirementAgent 通过 run() 处理问题,并从 response.last_message.text 取得最终文本响应。部署边界包括以服务器形式托管智能体,并支持 A2A 与 MCP 等协议。
开发者创建 RequirementAgent,传入 ChatModel、工具列表、requirements、role 与 instructions。示例使用 ChatModel.from_name("ollama:granite4.1:8b"),主智能体配置 ThinkTool,以及指向知识与天气子智能体的 HandoffTool;知识子智能体使用 WikipediaTool,天气子智能体使用 OpenMeteoTool。调用 await main_agent.run(question, expected_output="Helpful and clear response.") 后,框架执行智能体与工具交互,并从 response.last_message.text 提供回答。GlobalTrajectoryMiddleware(included=[Tool]) 可在该示例中把所有工具调用记录到控制台;FrameworkError 可通过 err.explain() 输出错误说明。
- Python 团队需要把百科查询和天气预报拆分给不同专业智能体,并由主智能体通过 HandoffTool 汇总结果时。
- 需要用 RequirementAgent 为不同 LLM 设定必须遵循的规则,并利用 ConditionalRequirement 强制在指定步骤调用 ThinkTool 时。
- TypeScript 服务团队希望通过 Backend 模块统一接入聊天或嵌入式 AI 服务,并逐步构建工作流时。
- 需要为带检索能力的应用组合向量存储、文档处理与 RAG 组件时。
- 要将已构建的智能体托管为服务,并通过 A2A 或 MCP 协议提供访问时。
这个 Agent 有哪些优点和局限?
- 同时提供 Python 和 TypeScript 库,便于在两种常见服务端技术栈中采用。
- Requirement Agent 与 ConditionalRequirement 可把特定工具调用规则直接纳入智能体配置。
- HandoffTool、Workflows 与多智能体示例提供了明确的协作编排路径。
- 可通过 Serve 托管智能体,并支持 A2A 与 MCP 协议。
- 内置轨迹中间件、事件、日志与错误处理被列为可观测性能力。
- README 没有给出 Python 或 Node.js 的支持版本、通用模型提供商配置或凭据配置。
- 示例依赖本地 Ollama 及已下载的
granite4.1:8b模型,首次运行前需要额外准备。 - Python 在 README 中标为 alpha 发布,采用时应自行评估版本成熟度与升级风险。
- README 未提供 Python 与 TypeScript 功能一致性的完整矩阵。
- 法律声明指出 IBM 不承担提供增强、更新或支持的义务,也不会继续维护该代码。
如何安装或部署这个 Agent?
Python:pip install beeai-framework
TypeScript:npm install beeai-framework
仓库未说明 Python、Node.js 版本或通用凭据配置。README 示例要求已安装 Ollama,并已下载 granite4.1:8b 模型。
如何使用这个 Agent?
Python 示例的最小调用路径是:创建 RequirementAgent(llm=ChatModel.from_name("ollama:granite4.1:8b"), ...),然后在异步函数中运行:response = await main_agent.run(question, expected_output="Helpful and clear response."),并读取 response.last_message.text。将脚本保存后,README 给出的运行命令是:python [project_name].py。若运行过程中捕获 FrameworkError,可调用 err.explain() 获取错误说明。
常见问题
是否只能使用某一家模型提供商?
granite4.1:8b。运行示例需要什么额外条件?
granite4.1:8b;README 给出的脚本运行方式是 python [project_name].py。能否把智能体暴露给其他系统?
工具调用失败时如何处理?
FrameworkError,并调用 err.explain() 输出错误说明;也可用 GlobalTrajectoryMiddleware 记录工具调用。