65 million monthly downloads. LangGraph just shared what three years of graph engineering actually taught them.
Title: 3 Years of Graph Engineering with LangGraph
The core idea of modeling agents as graphs: not handing control to the LLM, but letting developers embed expected behavior flows as constrained paths. Nodes run computation; edges define what happens next — giving you precise control over the balance between deterministic code and autonomous steps.
🔄 Highlight 1 — Agent graphs are NOT DAGs
The biggest trap is assuming you can design everything as a directed acyclic graph. In production, you always need cycles: retrying failed tool calls, asking users for missing information, correcting answers after validation failures, resuming after human checkpoints. Loop engineering isn't an alternative to graphs — it's just a simpler special case. LangChain itself is built as a simple loop on top of LangGraph.
🧩 Highlight 2 — Full agent runs can live inside a single node
The biggest evolution over three years: what you can put inside a node. Early on, nodes held deterministic code or single LLM calls. Now, entire agent executions fit inside one node. A Slack-to-pull-request system illustrates this: deterministic API calls, a simple classifier, and an autonomous codebase-exploring agent all coexist in one graph — achieving predictability, power, and efficiency together.
📤 Highlight 3 — Send API enables dynamic routing
Map-reduce workflows can't have all edges defined upfront because node output volume is only known at runtime. The Send API routes work dynamically to multiple downstream nodes, breaking this constraint. The post also draws a clear boundary: for deep research tasks where the flow can't be predetermined, reach for an agent harness instead of a graph.
Graph engineering isn't a new idea — it's the latest expression of the same lineage as loop engineering and harness engineering.
#
LangGraph# #
AIAgent#