Skip to content

M19: Build agents in many frameworks (Part D, Agentic Systems)

In M9 you built an agent by hand. In M18 you orchestrated a team of them. There's one question left: which framework do you reach for? LangGraph? CrewAI? AutoGen? n8n? The honest answer is "they're mostly the same idea wearing different clothes", and today you prove it by building the exact same agent in eight frameworks plus one no-code tool. After this, no framework's docs can intimidate you: you'll recognize the pattern under the names.

Today's win: the same tool-using agent, multiply(a, b), asked "What is 23 times 17?", built in LangGraph, CrewAI, AutoGen, the Claude Agent SDK, smolagents, LlamaIndex, the OpenAI Agents SDK, hand-rolled from scratch, and wired with no code in n8n. One idea, nine ways.

Today you will

  • See that every agent framework wraps the same loop (M9): ask → maybe call a tool → feed the result back → repeat
  • Build one identical agent across 8 Python frameworks + n8n (no-code), and read the trade-offs
  • Learn to choose: single-agent vs. crew, code vs. no-code, and which fits which job
  • Connect it back to M18: frameworks are just ergonomics over the orchestration shapes you already met

Run of show (~70 min)

Time What we do
0:00 Hook: nine ways, one idea
0:05 The anchor, read 01_from_scratch.py, the loop everything else hides (notes.md)
0:15 Lab Part A: run the two verified anchors (from-scratch + LangGraph)
0:35 Lab Part B: read 3 more frameworks side-by-side; spot what's the same
0:55 Lab Part C: wire the no-code n8n agent / add your own framework
1:05 Show + wrap

If you get stuck

  • Builds on M9 (agents/tools, read that loop again), M16 (MCP, used by the Claude Agent SDK), M18 (orchestration shapes). Reuse your .env key.
  • Each framework needs Python 3.10-3.12 and a pip install; live runs cost tokens. You only run the two anchors in the lab, the rest you read (they're verified by syntax + current docs, and marked pilot).
  • Different frameworks want the model string differently: bare claude-opus-4-8, or LiteLLM's anthropic/claude-opus-4-8. The solution table lists which is which.
  • An import error usually means the framework's API moved, check its current docs; the pattern (model + tools + run) is stable.

Optional challenge

Open starters/add_framework.py and build the same agent in a ninth framework not covered here (Pydantic AI, Agno, Haystack, Semantic Kernel, Google ADK…). If you can do it from that framework's quickstart in under 20 minutes, you've internalized the pattern, which was the whole point.