CrewAI is a large, actively maintained Python framework for orchestrating autonomous AI agents and event-driven multi-agent workflows. The codebase is organized as a monorepo with six libraries under `lib/`: `crewai` (core framework), `crewai-cli` (CLI), `crewai-tools` (tool integrations), `crewai-files` (multimodal file handling), `crewai-core` (shared utilities), and `devtools` (release tooling). The core provides two complementary abstractions — Crews for autonomous role-based agent collaboration and Flows for precise, state-machine-driven orchestration — that can be combined in production applications. The framework supports numerous LLM providers (OpenAI, Anthropic, Gemini, Azure, Bedrock, and many more), a wide array of built-in and third-party tools, MCP/A2A protocol integrations, human-in-the-loop flows, and enterprise deployment via the AMP Suite. The repository has extensive test coverage (pytest with VCR cassettes), strong static analysis (ruff, mypy, bandit), and a well-defined release process. While the framework code is solid and well-structured, the repository is dominated by auto-generated documentation files (thousands of `.mdx` files across multiple versions and languages) and repetitive tool README templates, which inflate the file count but contribute little reusable engineering value.
Agno is a Python framework for building, orchestrating, and deploying AI agents. It provides a unified abstraction over dozens of LLM providers (OpenAI, Anthropic, Gemini, Groq, DeepSeek, etc.) and supports rich tool integration, multi-agent teams, workflow engines, RAG knowledge bases, persistent session storage, and human-in-the-loop patterns. The architecture centers on core classes: `Agent`, `Team`, `Workflow`, `Knowledge`, and `Toolkit`, all composable through a consistent configuration interface. Agents can be served via the `AgentOS` runtime, which exposes REST, MCP, A2A, Slack, and WhatsApp endpoints with JWT-based auth, scheduling, and observability. The framework includes a comprehensive evaluation suite (`AccuracyEval`, `PerformanceEval`, `ReliabilityEval`), a learning machine for persistent user profiling and memory, and an environments module for reproducible agent rollouts and scorer-based export. While primarily an application framework, it also exhibits data/research characteristics through its evaluation infrastructure, knowledge chunking/embedding pipelines, and systematic experiment tooling. The extensive cookbook (300+ examples) doubles as integration tests, demonstrating patterns ranging from simple single-agent tasks to complex distributed teams and nested workflows. Key entry points include `agno.agent.Agent`, `agno.team.Team`, `agno.workflow.Workflow`, `agno.os.AgentOS` (`agno serve`), and the `agno` CLI. The codebase is large and actively maintained, with a broad integration surface across models, vector databases, storage backends, and third-party tools. Technical drift is moderate, with some experimental model wrappers and rapidly evolving model IDs that may require updates.