The same program, twice

Both examples under the Agent node implement one supervisor and two specialists: the LangGraph supervisor and the Agents SDK version. Reading them side by side is the fastest way to feel the difference.

Capability by capability

CapabilityLangGraphAgents SDK
Control flowExplicit graph, edges in codeImplicit, driven by hand-offs the model chooses
DeterminismRouting can be plain functionsRouting is a model decision
TracingBring your own, OpenTelemetry fitsBuilt in, provider dashboard
Provider couplingNeutralLeans OpenAI
TestingUnit-test nodes and edgesTest tools; routing needs evals
CheckpointingFirst classMinimal

Where each one hurts

LangGraph asks you to think about state shape before you have a product. The Agents SDK asks you to trust model routing before you have evals.

What I run

LangGraph for anything with more than two hand-offs or a human approval step. Agents SDK for internal tools where a wrong route costs minutes, not money.

Key takeaways

  • Pick LangGraph when routing is the hard part and you need to review control flow in code.
  • Pick the Agents SDK when you want the smallest surface and built-in tracing on one provider.
  • Neither solves permissions. Both need a gateway in front of tools.

Checklist · · 24 checks

Working with Claude, practices that hold up

Prompting, agents and tools, Claude Code, evaluation and safety. The habits that make Claude-based systems reliable, as a checklist you can run against your own setup.

Architecture pattern · · 1 min read

Pattern: the outbox for agent actions

Agents that write to systems of record need the same transactional outbox that event-driven services use. This entry covers the shape and the trade-offs.