GILD verdict
Choose the OpenAI Agents SDK for a small loop on OpenAI models whose traces feed evals, and CrewAI for specialist roles across vendors.
- The workflow
- A Python team choosing the framework its first production agent workflow will live on, between role-based crews and a small model-driven loop.1530
- The decisive evidence
- Reported5 of 8 named teams adopted one; What teams report below sets out each account.
- ReportedHarvey's engineers wrote on Dec 10, 2025 that they run offline evals of their legal search agent in LangSmith on the Agents SDK's OpenTelemetry traces, and that the eval data lifted tool selection precision from near zero to 0.8 to 0.9.1
- DocumentedCrewAI requires chromadb 1.5.9, which GitHub advisory GHSA-f4j7-r4q5-qw2c rates critical with no patched version, and its agents fall back to gpt-4.1-mini in code. The Agents SDK defaults to gpt-5.6-luna and sends traces with model and tool inputs and outputs to OpenAI unless the exporter is replaced.1021223135
- GILD analysisNo named team on record runs both, so each side's case rests on its own accounts. At 10,000 runs a month of 20,000 input and 2,000 output tokens on gpt-5.6-luna, model tokens cost about US$64 on either framework, and the platform bill stays unresolved because AMP above 50 executions needs an Enterprise quote that CrewAI does not publish.
- The tradeoff
- Harvey's evals run on Agents SDK traces; a CrewAI team must pin its dependencies and make its tools safe to retry. CrewAI adds roles, flows, and a governed platform at the cost of more framework and dependencies to pin, which EpicStaff stopped carrying in September 2026. The Agents SDK keeps the code small, and its 0.Y.Z versioning lets minor releases break public interfaces.1615161922303136
The named teams split by side. Harvey built the offline evals for its agentic legal search on the Agents SDK's OpenTelemetry traces, and Lark's sandbox runtime defaults to an SDK agent. On CrewAI, PwC and Gelato report gains in CrewAI's case studies, an AB InBev engineer hit an async guardrail crash, and EpicStaff deleted its vendored CrewAI in September 2026. CrewAI runs models from any vendor and requires a ChromaDB release under a critical advisory; the Agents SDK defaults to gpt-5.6-luna and sends traces to OpenAI.
What teams report
8 named accounts
Failures and incidents 1
AB InBevOn CrewAI
On crewai 1.15.18, async agents that an output guardrail rejected crashed when they should have retried, because the retry ran through the synchronous executor inside the event loop (GitHub issue, Sep 3, 2026).
“AttributeError: 'coroutine' object has no attribute 'get'…”
Jucelio Quentino, Developer, AB InBevGitHub, crewAIInc/crewAI, , post
Left or turned down 1
PydanticOn CrewAI
When Pydantic began building AI features into Logfire, Colvin looked at the frameworks built on Pydantic, CrewAI among them, found them short on type safety, and built Pydantic AI, which now competes with CrewAI (Software Engineering Daily, Dec 4, 2025).
“Obviously, LangChain, LangGraph, Crew AI, LlamaIndex, all of these guys used Pydantic. And I assumed there was going to be a good one that I could go and use. Started looking at them and was super disappointed by what I found.”
Samuel Colvin, Founder, PydanticSoftware Engineering Daily, , around 13:08
Evaluated 1
IBM ConsultingOn CrewAI
CrewAI's undated case study says IBM Consulting's federal team had two CrewAI pilots for eligibility decisions running inside US agencies by 2025, on watsonx, with Flows deciding when rules or agents run.
“By 2025 his team had two CrewAI pilots running inside federal agencies…”
Narayanan Alavandar, Quoted in CrewAI's case study, IBM ConsultingCrewAI, , write-upVendor customer story
Adopted 5
HarveyOn OpenAI Agents SDK
Harvey built centralized evaluation infrastructure on the Agents SDK's OpenTelemetry traces and scores its agentic legal search offline in LangSmith; the eval data lifted tool selection precision from near zero to 0.8 to 0.9 (Dec 10, 2025).
“Centralized evaluation infrastructure that we built using the OpenAI Agent SDK's OpenTelemetry traces enables us to run offline evaluations in LangSmith. We track metrics like hallucination, tool recall, retrieval recall, formatting, and answer quality.”
Lysia Li, Varun Nair, Aaron Stern and co-authors, Harvey engineering, HarveyHarvey blog, , write-up LarkOn OpenAI Agents SDK
Lark open-sourced the sandbox runtime it built for its test-generating agents; by default it runs an Agents SDK agent with shell and web search tools, and one flag switches it to a Claude Code agent (Mar 18, 2026).
“By default it runs an OpenAI Agents SDK agent with shell + web search tools.”
Vijit and Jack, Builders of Runtime Use (Show HN authors), LarkHacker News, , post PwCOn CrewAI
CrewAI's undated case study says PwC's CrewAI agents generate and validate proprietary-language code and draft long specifications, and reports code-generation accuracy rising from 10% to 70% with no method stated.
“Crew-powered agents boosted code-generation accuracy from 10% to 70%, slashed turnaround time on complex documents, and supplied granular data to prove ROI.”
Jacob Wilson, Quoted in CrewAI's case study, PwCCrewAI, , write-upVendor customer story GelatoCrewAI's undated case study says Gelato runs CrewAI agents that write, test and deploy carrier-integration code, and reports carrier onboarding falling from 5 days to 10 minutes.
Octagon AIOctagon AI open-sourced an MCP server of simulated venture investors on the Agents SDK, citing multi-agent reasoning, handoffs and tool use out of the box (Apr 26, 2025).
Choosing between CrewAI and OpenAI Agents SDK
Choose CrewAI if
- Your work maps to specialist roles with rules around them, as IBM Consulting's federal eligibility pilots let Flows decide when rules or agents run, per CrewAI's 2025 case study.
- You want a managed platform with SSO, role-based access control, and deployment in your own VPC.
- You run models from several vendors, and your team can pin CrewAI's dependencies, ChromaDB among them, and make every tool with side effects safe to retry.
Choose OpenAI Agents SDK if
- Your agents run mainly on OpenAI models and you want their traces as eval input, as Harvey exports them over OpenTelemetry to LangSmith (Dec 10, 2025).
- A small loop with handoffs and guardrails covers the work, in TypeScript as well as Python.
- You are moving workflows off Agent Builder, which OpenAI retires on November 30, 2026 and replaces with the SDK for workflows kept as code.
Side by side
| Dimension | CrewAI | OpenAI Agents SDK |
|---|---|---|
| What teams reportNo named team on record runs both. CrewAI's figures come from its own case studies, which state no method. | PwC reports code-generation accuracy rising from 10% to 70%, and Gelato carrier onboarding falling from 5 days to 10 minutes, in CrewAI's case studies with no method stated. An AB InBev engineer's async agents crashed on their first guardrail rejection (Sep 3, 2026), and EpicStaff deleted its vendored CrewAI, 180,251 lines (Sep 4, 2026)561213 | Harvey runs offline evals of its legal search agent on the SDK's traces, and its eval data lifted tool selection precision from near zero to 0.8 to 0.9 (Dec 10, 2025). Lark's sandbox runtime and Coinbase's AgentKit ship on it; Aurelio Labs left it for its own async framework (Oct 8, 2025)1234 |
| Design | Crews of role-based agents with goals and tools run tasks, inside Flows that hold state and route with start, listen, and router steps1516 | A small set of primitives: agents with instructions and tools, handoffs, and guardrails, in a built-in loop that runs until the task is complete30 |
| License and languagesLatest releases on each project's GitHub repository, checked Oct 28, 2026. | MIT, free; Python 3.10 to 3.13 only (crewai 1.15.32, Oct 27, 2026)2829 | MIT, free; Python (openai-agents 0.24.0, Oct 15, 2026) and TypeScript (@openai/agents 0.21.0, Oct 20, 2026); 0.Y.Z versioning in which a minor release may break public interfaces363739 |
| Models | An agent with no model set reads MODEL, MODEL_NAME or OPENAI_MODEL_NAME, then falls back to gpt-4.1-mini in the library's code, while the Agents docs still say gpt-4; you choose the model per agent as provider/model-id and bring your own key for each provider; native SDKs for OpenAI, Anthropic, Gemini, Azure, Bedrock, and Snowflake Cortex, and LiteLLM for the rest192021 | Default model gpt-5.6-luna with reasoning effort none when an agent sets no model; Responses API for OpenAI models; other providers through Chat Completions-compatible endpoints or the LiteLLM and any-llm adapters31 |
| DependenciesChecked against each project's pyproject.toml on GitHub and the GitHub advisory database, Oct 28, 2026. | Requires chromadb~=1.5.9 on Oct 28, 2026, a range GitHub advisory GHSA-f4j7-r4q5-qw2c rates critical for pre-authentication code injection with no patched version; Headroom and ai-agent-assembly removed CrewAI from their lockfiles over ChromaDB in 2026891022 | Depends on openai, pydantic, mcp, websockets, and a few smaller packages, with security floors set on transitive dependencies such as starlette and urllib3 (pyproject, Oct 28, 2026)38 |
| State and durability | Flow state with @persist, SQLite by default; checkpoints let a crew, flow, or agent resume after a failure or fork, skipping completed tasks and rerunning the rest, tools included1617 | Sessions keep history in SQLite, Redis, SQLAlchemy, MongoDB, Dapr, or OpenAI's Conversations API; durable execution through Temporal, Restate, or DBOS integrations, Temporal's generally available since Mar 23, 2026113233 |
| Human review | The @human_feedback decorator, from CrewAI 1.8.0, pauses a Flow for review and routes on the answer; AMP adds email routing and immutable audit logs of decisions1825 | Tools that need approval pause the run, and the run state is serialized so it can resume after a decision34 |
| Telemetry and tracing | Anonymous usage telemetry on by default, off with CREWAI_DISABLE_TELEMETRY or OTEL_SDK_DISABLED; AMP tracing off with CREWAI_TRACING_ENABLED=false; AMP exports traces to your OpenTelemetry collector2324 | Tracing on by default, to OpenAI's traces dashboard, with model and tool inputs and outputs included; off with OPENAI_AGENTS_DISABLE_TRACING=1; unavailable to organizations under Zero Data Retention; Harvey exports the traces over OpenTelemetry to LangSmith135 |
| Hosting and platform priceList prices in US dollars, checked Oct 28, 2026. CrewAI publishes no per-execution rate. | Your own service, or CrewAI AMP metered per month in workflow executions: Basic at US$0 a month up to 50 executions, Enterprise custom with included executions sized to the workflow and flexible overage, on CrewAI cloud, a dedicated VPC, or your infrastructure2627 | A library you run in your own service; spend is the model and tool usage it calls, at OpenAI API prices. OpenAI's hosted Agents API is a separate product in public beta3042 |
| Cost at a stated workloadGILD's calculation from list prices checked Oct 28, 2026. The inputs are stated assumptions that nobody measured; cached input at US$0.02 per million lowers the total, and prompts above 272,000 input tokens cost more. | GILD's calculation for a workload of 10,000 agent runs a month, each with 20,000 input and 2,000 output tokens, all uncached, on gpt-5.6-luna at US$0.20 per million input and US$1.20 per million output tokens: about US$64 a month in model tokens, US$40 input plus US$24 output, when CrewAI agents use the same model. On AMP each run is a workflow execution, so 10,000 runs pass Basic's maximum of 50 and need an Enterprise quote with overage; self-hosting the library adds your own infrastructure instead1927 | GILD's calculation for the same workload of 10,000 agent runs a month, each with 20,000 input and 2,000 output tokens, all uncached, on gpt-5.6-luna at US$0.20 per million input and US$1.20 per million output tokens, the SDK's default model: about US$64 a month, US$40 for 200 million input tokens plus US$24 for 20 million output tokens, with the MIT library free and hosting on your own infrastructure314142 |
| When to choose | Choose CrewAI if the work maps to specialist agents with roles, you run models from several vendors, or you want a managed platform with SSO and VPC deployment, and you can pin its dependencies152227 | Choose the OpenAI Agents SDK if agents run mainly on OpenAI models and a small loop with handoffs, guardrails, sessions, and built-in tracing covers the work, in Python or TypeScript3035 |
What practitioners report, side by side
Each product's figures come from its own practitioners, for the group you pick.
Overall signal
All practitioners rate CrewAI −7, 10 points above OpenAI Agents SDK at −17. Most of the gap is in complaints, with 21 of OpenAI Agents SDK's 50 sources negative against 9 of CrewAI's 30.
The score counts the authors from all practitioners that take a side, one vote each with their latest view, and is how far positive votes lead negative ones, per 100 votes, so OpenAI Agents SDK's −17 rests on votes split 11 positive, 16 mixed and 19 negative.
Each of CrewAI's authors wrote one source here, so each source is one vote. A lead of a fifth of the votes reads positive and a lead of half strong positive, with the same lines below zero. The dots show each source, positive, mixed, negative. Build one pilot agent to measure the glue code and debugging time the framework adds.
Footprint on the AI Application Platform stack
They differ on two of 9 layers. On Retrieval, CrewAI supports it and OpenAI Agents SDK touches it. On Cloud deployment, CrewAI supports it and OpenAI Agents SDK touches it. Coverage is each product's placement on this stack, as its product page shows it. Core is a job the product owns; Supports and Touches are jobs it helps with. Coverage says nothing about how well a product does them.
| Layer | CrewAI | OpenAI Agents SDK |
|---|---|---|
| Data | ||
| Retrieval | Supports | Touches |
| Operate | ||
| Cloud deployment | Supports | Touches |
The 7 layers where they match
| Layer | CrewAI | OpenAI Agents SDK |
|---|---|---|
| Model | ||
| Model APIs | Touches | Touches |
| Model gateway | Touches | Touches |
| Build | ||
| Orchestration | Core | Core |
| Tool use | Supports | Supports |
| Evaluate | ||
| Evaluation | Touches | Touches |
| Operate | ||
| Observability | Supports | Supports |
| Guardrails | Supports | Supports |
What practitioners praise
Among all practitioners, Fast to a Working Crew and Crews in Real Work reach 5 sources from 3 authors only for CrewAI, at 10 of 10 and 7 of 7. OpenAI Agents SDK needs a pilot on the same agent task before you choose on either. A Small Set of Primitives and Agents Built and Shipped reach 5 sources from 3 authors only for OpenAI Agents SDK, at 11 of 11 and 9 of 9. CrewAI needs a pilot on the same agent task before you choose on either.
| Praised for | CrewAI | OpenAI Agents SDK |
|---|---|---|
| Fast to a Working Crew | 10 of 10 | Not a theme in its sources |
| Crews in Real Work | 7 of 7 | Not a theme in its sources |
| A Small Set of Primitives | Not a theme in its sources | 11 of 11 |
| Agents Built and Shipped | Not a theme in its sources | 9 of 9 |
Each count is the sources that praise a theme, or raise it as a concern, out of those that discuss it. A row pairs the two products when both carry a theme under the same or an equivalent name.
A count ending in "so far" has under 5 sources from 3 authors among all practitioners. "Not a theme in its sources" means GILD found no theme of that name in that product's sources.
What practitioners raise as concerns
Among all practitioners, CrewAI alone has five concern themes that reach 5 sources from 3 authors. Async, Memory & Checkpoint Defects and Coarse Control Over Agents lead, at 10 of 10 and 9 of 9. OpenAI Agents SDK alone has five concern themes that reach 5 sources from 3 authors. Runtime Defects in Production and Latency & Run Overhead lead, at 14 of 14 and 7 of 7.
| Raised as a concern | CrewAI | OpenAI Agents SDK |
|---|---|---|
| Async, Memory & Checkpoint Defects | 10 of 10 | Not a theme in its sources |
| Coarse Control Over Agents | 9 of 9 | Not a theme in its sources |
| Defaults, Telemetry & Dependencies | 9 of 9 | Not a theme in its sources |
| Token Burn & Usage Accounting | 7 of 7 | Not a theme in its sources |
| Tools That Run Twice or Not at All | 7 of 7 | Not a theme in its sources |
| Runtime Defects in Production | Not a theme in its sources | 14 of 14 |
| Latency & Run Overhead | Not a theme in its sources | 7 of 7 |
| OpenAI-First Design & Adapter Gaps | Not a theme in its sources | 7 of 8 |
| Hosting & Storage Left to the Team | Not a theme in its sources | 5 of 5 |
| Tracing Defaults & Export Gaps | Not a theme in its sources | 4 of 5 |
42 sources
- Harvey blog: How agentic search unlocks legal research intelligence at Harvey (Dec 10, 2025)
- Show HN by Lark's founders: Runtime Use, whose default agent runs on the OpenAI Agents SDK (Mar 18, 2026)
- coinbase/agentkit pull request #550: OpenAI Agents SDK support in Python (Mar 11, 2025)
- Hacker News comment by Aurelio Labs' graphai maintainer on leaving LangChain, LangGraph and the Agents SDK (Oct 8, 2025)
- CrewAI issue #7252: kickoff_async guardrail retry crashes, filed by an AB InBev engineer (Sep 3, 2026)
- EpicStaff pull request #768: delete vendored CrewAI and mem0 libraries (Aug 20, 2026, merged Sep 4, 2026)
- Software Engineering Daily: Pydantic AI with Samuel Colvin (Dec 4, 2025)
- Headroom pull request #3870: drop the crewai extra to remove chromadb from the lockfile (Sep 30, 2026)
- ai-agent-assembly pull request #133: remove crewai to fix a critical chromadb vulnerability (Jul 7, 2026)
- GitHub advisory GHSA-f4j7-r4q5-qw2c: ChromaDB pre-authentication code injection, critical (May 18, 2026)
- Temporal blog: Production-ready agents with the OpenAI Agents SDK and Temporal, generally available Mar 23, 2026 (Jul 30, 2025)
- CrewAI customer story: PwC accelerates enterprise-scale GenAI adoption with CrewAI (undated, read Oct 28, 2026)
- CrewAI customer story: Gelato accelerates fulfillment via agentic integration (undated, read Oct 28, 2026)
- CrewAI customer story: IBM automates federal eligibility with agents (undated, read Oct 28, 2026)
- CrewAI docs: Introduction (Crews and Flows)
- CrewAI docs: Flows (state and @persist)
- CrewAI docs: Checkpointing
- CrewAI docs: Human feedback in Flows
- CrewAI docs: LLMs (model setup and providers)
- CrewAI docs: Agents (the llm attribute and its default)
- CrewAI source: constants.py, DEFAULT_LLM_MODEL gpt-4.1-mini
- CrewAI source: pyproject.toml, which requires chromadb~=1.5.9
- CrewAI docs: Telemetry
- CrewAI AMP docs: OpenTelemetry Export
- CrewAI AMP docs: Flow HITL Management (audit logs)
- CrewAI AMP docs: Deploy to AMP
- CrewAI pricing (AMP Basic and Enterprise, executions, overage)
- CrewAI on GitHub (MIT license, Python versions, telemetry)
- CrewAI releases on GitHub (1.15.32, Oct 27, 2026)
- OpenAI Agents SDK docs: Overview
- OpenAI Agents SDK docs: Models (default model gpt-5.6-luna, other providers)
- OpenAI Agents SDK docs: Sessions
- OpenAI Agents SDK docs: Running agents (durable execution integrations)
- OpenAI Agents SDK docs: Human in the loop
- OpenAI Agents SDK docs: Tracing
- OpenAI Agents SDK docs: Release process (0.Y.Z versioning)
- OpenAI Agents SDK on GitHub (MIT license, v0.24.0, Oct 15, 2026)
- OpenAI Agents SDK source: pyproject.toml dependencies
- OpenAI Agents SDK for TypeScript docs: Overview (@openai/agents 0.21.0, Oct 20, 2026)
- OpenAI: Introducing AgentKit, with the Jun 3, 2026 update retiring Agent Builder on Nov 30, 2026
- OpenAI API docs: GPT-5.6 Luna model page (pricing)
- OpenAI API docs: Pricing





