التنسيق الرسمي الحكومي تنفيذ مستمر ومواقع التفتيش
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وENDالعقد الحارس تُعَرِّف الحدود
مثال: وكيل معclassify،refund،bug،sales،doneالعقد سير العمل التوجيه كجراف.
التنفيذ المستمر
بعد عودة كل عقدة، يسلسل الوقت التشغيلي الحالة ويكتبها إلى نقطة التفتيش (SQLite، Postgres، Redis، custom). عند فشل في الخطوة N، يمكن أن يكتب الوقت التشغيلي resume(session_id)واصعد من الخطوة N + 1 مع حالة دقيقة.
وثائق لنجراف تبرز صراحة مستخدمي الإنتاج حيث هذا يهم: كلارنا، أوبر، جي بي مورغان. الادعاء ليس شكل الرسم البياني؛ بل أن شكل الرسم البياني بالإضافة إلى التفتيش يجعل الاسترداد رخيصا.
التدفق
كل عقدة يمكن أن تنتج الناتج الجزئي. الرسم البياني تدفق لكل عقدة-دلتا الأحداث إلى المدعو حتى تتحديث UI كما يتم تشغيل الرسم البياني.
البشر في الحلقة
تحقق وتعديل الحالة بين العقد. تنفيذات: توقف قبل عقدة حرجة، الحالة السطحية إلى الإنسان، وقبول التعديلات، استئناف. نقطة التفتيش تجعل هذا سهلا لأن الحالة يتم التسلسل بالفعل.
الذاكرة
قصير الأجل (في إطار تشغيل تاريخ المحادثة في حالة) وطويل الأجل (عبر تشغيل مستمرة عبر نقطة التفتيش بالإضافة إلى متجر منفصل طويل الأجل). يدمج LangGraph مع أنظمة الذاكرة الخارجية (Mem0, custom) عبر الأدوات.
ثلاث أوضاع
- Supervisor.الجهاز المركزي يرسل الـ LLM إلى المختصين
create_supervisor()فيlanggraph-supervisor(على الرغم من أن فريق لانغ تشين في عام 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يخلق الرسم البياني للحالة على شكل لنجراف في أي وقت تشغيل هدف مع التفتيش والإستئناف متصلة.
التمارين
- إضافة حافة مشروطة من
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.