MONOSPACE


AGENTSNº 001

Seven Frameworks, One Category Error

LangChain, LangGraph, Claude Agent SDK, OpenAI Agents SDK, Flue, Pydantic AI, and NVIDIA's NeMo Agent Toolkit — compared through a hybrid self-hosting lens, with the marketing stripped off.

Ask “which agent framework should we use?” and you’ve already made the mistake this study exists to correct. The seven contenders aren’t the same kind of thing. Some are integration glue. Some are orchestration graphs. A couple are full autonomous harnesses, and one, NVIDIA’s NeMo Agent Toolkit, sits off to the side of all of them. Comparing them on features is like comparing an engine, a chassis, and a race team.

The Premise

The study works through one deliberately concrete lens: building and deploying an agent in a hybrid setup, where your own GPU inference and cloud APIs both have to work. Every claim is tagged either measured, from its own experiments, or sourced, from vendor docs, and stamped with a validity window of June 2026. Most framework roundups skip that last part.

‘Which framework?’ is a category error — four kinds of artifact share one buzzword.

The Machine

The method sorts every contender onto a layer before anything else. Integration glue is LangChain. Orchestration is LangGraph, the OpenAI Agents SDK, and Pydantic AI. A full harness is the Claude Agent SDK or Flue. Above the harnesses sits a newer fleet layer, which is where Sandcastle lives. Only then does the study score twelve decision axes, from model portability and self-hosting fit to observability and supply-chain weight. The fact that decides most of it: a self-hosted NIM endpoint speaks the OpenAI-compatible protocol, so any framework that takes a custom base_url runs your own models with a one-line change.

The Test Drive

The portability test built the same ~32-line tool-calling agent in each Python framework, pointed at an OpenAI-compatible endpoint. LangGraph, the OpenAI Agents SDK, and Pydantic AI all passed on a one-line base-URL swap. The Claude Agent SDK couldn’t take the test at all. We cracked open its Python package and found a 248 MB compiled Claude Code binary inside, wired to Anthropic, Bedrock, and Vertex and nothing else. All Claude, all cloud.

The footprint audit was just as clarifying. Sandcastle installs 7 packages and 15 MB. LangChain, 34 packages and 95 MB. Flue pulls 271 packages and 210 MB. Pydantic-ai’s full bundle runs 147 packages and 406 MB. And the maturity line followed the layers: orchestration has crossed 1.0 and made stability commitments, while every harness and vendor SDK is still pre-1.0.

The OpenAI Chat Completions wire protocol — not any framework — is the de facto interoperability standard.

The Fine Print

We ran no formal security scan here; this is a comparison, not a single-repo audit. The risk notes are pointed anyway. Lock-in pools where capability is densest, and the Claude Agent SDK’s sealed harness is the sharp example: the most battle-tested loop on the market and the least auditable one at the same time. Three things went deliberately untested, too: live GPU inference, durability under stress, and long-horizon agent quality. On those the study leans on vendor documentation, and says so.

The Playbook

The play that outlives every framework cycle costs an afternoon: build the 32-line portability probe against your own stack. Point it at an OpenAI-compatible endpoint, swap the base_url, and run it. Now you know for certain whether your exit is a config change or a rewrite, instead of guessing from a docs page. The three orchestration frameworks all passed on our bench. The one that couldn’t even sit the test told us more than any feature matrix would.

Before the next stack debate, sort by layer. LangChain answers an integration question. LangGraph answers an orchestration one. The Claude Agent SDK and Flue answer a turnkey-loop question, Sandcastle a fleet question. Put each candidate on its layer first and most of the argument just evaporates. Then weigh the supply chain while the demo is still loading. Seven packages against two hundred seventy-one is a number your security team can act on in minutes, and it split this field more cleanly than anything on a landing page.

And probe the lock-in early, on purpose. That sealed harness is genuinely the most battle-tested loop you can buy, which is the exact reason to find out well before any contract that it can’t point at your own endpoint. Build on the layer that has reached stability, keep everything speaking the wire protocol, and the day your own GPUs arrive, the migration is one line you already tested.

The Deck

Click the deck, then use ← → to advance

Executive cut ↗Open fullscreen ↗