You just built refund workflows by hand:
- one state object
- nodes and edges
- save / load for a human pause
That was on purpose. Now you can see what frameworks are for.
You do not have to keep writing the runner
A framework is a library that already implements common pieces:
| Idea you learned | What a framework often gives you |
|---|---|
| State object | Typed state that merges updates |
| Nodes + edges | Graph builder + runner |
| Branch on state | Conditional edges |
| Save / resume | Checkpoints (persistence) |
| Human pause | Interrupts / approvals |
You still design the story. You write less plumbing.
Your hand-rolled graph
state + nodes + next() + JSON file
│ same patterns
▼
A framework (example: LangGraph)
state + nodes + edges + checkpoint helpersSame refund words → framework words
| Our word | LangGraph-style word |
|---|---|
| State | State / channels |
| Node | Node |
| Edge | Edge |
| Branch | Conditional edge |
| Save state | Checkpoint / checkpointer |
| Human pause | Interrupt / human-in-the-loop |
When docs say “add a conditional edge,” you already know: look at state, pick next node.
What is common in 2026 (honest map)
| Tool | Strong for | Languages (typical) |
|---|---|---|
| LangGraph | State, graphs, checkpoints, HITL | Python, TypeScript (official) |
| OpenAI Agents SDK | Simple tool agents, handoffs | Python, TypeScript |
| Claude Agent SDK | Tools + MCP-heavy agents | Mainly Python / TS ecosystem |
| Hand-rolled + provider SDK | Any language, full control | Python, Java, Go, TypeScript — what you used |
There is no one framework that is first-class in Python, Java, Go, and TypeScript the same way. That is why this course taught patterns first.
If you use Python or TypeScript for production graphs, LangGraph is a common next step. If you use Java or Go, keep the hand-rolled pattern (or a community port) — you already understand it.
When to use a framework
| Use a framework when… | Stay hand-rolled when… |
|---|---|
| You need pause/resume often | The job is a short tool loop |
| Many branches and long jobs | You are learning the ideas (like now) |
| Your team already standardized on one | No solid library for your language |
Frameworks add versions, APIs, and opinions. They pay off when the plumbing would grow ugly.
What you should remember
- Frameworks wrap state, graphs, persistence, HITL — not magic new agent physics.
- Reading LangGraph (or similar) docs is easier after chapters 16–19.
- When a chapter needs a framework and we do not ship that SDK for a language, the Code panel stays empty — no complex stand-in.
Words to keep
| Word | Meaning |
|---|---|
| Framework | Library that packages workflow plumbing (runner, checkpoints, …) |
| Checkpoint | Framework word for a saved state snapshot |
| Conditional edge | Framework word for a branch |
See it in Code
The Code panel shows a small LangGraph refund graph in Python.
Other languages are empty here — the next chapter uses LangGraph.js / LangChain4j / Google ADK for a full agent.