· via dev.to (home feed)
107-task data engineering benchmark pits LangGraph, CrewAI and AutoGen against scale
A code-first dev.to benchmark ran LangGraph, CrewAI and AutoGen across 107 I/O-bound data engineering tasks, exposing where each framework's abstractions start to leak as agent workflows scale.

The setup: 107 tasks built to stress real pipelines
A developer-written post on dev.to, published under the handle priyeshdave6, benchmarks three widely used agent orchestration frameworks — LangGraph, CrewAI and AutoGen — against 107 data engineering tasks modelled on production workloads rather than tutorial examples. According to the post, the suite spans extraction from APIs, PDFs and HTML; transformations such as schema normalisation, deduplication and feature creation; loads into Snowflake, S3 and Postgres; QA checks like null detection and anomaly flagging; and small directed acyclic graphs.
The author sets strict constraints for every task: at least one API or database call, semi-structured payloads with a median size of 100KB, between one and six LLM calls using GPT-4-turbo or Claude 3 Opus, a hard service level of under 15 seconds median runtime, and a target cost of one cent per task. More than a quarter of the tasks involve agent chaining, error recovery or fuzzy duplicate detection — precisely the areas, the author argues, where official framework documentation tends to oversell and underdeliver, since happy-path demos say little about flows that deadlock mid-run or bills that jump overnight.
All runs reportedly executed on the same 8-core ARM node with capped I/O to avoid rate limits, using GPT-4-turbo for LLM calls and Postgres as the data sink.
LangGraph: explicit control, growing boilerplate
LangGraph, which builds on LangChain, is Python-only, deterministic, and makes graph structure, step control and state explicit. According to the dev.to post, that explicitness comes at a price in code volume: by roughly the twentieth task, every node needs its own try/catch handling, retries and output validation. Node code duplicates across task families, and coordinating upstream and downstream DAGs often requires awkward global state or out-of-band callbacks.
The offsetting benefit, the author writes, is transparency: state is always visible, so when a pipeline fails you can see exactly where and why. The overall verdict is predictable control and speed, paid for in boilerplate as complexity climbs.
CrewAI: ergonomic up to a point
CrewAI promises modular agent collaboration without orchestration pain, and the benchmark agrees — for roughly the first ten agents or tasks. Beyond that, according to the post, the task abstraction leaks: mapping variable dependencies gets messy, chaining outputs between tasks turns brittle, and chains of three or more hops trigger intermittent "variable not found" errors that make debugging slow. Scaling out also produces sprawl, with hundreds of agent and job classes replacing modularity, while retry handling stays opaque.
The author describes this as a composability cliff: less boilerplate than LangGraph, but less control and clarity once things go wrong, and a point at which teams end up rewriting flows or breaking the abstraction entirely.
AutoGen: smoothest start, steepest penalties
AutoGen automates message passing and memory out of the box, and the post calls its onboarding best in class for linear or loosely coupled flows. The cost appears as workflow depth grows. The author claims lazy message pruning lets prompt context balloon, with token cost and memory exceeding LangGraph and CrewAI by 30 to 90 percent as chain length increases, and with agent and message-graph depth driving quadratic growth in latency.
Error handling fares worst of the three: failures in agent chains reportedly propagate as generic exceptions, making forensics noisy. The post's conclusion is that AutoGen is impressive for prototypes but risky once real workflow depth and production budgets are involved.
The aggregate numbers
The post closes with an aggregate comparison across all 107 tasks covering median and 99th-percentile runtime, mean cost per task and total error counts. The retrieved copy of the article is truncated mid-table, so the specific figures cannot be quoted here. The qualitative framing, however, is consistent throughout: LangGraph for controllability and cost predictability at scale, CrewAI for small and shallow crews, and AutoGen only for surface-level flows.
Why it matters
Agent framework choices are usually made on the strength of quick-start demos, and this benchmark is a useful counterweight because it tests what actually dominates real deployments: error recovery, state handoffs between chained agents, and token cost at depth. The practical guidance for teams is to budget for boilerplate if deterministic control matters, to cap CrewAI deployments before chaining gets deep, and to treat AutoGen's automation as a direct trade against spend and latency.
The caveats are real, too. This is a single self-published benchmark of one workload class — I/O-bound data engineering with GPT-4-turbo — and other domains, models or framework versions may behave differently. Still, as a concrete, code-first data point on how agent abstractions hold up past a hundred tasks, it is more actionable than most vendor documentation.
- #llm-agents
- #benchmarks
- #langgraph
- #crewai
- #autogen