BeeAI Framework
Build orchestrated, deployable multi-agent systems in Python or TypeScript.
- Source repo
- i-am-bee/beeai-framework
- Stars
- ★ 3.5k
- Last updated
- 3d ago
- License
- Apache-2.0
- Primary language
- Python
- FA score
- 51/100 · Major gaps
At a glance
- How it runs
- Works with
- Universal · cross-platform
- Cost
- Free software; you pay for model usage
- Setup effort
- Medium · a few setup steps
- You'll need
- Typical use
- A Python team that needs a primary agent to delegate encyclopedic lookup and weather forecasting to separate specialists through HandoffTool.
- Not a fit if
- Teams needing a stable production-grade Python library, as the Python release is alpha
- Teams expecting vendor support or long-term maintenance from IBM
- Source review
- 51/100 · Major gaps 1 safety controls not found
What does this agent do, and when should you use it?
BeeAI Framework is a Python and TypeScript toolkit for building intelligent agents and multi-agent systems. Its documented components include Requirement Agent, Agents, Backend, Tools, RAG, Templates, Memory, Cache, Serialization, and Workflows. Applications can connect to LLM providers through the unified Backend interface, then combine tools, handoffs, and workflow orchestration. In the supplied example, a RequirementAgent processes a request with run() and exposes its final text through response.last_message.text. Agents can be hosted in servers, with A2A and MCP listed as supported protocols.
A developer constructs a RequirementAgent with a ChatModel, tools, requirements, role, and instructions. The example uses ChatModel.from_name("ollama:granite4.1:8b") and gives the main agent ThinkTool plus HandoffTool instances for knowledge and weather specialists; those specialists use WikipediaTool and OpenMeteoTool. Calling await main_agent.run(question, expected_output="Helpful and clear response.") runs the agent and its tool interactions, then returns an answer through response.last_message.text. In that example, GlobalTrajectoryMiddleware(included=[Tool]) logs every tool call to the console, while FrameworkError can be explained with err.explain().
- A Python team that needs a primary agent to delegate encyclopedic lookup and weather forecasting to separate specialists through HandoffTool.
- An application team that needs RequirementAgent and ConditionalRequirement to make a ThinkTool call mandatory at a chosen step.
- A TypeScript service team that wants one Backend module for chat and embedding AI services while building an agent workflow.
- A retrieval application that needs to combine vector stores and document processing through the documented RAG capability.
- A platform team that wants to host agents in a server and expose them through A2A or MCP.
How do you install or deploy this agent?
Python: pip install beeai-framework
TypeScript: npm install beeai-framework
The supplied documentation does not specify supported Python or Node.js versions, or a general credential setup. Its Python example requires Ollama and the granite4.1:8b model to be downloaded.
How do you use this agent?
The documented Python path is to create a RequirementAgent(llm=ChatModel.from_name("ollama:granite4.1:8b"), ...), then call response = await main_agent.run(question, expected_output="Helpful and clear response.") inside an async function and read response.last_message.text. The documented script command is python [project_name].py. If a FrameworkError is caught, call err.explain() for its explanation.
What are this agent's strengths and limitations?
- Provides both Python and TypeScript libraries for adoption across two common server-side stacks.
- Requirement Agent and ConditionalRequirement place explicit tool-use rules in the agent configuration.
- HandoffTool, Workflows, and the multi-agent example provide a concrete composition path for specialist agents.
- Serve is documented for hosting agents with A2A and MCP protocol support.
- Trajectory middleware, events, logging, and error handling are documented observability capabilities.
- The supplied documentation does not state supported Python or Node.js versions, general provider configuration, or credential setup.
- The worked example depends on a local Ollama installation and a downloaded
granite4.1:8bmodel. - The README identifies the Python library as alpha, so adopters should assess maturity and upgrade risk.
- No complete Python-versus-TypeScript feature-parity matrix is provided.
- The legal notice says IBM has no obligation to provide enhancements, updates, or support and will not maintain the code going forward.
How does this agent compare with similar options?
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| BeeAI Framework This agent | 51 · Major gaps | Library / SDKFree + model costs | ★ 3.5k | 3d ago | Python | — |
| Langroid | 70 · Some gaps | Library / SDKFree + model costs | ★ 4.1k | 2d ago | Python | Claude Code · OpenAI API |
| FastMCP | 43 · Major gaps | Library / SDKFreemium | ★ 28k | today | Python | — |
| Pocket Flow | 41 · Major gaps | Library / SDKFree + model costs | ★ 11k | 3mo ago | Python | — |
How does FollowAgents rate this agent?
Why each dimension lost points
Evidence shows middleware for tool call logging (e.g., GlobalTrajectoryMiddleware) but no explicit default least privilege or user confirmation. Data flow transparency limited; sensitive data handling not detailed. Dependency security has SECURITY.md and lock files but no vulnerability scan evidence. External effects (tool calls) have examples but no explicit control. Rollback not mentioned. Source attribution clear with contributors and maintainers.
Documentation and examples consistent; error handling with FrameworkError and explain(). Dependency availability not explicit but install instructions provided. Failure messages have examples but not comprehensive.
Targets developers and multiple scenarios, provides Python and TypeScript, rich examples. Capability boundaries documented, but trigger precision (e.g., conditional requirements) only in examples. Environment fit good with multiple LLM providers.
Information architecture clear with docs and examples. Install notes simple. Naming stable with releases and changelog. Known limitations not explicitly listed. License Apache-2.0 complete. Maintenance responsibility has maintainers file but update path not explicit.
Output usability high with multi-language examples and templates. Marginal value high for multi-agent systems. Cost-benefit not explicit but caching can reduce costs.
Claims supported by docs and examples but no independent verification. Cross-source corroboration limited, mainly self-documentation. Fact-inference separation good with clear example code.
- Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
- No explicit default least privilege or user confirmation; configure as needed.
- Sensitive data handling and external effect control not detailed; use with caution.
- Rollback not mentioned; implement state persistence yourself.
- Dependency security lacks vulnerability scan evidence; check yourself.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
Release notes excerpt
⚠ BREAKING CHANGES - tools: GoogleSearchTool has been removed as Google's Custom Search JSON API is discontinued for new users and sunsets on January 1, 2027. Downstream agents should use DuckDuckGoSearchTool or WikipediaTool instead. Features - adapters: add MiniMax regional (CN) endpoint selection ([#1576](https://github.com/i-am-bee/beeai-framework/issues/1576)) ([f1e1944](https://github.com/i-am-bee/beeai-framework/commit/f1e19449a914ea5165ae47d895bbc4308cf1f126)) …View on GitHub ↗ -
Release notes excerpt
BREAKING CHANGE - beeai-framework[transformers] (and [all]) no longer installs torch, peft or outlines. Users of TransformersChatModel must install them separately, e.g. the PyTorch build for their hardware followed by pip install "beeai-framework[transformers]" peft outlines. Bug Fixes - adapters: report cached token usage in the LangChain chat adapter (#1906) - internals: accept any value for a JSON Schema property without a type (#1903) - memory: include tool calls and results in the SummarizeMemory prompt (#1902) …View on GitHub ↗ -
Release notes excerpt
Bug Fixes - tools: generate typed schemas for keyword-only parameters (#1721) - propagate Python stream errors and cancellation (#1711) - adapters: preserve LangChain image content (#1715) - adapters: apply LiteLLM proxy response cost reported via _hidden_params (#1699) - tools: preserve cache and middleware when cloning file and shell tools (#1706) - internals: carry the abort state through AbortController.clone (#1704) - backend: copy the caller's settings dict instead of aliasing it (#1701) …View on GitHub ↗
FAQ
Is it limited to one model provider?
granite4.1:8b.What is required to run the example?
granite4.1:8b model downloaded. The documented script command is python [project_name].py.Can agents be exposed to other systems?
How are tool-call failures handled?
FrameworkError and calls err.explain(). It also uses GlobalTrajectoryMiddleware to log tool calls.