گروه بندی نمودار دولتی اجرای پایدار و نقاط بازرسی
Type: Learn + Build
Languages: Python (stdlib)
Prerequisites: Phase 14 · 01 (Agent Loop), Phase 14 · 12 (Workflow Patterns)
Time: ~75 minutes
اهداف یادگیری
- مدل اصلی LangGraph را توصیف کنید: ماشین حالت با حالت تایپ شده، گره های عملکرد، حاشیه های مشروط و نقاط بازرسی پس از گره.
- چهار قابلیت که در اسناد برجسته شده است را نام دهید: اجرای پایدار، پخش، انسان در حلقه، حافظه جامع.
- سه توپولوژی های ارتقایی که لانگ گراف پشتیبانی می کند را توضیح دهید: نظارت کننده، همتایی (سوارم) ، سلسله مراتبی (سبرگراف های سرپوش)
- یک نمودار حالت stdlib را با حالت تایپ شده، حاشیه های مشروط و یک چرخه چک پوند / رزومه اجرا کنید.
مشکل
عوامل و جریان های کار یک مشکل مشترک دارند: وقتی یک اجرا 40 مرحله در مرحله 38 شکست می خورد، شما می خواهید از مرحله 38 شروع کنید، نه از نو شروع کنید. مدل های حالت درجه دوم باعث می شوند اپراتورها دوباره در یک کتابخانه که اجرا تازه را فرض می کند، هک کنند.
پاسخ طراحی LangGraph: حالت یک شی درجه اول تایپ شده است، جهش ها صریح هستند و نقاط بازرسی پس از هر گره باقی می مانند.load_state(session_id)تماس بگیر
مفهوم
نمودار
یک نمودار توسط:
- State type.یک دیکت تایپ شده (یا مدل پیدانتیک) که هر گره می خواند و جهش می کند.
- Nodes.عملکرد خالص
(state) -> state_updateتازه ها بعد از بازگشت به ایالت ادغام می شوند. - Edges.انتقال مشروط یا مستقیم بین گره ها
- Entry and exit.
STARTوENDگرهاي نگهباني مرز رو نشان ميده
مثال: یک نماینده باclassify،refund،bug،sales،doneگره ها یک جریان کار روتینگ به عنوان یک نمودار.
اجرای پایدار
پس از بازگشت هر گره، زمان اجرا حالت را سریال می کند و آن را به یک چک پوائنتر (SQLite، Postgres، Redis، سفارشی) می نویسد. در صورت شکست در مرحله N، زمان اجرا می تواند resume(session_id)و از مرحله N+1 با حالت دقیق شروع کنید.
اسناد لانگ گراف به طور صریح کاربران تولید را که در آن این موضوع اهمیت دارد برجسته می کند: کلارنا، اوبر، ج. پی. مورگان. ادعای شکل نمودار نیست؛ این است که شکل نمودار به علاوه چکپینینگ بازیابی را ارزان تر می کند.
پخش
هر گره می تواند بخش از خروجی را به ارقام دهد. نمودار جریانات هر گره-دلتا را به تماس گیرنده می رساند تا UI ها در طول اجرا نمودار به روز شوند.
انسان در حال انجام کار
بررسی و تغییر حالت بین گره ها. پیاده سازی: توقف قبل از یک گره مهم، حالت سطح به یک انسان، پذیرش تغییرات، ادامه. چک پوائنتر این کار را آسان می کند زیرا حالت قبلاً سریال شده است.
حافظه
کوتاه مدت (در یک تاریخچه مکالمه در حالت اجرا) و بلند مدت (برابر اجرا) از طریق چک پوائنتر و یک فروشگاه طولانی مدت جداگانه دوام می آورد. LangGraph از طریق ابزارها با سیستم های حافظه خارجی (Mem0 ، سفارشی) ادغام می شود.
سه توپولوژی
- Supervisor.روتر مرکزی LLM به افراد متخصص ارسال می شود.
create_supervisor()درlanggraph-supervisor(اگرچه تیم LangChain در سال 2026 توصیه می کند که این کار را از طریق ابزار به طور مستقیم برای کنترل بیشتر زمینه انجام دهد). - Swarm / peer-to-peer.ماموران از طریق یه سطح ابزار مشترک به طور مستقیم بهشون کمک می کنن.
- Hierarchical.نظارت کنندگان که نظارت فرعی را مدیریت می کنند، به عنوان زیرگراف های سرشار اجرا می شوند.
جایی که این الگوی اشتباه می شود
- Checkpoints too small.فقط چک پوائنت مکالمه رو میذاره و حالت ابزار رو میذاره که قابل بازیابی نیست
- Non-deterministic nodes.رزومه فرض می کند ورودی های گره همان بروزرسانی حالت را تولید می کنند. تخم های تصادفی، ساعت دیواری، API های خارجی باید ضبط شوند.
- 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 را در هر زمان اجرا هدف با چک پوائنٹنگ و ادامه کار به کار می گیرد.
تمرینات
- یک لبه مشروط از اضافه کنید
classifyبهendوقتی اعتماد به نفس طبقه بندی زیر یک حد قرار می گیرد، ادامه مسابقه بعد از یک مجموعه انسانی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 API مدل نظارت
- 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.