{
  "id": 8852149,
  "title": "I built the same agent in Strands, LangGraph, and CrewAI — and recorded every LLM call to see how they actually differ",
  "url": "https://urgent.news/2026/09/21/i-built-the-same-agent-in-strands-langgraph-and-crewai-and-recorded",
  "topic": "ai",
  "section": "AI",
  "published": "2026-09-21T05:47:42.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/sunnydachs/i-built-the-same-agent-in-strands-langgraph-and-crewai-and-recorded-every-llm-call-to-see-how-4ae8"
  },
  "original_language": "en",
  "account": "This investigative article details a comprehensive comparison of three agent frameworks—Strands, LangGraph, and CrewAI—by implementing the same tech-news digest agent in each of them. The author then meticulously ran 27 executions and recorded every LLM call to analyze how the frameworks handled the process differently.\n\nThe frameworks exhibit distinct philosophies that translate into implementation differences. Strands operates in a model-driven manner, where the model autonomously decides tool usage, order, and when to stop. With only 78 lines of code, it allows for adaptive LLM calls based on the task at hand. In contrast, LangGraph employs a graph-driven approach, where the model only decides within nodes of a predefined state and edge structure. This approach mandates a more deterministic workflow. CrewAI takes a role-based framework, where agents with defined roles and backstories work together through an orchestrator called Crew.\n\nA crucial aspect of this study was the consistent use of a single model behind a local proxy that recorded every LLM call. This proxy abstracted away the different log formats and trace shapes produced by each framework, enabling a direct comparison of tokens used and latency. The findings revealed that LangGraph's explicit verify/revise loop significantly reduced output variance by 77% compared to Strands, but at the cost of 2.5x more tokens and latency. The repeatability of CrewAI's output, driven by the use of temperature=0 and a role prompt, led to a fixed call structure with four calls in base mode, regardless of changes like a tighter word count requirement.\n\nThe analysis also sheds light on how each framework handles schema drift, where a minor change in the tool arguments (such as renaming \"text\" to \"content\") was smoothly absorbed by all three frameworks, with CrewAI being the most consistent in its response. Ultimately, the study highlights that while model-driven frameworks like Strands offer flexibility and adaptive reasoning, they come at the cost of variability in output and higher resource consumption. In contrast, graph-driven and role-based frameworks provide more deterministic and consistent behavior but require more upfront setup and potentially less adaptability.",
  "summary": "Which framework should I actually use? Every comparison article has an opinion. Almost none of them has data. So I built the same agent three times — once in Strands , once in LangGraph , once in CrewAI — ran 27 executions, and routed every single LLM call through a local recorder proxy so the logs are directly comparable. The frameworks write different log formats, different trace shapes,…",
  "key_points": [
    "Strands framework uses model-driven approach with adaptive LLM calls",
    "LangGraph employs graph-driven approach with deterministic workflow",
    "CrewAI takes role-based framework with consistent output"
  ],
  "editors_take": "This comparison reveals that agent frameworks embody distinct design philosophies that dictate implementation, flexibility, and consistency, influencing developers' choices based on priorities between adaptability and determinism.",
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}