Agent Frameworks Landscape
Agent Frameworks Landscape
How do you build an AI agent? There are all these frameworks (LangChain/LangGraph, Vercel AI SDK, PydanticAI, Claude Agent SDK, Mastra, OpenCode) to help you build agents. What actually makes them different from one another? The present report shares my findings diving into Agent Frameworks.
Who is the "Rest of Us"? People that are not technical enough to just "get it". I am a PM, somewhat technical but not overly so. And as such this report certainly contains inaccuracies or errors. Feedback will improve it :)
Mapping the frameworks: I need maps to orient myself. I've come to think of frameworks as belonging to one of the following 3 categories.
- Orchestration frameworks: LangGraph, PydanticAI, Mastra, Vercel AI SDK
- Agent SDKs: Claude Agent SDK, Pi SDK
- Agent servers: Opencode
More specifically, frameworks are positioned based on 2 questions:
- Where does orchestration live?
Orchestration outside the agent loop (app-driven) ↔ orchestration inside the agent loop (agent-driven). - Where is the agent boundary?
Agent IN the app (agent-as-a-feature) ↔ agent IS the app (agent-as-a-service).

What you can expect in the following parts:
- Part 1: What "agent" means — the three ingredients every agent is made of.
- Part 2: How frameworks differ in who decides what happens next — your code or the model.
- Part 3: Why the most powerful agent tool is a Unix shell, and what that implies.
- Part 4: What it takes to turn an agent library into an agent server.
- Part 5: Real projects that made different architectural choices, and what you can learn from them.