BeeAI Framework

Build orchestrated, deployable multi-agent systems in Python or TypeScript.

Stars
★ 3.5k
Last updated
3d ago
License
Apache-2.0
Primary language
Python

At a glance

How it runs
Library / SDKFramework
Works with
Universal · cross-platform
Cost
Free software; you pay for model usage
Setup effort
Medium · a few setup steps
You'll need
Shell / CLINetwork accessMCP Server
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

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().

  1. A Python team that needs a primary agent to delegate encyclopedic lookup and weather forecasting to separate specialists through HandoffTool.
  2. An application team that needs RequirementAgent and ConditionalRequirement to make a ThinkTool call mandatory at a chosen step.
  3. A TypeScript service team that wants one Backend module for chat and embedding AI services while building an agent workflow.
  4. A retrieval application that needs to combine vector stores and document processing through the documented RAG capability.
  5. 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?

Pros
  • 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.
Limitations
  • 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:8b model.
  • 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?

FollowAgents source review · FARS-2.1
Major gaps
51/ 100 5-point scale 2.6 / 5
This review covers the source as of Aug 09, 2026. The project has shipped 6 stable release(s) since, which have not been re-reviewed. The score and verdict describe the reviewed version only. Recent releases ↓
Trust 10/29
Reliability 8/14
Adaptability 10/18
Convention 12/18
Effectiveness 7/13
Verifiability 4/8
Why each dimension lost points
Trust10 / 29 · 1.7/5

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.

Reliability8 / 14 · 2.9/5

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.

Adaptability10 / 18 · 2.8/5

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.

Convention12 / 18 · 3.3/5

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.

Effectiveness7 / 13 · 2.7/5

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.

Verifiability4 / 8 · 2.5/5

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.

Risks and how to mitigate them
  • 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.
Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision 460c729002dc New commits since this review; the score may not cover them
See the full review method →

Recent releases

Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.

  1. typescript_v0.1.32
    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 ↗
  2. python_v0.1.86
    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 ↗
  3. python_v0.1.85
    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?
No. Backend is described as connecting to any LLM provider through unified interfaces; the supplied example specifically uses Ollama with granite4.1:8b.
What is required to run the example?
It requires Ollama with the granite4.1:8b model downloaded. The documented script command is python [project_name].py.
Can agents be exposed to other systems?
Yes. Serve is described as hosting agents in servers, with A2A and MCP listed among the supported protocols.
How are tool-call failures handled?
The example catches FrameworkError and calls err.explain(). It also uses GlobalTrajectoryMiddleware to log tool calls.
What does the framework cost?
The supplied documentation does not state framework pricing or model-service pricing. Selected model runtimes and external services may have their own costs.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents