{
  "source_file": "0930",
  "source_platform": "Dev.to",
  "author": "Tae Kim",
  "title_listed": "15 AI Agent Frameworks, One Side-by-Side Table",
  "keywords": "",
  "domain": "大模型算法",
  "content_type": "深度技术解析",
  "is_paid_flag": "否",
  "url": "https://dev.to/hannune/15-ai-agent-frameworks-one-side-by-side-table-5ffa",
  "publish_date": "2026-07-01",
  "corpus_stage": "",
  "notes": "",
  "id": "4a559ecc6268",
  "collected_at": "2026-10-02T14:04:09",
  "title": "15 AI Agent Frameworks, One Side-by-Side Table - DEV Community",
  "body_markdown": "Four production agent projects in the last two years. Four different frameworks.\nLangGraph for a stateful multi-step pipeline with human review gates at critical decision points. CrewAI for a research workflow that needed role-based task delegation. Pydantic AI for typed tool calls behind a thin API wrapper. OpenAI Agents SDK for one that was going to live inside the OpenAI runtime anyway.\nEvery one of those projects started the same way: two weeks of reading documentation, building toy demos, and trying to understand whether the problem called for a graph, a crew, a typed tool loop, or something else entirely.\nThe decision I kept failing to make fast was framework selection. Not because the information was hidden, but because it was scattered. GitHub stars on one site. Benchmark numbers on another, measuring canned tasks I did not recognize from real production. Marketing pages using language shaped to attract everyone rather than describe anything specific.\nWhat I wanted was a table. Control style: graph, role crew, typed tool, conversational. State model: how the framework holds and passes state between steps. License. What the framework is actually shaped for. A liveness signal so I could tell whether the project was maintained. One row per framework. All in one place.\nThat table did not exist, so I built it.\nWhat the table covers\n15 frameworks at launch: LangGraph, CrewAI, AutoGen, Pydantic AI, OpenAI Agents SDK, Mastra, LangChain Agents, LlamaIndex Agents, Semantic Kernel, Haystack Agents, Smolagents, Atomic Agents, Phidata, DSPy, AG2.\nEach row has a tagline I would write to a friend making the selection decision, not the one from the project marketing page. Control style. State model. License. What the framework is shaped for. GitHub stars as a rough liveness proxy.\nThe full directory:\nhttps://compare-lab.xyz/ai-agent-frameworks/\nWhy not a benchmark\nI do not believe the public agent benchmarks right now. They measure tool-call success on small canned tasks and miss the three things that actually determine which framework fits a real project.\nThe first is state-model fit. If your task requires explicit state that survives across steps and branches conditionally, you need LangGraph or Semantic Kernel. If your task is naturally decomposable into independent roles, CrewAI or multi-agent AutoGen patterns fit better. Picking the wrong state model means fighting the framework rather than building with it.\nThe second is abstraction escape. Every framework has an abstraction layer designed for the common case. Production agents hit edge cases constantly. What matters is whether you can break out of the abstraction cleanly when you need to, without rewriting the whole pipeline. Some frameworks make this easy. Some make it very hard.\nThe third is failure recovery. What does the framework actually do when a tool call fails halfway through a long-running run? Can you retry from the checkpoint? Can you log the partial state and restart at step three? These questions are invisible in toy demos and critical in production.\nContributing\nThe data file is open. If you have shipped on one of these in production and a row gets a detail wrong, a correction is a one-line PR. If you have shipped on a framework not yet listed, send me the slug.\nThe longer write-up on why I went with a directory format instead of a benchmark:\nhttps://hannune.ai/blog/why-i-built-ai-agent-framework-compare.html",
  "metadata": {
    "title": "15 AI Agent Frameworks, One Side-by-Side Table - DEV Community",
    "description": "Four production agent projects in the last two years. Four different frameworks.  LangGraph for a... Tagged with ai, agents, langchain, python.",
    "keywords": "ai, agents, langchain, python, software, coding, development, engineering, inclusive, community",
    "author": null,
    "og:type": "article",
    "og:url": "https://dev.to/hannune/15-ai-agent-frameworks-one-side-by-side-table-5ffa",
    "og:title": "15 AI Agent Frameworks, One Side-by-Side Table",
    "og:description": "Four production agent projects in the last two years. Four different frameworks.  LangGraph for a...",
    "og:site_name": "DEV Community",
    "og:image": "https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fn9k3unxm1t20ksqxxj9n.png",
    "twitter:site": "@thepracticaldev",
    "twitter:creator": "@HannuneTech",
    "twitter:title": "15 AI Agent Frameworks, One Side-by-Side Table",
    "twitter:description": "Four production agent projects in the last two years. Four different frameworks.  LangGraph for a...",
    "twitter:card": "summary_large_image",
    "twitter:widgets:new-embed-design": "on",
    "twitter:image:src": "https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fn9k3unxm1t20ksqxxj9n.png"
  },
  "paywall": {
    "listed_paid": false,
    "detected": false,
    "marker": "",
    "public_only": false,
    "policy": "付费/会员内容只保留页面公开可见部分，不绕过付费墙"
  },
  "crawl": {
    "success": true,
    "status_code": 200,
    "error": ""
  },
  "code_blocks": [],
  "images": [],
  "audio": [],
  "videos": [],
  "links": [
    {
      "href": "https://compare-lab.xyz/ai-agent-frameworks/",
      "label": "https://compare-lab.xyz/ai-agent-frameworks/",
      "type": "a"
    },
    {
      "href": "https://hannune.ai/blog/why-i-built-ai-agent-framework-compare.html",
      "label": "https://hannune.ai/blog/why-i-built-ai-agent-framework-compare.html",
      "type": "a"
    }
  ],
  "repair_version": 2,
  "repaired_at": "2026-10-14T10:49:43Z",
  "source_url": "https://dev.to/hannune/15-ai-agent-frameworks-one-side-by-side-table-5ffa",
  "papers": [],
  "actual_video_files": [],
  "body_chars": 3435,
  "expected_body_images": 0,
  "discovery_status": "ok",
  "delivery_status": "ok",
  "missing_reason": "",
  "raw_html": "attachments/4a559ecc6268/pages/source.html",
  "local_html": "attachments/4a559ecc6268/pages/article.html",
  "body_base_path": "attachments/4a559ecc6268/pages/",
  "body_markdown_path": "attachments/4a559ecc6268/pages/article.md"
}