राज्यबद्ध ग्राफ ऑर्केस्ट्रेशन टिकाऊ निष्पादन और चेकपॉइंट
Type: Learn + Build
Languages: Python (stdlib)
Prerequisites: Phase 14 · 01 (Agent Loop), Phase 14 · 12 (Workflow Patterns)
Time: ~75 minutes
सीखने के लक्ष्य
- लैंगग्राफ के मूल मॉडल का वर्णन करेंः टाइप स्टेट, फ़ंक्शन नोड्स, सशर्त किनारे और पोस्ट-नोड चेकपॉइंट के साथ स्टेट मशीन।
- डॉक्स में चार क्षमताओं का नाम बताइए: टिकाऊ निष्पादन, स्ट्रीमिंग, मानव-इन-द-लूप, व्यापक मेमोरी।
- लैंगग्राफ द्वारा समर्थित तीन ऑर्केस्ट्रेशन टॉपलॉजीज की व्याख्या करेंः पर्यवेक्षक, पीयर-टू-पीयर (सवार), पदानुक्रमिक (निस्ट उपग्राफ) ।
- टाइप स्टेट, सशर्त किनारों और चेकपॉइंट/रिज़्यूम चक्र के साथ एक stdlib स्टेट ग्राफ लागू करें।
समस्या
एजेंट और वर्कफ़्लो एक समस्या साझा करते हैंः जब 40 चरणों में रन 38 में विफल होता है, तो आप चरण 38 से फिर से शुरू करना चाहते हैं, फिर से शुरू नहीं करते हैं। दूसरी श्रेणी के राज्य मॉडल ऑपरेटरों को एक पुस्तकालय के आसपास पुनः हैकिंग प्रयासों को छोड़ देते हैं जो नए रन का अनुमान लगाते हैं।
LangGraph के डिजाइन उत्तरः राज्य एक प्रथम श्रेणी टाइप किया गया वस्तु है, उत्परिवर्तन स्पष्ट हैं, और हर नोड के बाद चेकपॉइंट बरकरार रहते हैं।load_state(session_id)फोन करें।
अवधारणा
ग्राफ
एक ग्राफ को निम्नलिखित द्वारा परिभाषित किया जाता हैः
- State type.एक टाइप किया गया डिक्ट (या पाइडान्टिक मॉडल) जो प्रत्येक नोड को पढ़ता है और उत्परिवर्तन करता है।
- Nodes.शुद्ध कार्य
(state) -> state_update. अद्यतन लौटने के बाद राज्य में विलय कर रहे हैं. - Edges.नोड्स के बीच संस्थात्मक या प्रत्यक्ष संक्रमण।
- Entry and exit.
STARTऔरENDSentinel नोड्स सीमा को चिह्नित करते हैं।
उदाहरण: के साथ एक एजेंटclassify,refund,bug,sales,doneनोड्स एक ग्राफ के रूप में रूटिंग वर्कफ़्लो।
टिकाऊ निष्पादन
प्रत्येक नोड लौटने के बाद, रनटाइम स्टेट को सीरियल करता है और इसे एक चेक पॉइंटर (SQLite, Postgres, Redis, कस्टम) में लिखता है। चरण N में विफलता पर, रनटाइम resume(session_id)और सटीक स्थिति के साथ चरण N + 1 से उठाएं।
लैंगग्राफ डॉक्स स्पष्ट रूप से उत्पादन उपयोगकर्ताओं को उजागर करते हैं जहां यह मायने रखता हैः Klarna, Uber, JP Morgan। दावा ग्राफ आकार नहीं है; यह है कि ग्राफ आकार प्लस चेकपोइंटिंग रिकवरी सस्ता बनाता है।
स्ट्रीमिंग
प्रत्येक नोड आंशिक आउटपुट उत्पन्न कर सकता है। ग्राफ कॉल करने वाले को नोड-डेल्टा घटनाओं के प्रति स्ट्रीम करता है ताकि ग्राफ चलते समय यूआई अपडेट हो।
मानव-सर्प में
नोड्स के बीच स्थिति की जांच और संशोधन करें। कार्यान्वयनः एक महत्वपूर्ण नोड से पहले रुकें, मानव को सतह की स्थिति दें, संशोधन स्वीकार करें, फिर से शुरू करें। चेक पॉइंटर यह आसान बनाता है क्योंकि स्थिति पहले से ही क्रमबद्ध है।
स्मृति
अल्पकालिक (एक रन के भीतर बातचीत इतिहास में राज्य) और दीर्घकालिक (क्रॉस रन चेक पॉइंटर के माध्यम से निरंतर और एक अलग दीर्घकालिक स्टोर) । लैंगग्राफ उपकरण के माध्यम से बाहरी मेमोरी सिस्टम (मेम0, कस्टम) के साथ एकीकृत होता है।
तीन टोपोलॉजी
- Supervisor.केंद्रीय रूटर एलएलएम विशेषज्ञ उप-सम्बन्धी को भेजता है।
create_supervisor()मेंlanggraph-supervisor(हालांकि 2026 में लैंगचेन टीम ने संदर्भ नियंत्रण के लिए सीधे उपकरण कॉल के माध्यम से ऐसा करने की सिफारिश की है) । - Swarm / peer-to-peer.एजेंटों को सीधे साझा उपकरण सतह के माध्यम से वितरित किया जाता है. कोई केंद्रीय राउटर नहीं.
- Hierarchical.उप-निरीक्षक प्रबंधक पर्यवेक्षक, जो कि घोंसले हुए उप-ग्राफ के रूप में लागू होते हैं।
जहां यह पैटर्न गलत हो जाता है
- Checkpoints too small.केवल चेकपॉइंटिंग वार्तालाप टर्न उपकरण राज्य छोड़ देता है और स्मृति रिकवर करने योग्य नहीं लिखता है। पूर्ण स्थिति को क्रमबद्ध करना चाहिए।
- Non-deterministic nodes.रिज्यूमे का मानना है कि नोड इनपुट एक ही स्टेट अपडेट उत्पन्न करते हैं। यादृच्छिक बीज, वॉल-क्लॉक, बाहरी एपीआई को कैप्चर किया जाना चाहिए।
- Over-use of conditional edges.प्रत्येक किनारे के साथ एक ग्राफ एक ऐसी स्थिति मशीन है जिसके बारे में तर्क नहीं किया जा सकता है। कभी-कभी शाखाओं वाली रैखिक श्रृंखलाओं को प्राथमिकता दी जाती है।
इसे बनाओ
code/main.pyएक stdlib स्टेटस ग्राफ लागू करता हैः
Stateएक टाइप किया गया वाक्यmessages,step,route,output,human_approval. .Nodeकॉल करने योग्य स्थिति लेने और अद्यतन डिक्टेट लौटाएं।StateGraphनोड्स + किनारे + सशर्त किनारे + रन + रिज़्यूमे।SQLiteCheckpointer(मेमोरी में नकली) प्रत्येक नोड के बाद राज्य को क्रमबद्ध करता है;load(session_id)पुनर्स्थापना करता है।- एक डेमो ग्राफः वर्गीकृत -> शाखा(वापसी / बग / बिक्री) -> मानव गेट -> भेजें.
इसे चलाओः
python3 code/main.pyनिशान मानव गेट पर पहले रन विफलता, दृढ़ता दिखाता है, फिर अंतिम उत्पादन का उत्पादन शुरू।
इसका प्रयोग करें
- LangGraph संदर्भ, उत्पादन के लिए तैयार। उपयोग
create_react_agent,create_supervisor, या अपना खुद का ग्राफ बनाने. - AutoGen v0.4(पाठ 14) उच्च प्रतिस्पर्धात्मक परिदृश्यों के लिए अभिनेता मॉडल विकल्प।
- Claude Agent SDK(पाठ 17) अंतर्निहित सत्र स्टोर के साथ प्रबंधित हार्नेस।
- Custom जब आपको राज्य के आकार या चेक पॉइंटर बैकेंड पर सटीक नियंत्रण की आवश्यकता होती है।
इसे भेजें
outputs/skill-state-graph.mdकिसी भी लक्ष्य रनटाइम में एक LangGraph आकार राज्य ग्राफ उत्पन्न करता है जिसमें चेकपॉइंटिंग और रिज़्यूमे के तार हैं।
व्यायाम
- से एक सशर्त किनारा जोड़ें
classifyendजब वर्गीकरण विश्वास एक सीमा से नीचे है. एक मानव सेट के बाद दौड़ फिर से शुरू करेंrouteमैन्युअल रूप से। - एक वास्तविक SQLite चेकपोइंटर के लिए SQLite की तरह नकली आदान-प्रदान. प्रति चरण क्रमबद्धता ओवरहेड मापने.
- समानांतर किनारों को लागू करेंः दो नोड्स एक साथ चल रहे हैं, कस्टम रिड्यूसर द्वारा विलय। यहां अपरिवर्तनीय राज्य क्या खरीदता है?
- पढ़िए
langgraph-supervisorसंदर्भ। खिलौना को ले जाओcreate_supervisor. निशान के आकारों की तुलना करें. - स्ट्रीमिंग जोड़ेंः प्रत्येक नोड भाग राज्य देता है जबकि यह चल रहा है. डेल्टा के रूप में वे आते हैं प्रिंट.
प्रमुख शर्तें
| Term | What people say | What it actually means |
|---|---|---|
| State graph | "Agent as state machine" | Typed state + nodes + edges + reducers |
| Checkpointer | "Persistence backend" | Serializes state after every node; enables resume |
| Reducer | "State merger" | Function that combines current state with a node's update |
| Conditional edge | "Branch" | Edge chosen by a function of state |
| Subgraph | "Nested graph" | A graph used as a node inside another graph |
| Durable execution | "Resume from failure" | Restart at the last successful node with exact state |
| Supervisor | "Router LLM" | Central dispatcher for specialist subagents |
| Swarm | "P2P agents" | Agents hand off via shared tools; no central router |
आगे पढ़ना
- LangGraph overview संदर्भ दस्तावेज
- langgraph-supervisor reference पर्यवेक्षक पैटर्न एपीआई
- AutoGen v0.4, Microsoft Research अभिनेता-मॉडल विकल्प
- Claude Agent SDK overview सत्र स्टोर और उप-बगेंट
This free lesson is part of the AI Engineering from Scratch curriculum. Read the full explanation, run the lesson code, and verify the result in the interactive reader or from the repository source.
Browse the complete course catalog or open this lesson on GitHub.