Phase 14: Agent Engineering

التنسيق الرسمي الحكومي تنفيذ مستمر ومواقع التفتيش

وكيل هو آلة الحالة؛ العقدة هي وظائف؛ الحواف هي انتقالات؛ يتم تحديد الحالة بعد كل عقدة. استئناف من أي فشل في آخر نقطة تفتيش ناجحة. لينغغغراف هو مرجع 2026 لهذا النموذج منخفض المستوى من التنسيق الحالي.

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) عبر الأدوات.

ثلاث أوضاع

  1. Supervisor.الجهاز المركزي يرسل الـ LLM إلى المختصينcreate_supervisor()فيlanggraph-supervisor(على الرغم من أن فريق لانغ تشين في عام 2026 يوصي بذلك من خلال أداة تدعو مباشرة إلى المزيد من التحكم في السياق).
  2. Swarm / peer-to-peer.العملاء يُسلمون مباشرةً عبر سطح أداة مشتركة، لا توجد جهاز توجيه مركزي
  3. 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يخلق الرسم البياني للحالة على شكل لنجراف في أي وقت تشغيل هدف مع التفتيش والإستئناف متصلة.

التمارين

  1. إضافة حافة مشروطة من classifyإلىendعندما يكون ثقة التصنيف أقل من عتبة، استأنف الجري بعد مجموعة البشرrouteيدوياً
  2. استبدل المزيف مثل SQLite لمراقب SQLite الحقيقي.
  3. تنفيذ حواف متوازية: عقدين يعملون في وقت واحد، يدمجون عن طريق خفض خصيص. ماذا يشتري حالة لا تتغير هنا؟
  4. اقرأlanggraph-supervisorإشارة، أحضر اللعبة إلىcreate_supervisor-قارن شكل الأثر
  5. إضافة التدفق: كل عقد يعطي حالة جزئية أثناء تشغيله. طبع الدلتا عند وصولها.

الشروط الرئيسية

TermWhat people sayWhat 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

المزيد من القراءة

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.