What's the difference between a LangChain agent and a LangGraph agent?

A LangChain agent built with create_agent, the framework’s standard way to build one since LangChain 1.0 shipped in October 2025, already runs on LangGraph underneath: LangChain’s own release notes say it “uses LangGraph under the hood to run this loop.” The older AgentExecutor class a LangChain agent used to run on is gone from the main package, moved into a separate langchain-classic package kept for backwards compatibility. So the real choice isn’t between two different runtimes anymore, it’s between two levels of control: create_agent gives you a prebuilt loop with middleware for common needs like human approval or summarization, and dropping to LangGraph’s own StateGraph gives you the nodes, edges, and state object directly.

That second option is what the OpenAI Agents SDK draws a similar line against: a thin, model-first loop against a graph you build. LangChain’s own agent no longer sits fully on the model-first side of that line, since it’s a thin layer over the same graph.

sources

keep reading

More on this.

Two ways to run Tessary.

Tessary is an open-source agent reliability platform. Cloud and self-hosted run the same workflow on the OpenTelemetry traces your agent already emits.

Tessary Cloud

We host it for you. Send your first trace with nothing to deploy and no model key.

what's includedper organization
traces
10,000 per calendar month
stored trace data
1 GB
retention
30 days
model credit
$10, one-time, for triage and root-cause analysis
credit card
not required

Self-hosted Tessary

Run the open-source code on your own infrastructure with one command. Add your own model key for triage and root-cause analysis.

Self-host Tessary for me by following https://github.com/tessaryai/tessary/blob/main/setup.md

docker compose -f oci://docker.io/tessaryai/tessary:compose up -d -y