AI agent frameworks, compared
An agent framework wires a model to tools and lets it plan, act and loop towards a goal. The choice turns on how much control flow you need to see, which language your team writes, and whether you are building on one model provider.
Learn the idea What an AI agent is, and what changes when AI takes action on Horizon
Open this layer in the explorerAt a glance
Every tool in this layer, with where it fits and the facts that usually decide it.
| Tool | Where it fits | Licence | Self-hostable | Hosted API | Maturity |
|---|---|---|---|---|---|
| LangGraph Graph orchestration | Reach for LangGraph when an agent needs real branching (loops, retries, human-in-the-loop pauses) and you want that control flow written down explicitly. | Open source | Yes | No | Established |
| Agno Multi-agent framework | A fit for Python teams building multi-agent systems where per-agent overhead and speed matter. | Open source | Yes | No | Growing |
| AutoGen Multi-agent conversation | A fit for research-flavoured, exploratory multi-agent work where conversation between agents is the point. | Open source | Yes | No | Growing |
| Claude Agent SDK Lightweight agent SDK | A strong fit when building agents on Claude that run long, use many tools, and need context handled rather than hand-managed. | Open source | Yes | No | Growing |
| CrewAI Multi-agent orchestration | Good when a task decomposes cleanly into distinct roles and you want a fast, readable way to express that collaboration. | Open source | Yes | Yes | Growing |
| DSPy Prompt optimisation | A fit when prompt quality is critical, you have examples to optimise against, and you want that tuning done by a compiler rather than by hand. | Open source | Yes | No | Growing |
| Mastra TypeScript agent framework | The natural choice for TypeScript and Node teams who want agents in the same language and codebase as the rest of their app. | Open source | Yes | No | Growing |
| OpenAI Agents SDK Lightweight agent SDK | A good fit when you want a minimal agent loop with handoffs and tracing, and you are already building on OpenAI models. | Open source | Yes | No | Growing |
| Pydantic AI Type-safe agent framework | A strong fit for Python teams who want agent code that is statically typed and whose outputs are validated by construction. | Open source | Yes | No | Growing |
| Semantic Kernel Enterprise agent SDK | The natural choice for .NET and enterprise Microsoft shops bringing agents into existing applications. | Open source | Yes | No | Established |
| smolagents Code-writing agents | A fit for tasks where actions are naturally computational and a code-writing agent expresses them more cleanly than a chain of tool calls. | Open source | Yes | No | Growing |
How to choose
Start from your situation. Where a line says “our”, it comes from Comet Lab’s own builds.
-
The agent has real branching: loops, retries, human approval
Control flow written down as an explicit graph, so a misfire becomes a named node you can inspect. Our default when an agent genuinely branches.
-
The work splits cleanly into roles
-
Outputs feed other systems
Typed agent code with outputs validated by construction: a malformed response fails loudly instead of poisoning the next step.
-
You are building on one provider's models
The Claude Agent SDK suits long-running agents on Claude, with context handled for you; the OpenAI Agents SDK is a minimal loop with handoffs and tracing for teams already on OpenAI models.
-
Your team writes TypeScript or .NET
Mastra keeps agents in the same TypeScript codebase as the app; Semantic Kernel brings agents into .NET and Microsoft-stack applications.
-
You have examples to optimise against
Prompt tuning done by a compiler instead of by hand. Without evaluation data, the ceremony outweighs the benefit.