← Back
AI Engineer November 3, 2026 20m

Make Your AI Agents Predictable With Graph Engineering - Zachary Blumenfeld, Neo4j

Read full transcript 17 segments
  1. حسنًا، سنتحدث اليوم عن هندسة الرسوم البيانية. كم منكم سمع بمصطلح هندسة الرسوم البيانية؟ حسنًا، عدد لا بأس به من الحضور. وللتأكد، كم منكم على دراية بـ Neo4j واستخدمها؟ حسنًا، لدينا عدد قليل. هذا جيد لمعرفة من نتحدث إليه اليوم. لنلقِ نظرة سريعة على بعض المصطلحات المستخدمة. نشر بيتر شتاينبرغر تغريدة، أعتقد في صيف هذا العام، تحدث فيها عن هندسة الرسوم البيانية، وكأنها تخصص جديد يتطور من هندسة الموجه وهندسة السياق. وهناك ضجة كبيرة حول هذا الموضوع. صحيح أن الاسم جديد، لكن الآليات ليست جديدة في الواقع. لطالما عرفنا في علوم الحاسوب عمومًا آلات الحالة ومخططات سير العمل ومخططات المعرفة وغيرها. ما يتغير هو طريقة تفكيرنا فيها فيما يتعلق بالوكلاء. حسنًا، ما سأتحدث عنه اليوم هو كيفية تفكيرنا في هندسة الرسوم البيانية. سأقدم لكم منظورًا جديدًا نوعًا ما حول هذا الموضوع. إذا حاولنا تعريف هندسة الرسوم البيانية، فأعتقد أن التعريف الأنسب هو أنها ببساطة ممارسة تصميم عمل الوكلاء كرسم بياني واضح ، حيث تقوم العقد بالعمل، وتوجه الحواف

  2. الحالة بينها. وأميل إلى التفكير في الأمر من خلال ثلاثة أنواع مختلفة من الرسوم البيانية. لدينا رسوم التنفيذ العامة، والتي ربما تكونون على دراية بها. هذه هي رسوم سير العمل، حيث تمثل أجهزة التوجيه والوكلاء العقد الفعلية التي تحدث داخل نظام الوكلاء. ولكن، هناك طرق أخرى يمكننا من خلالها التفكير في هندسة الرسوم البيانية، والتي تتداخل مع هذا. وهذا يشمل رسوم السياق البيانية. هذه هي آثار القرارات، وهي حالات لما حدث، وكيفية ارتباطها ببيانات أخرى داخل نطاقك. وهناك أيضًا ما أسميه الرسوم البيانية الإجرائية . إذن، يشبه هذا الأمر امتلاك مهارة أو معرفة إجرائية على شكل رسم بياني، حيث قد لا تكون الخطوات عوامل فعلية، بل خطوات ضمن طريقة لأداء مهمة ما، أي إجراءً ما. على سبيل المثال، استدعاءات مختلفة، ربما خطوة لنموذج اتخاذ قرار، خطوات لعوامل مختلفة، تحديد ما إذا كان يجب التصعيد، خطوات التحقق، وما شابه ذلك. وسأركز بشكل خاص على النقطتين الأخيرتين، لأننا لا نتحدث عنهما بما فيه الكفاية، وأعتقد أن فهمهما سيمكننا من فهم ما يحاول الرسم البياني الأول فعله أيضًا، ولكن بطريقة سهلة التطبيق وفعالة للغاية. لذا، تُمكّن هندسة الرسوم البيانية العوامل من القيام بمهام أكبر وأكثر تعقيدًا، وهذا هو سبب اهتمامنا بها. في الواقع، إذا أردنا تقسيم الأمر، أعتقد أن فوائد الرسم البياني

  3. للوكلاء في هذا السياق تتمثل في إمكانية التنبؤ، أي القدرة على تحديد مسار الوكيل ، والتأكد من دقة الإجابة على المهمة التي يؤديها. كما أن وجود رسم بياني واضح يتيح لنا إدارة وتوجيه عمل الوكيل ومراجعته، ما يسمح لنا بفهم أدائه وتحسينه في المرات القادمة. أما النقطة الثالثة، والتي سنتناولها لاحقًا، فهي كيفية جعل هندسة الرسوم البيانية قابلة للنقل. فبدلًا من اعتبار الرسم البياني شيئًا يحدث أثناء التشغيل، يمكن اعتباره شيئًا يمكن تخزينه ونقله بين بيئات تشغيل مختلفة، ووضعه ضمن طبقة معرفية، ما يوفر مزيدًا من التوافقية ويُبسط البنية. أما أثناء التشغيل، فالرسم البياني أشبه بعملية تنسيق. لذا، ربما نكون جميعًا، أو معظمنا، على دراية بـ LangGraph و ADK، وغيرها من أطر عمل الوكلاء. حتى أن أبحاث Anthropic حول الوكلاء المتعددين، وبعض الأمور الأخرى، تندرج ضمن هندسة الرسوم البيانية.

  4. ما سأتحدث عنه اليوم هو ما يحدث عندما نأخذ هذا النوع من الرسوم البيانية ونضعه بجانب بياناتنا كرسوم بيانية سياقية، بالإضافة إلى بعض الأمور الأخرى التي ذكرتها سابقًا. عند القيام بذلك، كما ذكرت ، نضيف طبقة قابلية النقل، ونضيف القدرة على استخدام كل هذه المعرفة وتطبيقها مع أي نوع من بيئات التشغيل. هذا ما سأتناوله اليوم. ما نقوم به في Neo4j هو تعريف طبقة المعرفة هذه، والتي تقع بين أنظمة السجلات التي نسترجع منها البيانات عادةً، مثل Data Bricks و BigQuery و Snowflake، وغيرها. قد يكون ذلك توثيقًا، أو قد يكون Obsidian، أو ملفات Markdown هذه. حسنًا، هل يمكننا إنشاء بروتوكولات ومكونات قياسية موجودة داخل تلك الطبقة، بحيث يمكنك أخذ عملية هندسة الرسوم البيانية وجعلها متاحة لأي بيئة تشغيل أو أي وكيل؟ طريقة عمل منتجنا، كما تعلمون في Neo4j، هي أن لدينا قاعدة بيانات أساسية، ثم لدينا الكثير من أدوات الذكاء الاصطناعي الأخرى فوقها. لذا، قاعدة البيانات وطبقة التحليلات، سأعرض بعضًا من هذا خلال حديثي ، لكن ما سأركز عليه حقًا هو هذه الطبقة العليا حيث نتحدث عن ما يشبه الدماغ الوكيل أو أدوات الذاكرة الأخرى التي تُحيط بقاعدة البيانات. لذا، اعلموا أنني سأعرض لكم أثناء الشرح كيفية تحميل البيانات في قاعدة البيانات. هذا سيشكل

  5. طبقة المعرفة لدينا. ستأتي هذه البيانات من مصادر متعددة ومختلفة. حسنًا، لكن الكثير من امتدادات هذه الأدوات وبعض التجارب التي سأعرضها لكم موجودة كنوع من الذكاء الاصطناعي البياني الذي يتصل بها ويحمل البيانات منها وإليها. إذًا، ما نقوم به في Neo4j، وكيف نفكر في هذا الأمر: نبدأ بمفهوم الرسم البياني السياقي، الذي يحتوي على أنواع مختلفة من الذاكرة، من الذاكرة قصيرة المدى، مثل سجل محادثاتك، إلى الذاكرة طويلة المدى، وهي كيانات مستخرجة من ذلك أو من بياناتك، ثم أشجار الاستدلال أو اتخاذ القرارات داخلها . ومن الأمور المثيرة للاهتمام التي كنا نبحثها من منظور بحثي، والتي لم تبدأ كثيرًا من ذلك الرسم البياني، بل من مستوى المهارات الفردية. لقد كتبنا ورقة بحثية في وقت سابق من هذا العام ونشرناها في ورشة عمل، وكنا نحاول فيها طرح السؤال التالي: هل يمكننا أخذ المعرفة الإجرائية ، سواء كانت من قرارات سابقة أو حتى من مهارة مثل التي لدينا هنا، وتجميعها في رسم بياني؟ ما توصلنا إليه هو عملية تحويل المواد المكتوبة، غالبًا ملف مهارة MD، والنصوص البرمجية والمراجع والأصول، إلى بنية بيانية فعلية، وهي ما تراه على الجانب الآخر.

  6. نتيجةً لذلك، ومن خلال منح الوكيل إمكانية الوصول إلى هذه البنية البيانية، التي تحتوي على عُقد مختلفة تُمثل قرارات المهارة، ونقاط توجيه مختلفة، ونصوص برمجية مختلفة يجب تنفيذها، يتم تجميعها لتحديد النصوص البرمجية الستة. عندما نقوم بذلك ونُجبر الوكيل على تشغيل هذا الرسم البياني، نلاحظ زيادة في مكافأة المهمة والأداء. هذا كان منذ فترة، وما زلت أعمل على تحديثه إلى أحدث النماذج، ولكننا تمكنا من استخدام نموذج أصغر. في هذه الحالة، أعتقد أنه كان Sonnet، والآن ننتقل إلى Haiku. لكننا لاحظنا، حتى في المهام الصعبة للغاية في مجالات متنوعة كالفيزياء وعلوم الحاسوب، والأمن ، والتدريب البدني، وغيرها الكثير، زيادةً ملحوظةً في مكافأة المهام والأداء.

  7. ثم انتقلنا إلى هذا النظام. وقد تبنى مديرو المشاريع لدينا، ويل لين، من فريق المختبرات، هذه الفكرة وقال: "إذا استطعنا فعل ذلك بالمهارات، فربما نستطيع فعله أيضًا بمخططات الذاكرة هذه". لذا، يمكنك أخذ مخطط السياق الذي عرضته سابقًا واستخلاص مهارة منه، مع ربطها في نفس المخطط بجميع مسارات القرارات والبيانات السابقة. وبالتالي، تحصل على مزايا الأداء ، بالإضافة إلى سجل كامل لكل خطوة. يتم حفظ الإصدارات وتتبعها، مع إمكانية التحكم بمرور الوقت لتقييم الانحراف، وفهم مصدر استدعاءات الأدوات وتاريخها. يمكن للمستخدم تصفح NAMS، خدمة ذاكرة وكيل Neo4j، وهي بنيتنا المرجعية لهذا الغرض. يوجد رمز QR هناك، وسيكون هناك رمز آخر في النهاية، وسيتمكن من فهم كيفية عملها بالضبط، وتعديلها، وتغييرها، والقيام بالعديد من الأشياء الرائعة بها. إذن، ما نتحدث عنه الآن هو هذه العناصر التي يمكنك نقلها. أعني، هذا الشيء يُنشئ مهارة، أليس كذلك؟ وبالتالي، أي نظام وكيل يمكنه استيعاب هذه المهارة يمكنه الآن تشغيل هذه الرسوم البيانية وتنفيذ كل هذه العمليات المنطقية.

  8. ولدينا العديد من العملاء الذين يستخدمون خدماتنا في مهام هندسة الرسوم البيانية. سأختصر لأن وقتنا بدأ ينفد. وحتى لو لم يستخدموا مشروع Labs الخاص بنا تحديدًا، فلدينا شركات استشارية تعمل مع مديري أصول آخرين لحل مشاكل معقدة في مجال الامتثال. حسنًا، لنفترض القدرة على كتابة تقارير التدقيق، حيث قد تأتي البيانات من مصادر متعددة. كيف يمكنك أتمتة هذه العملية بطريقة موثوقة وخاضعة للحوكمة؟ لديك وثائق امتثال، وقد تكون لديك كيانات برموز تداول وأسماء مختلفة من قواعد بيانات متعددة، وكلها تحتاج إلى حل. لذا، فإن تزويد وكيلك بهذه الرسوم البيانية التي توضح المنطق المطلوب، بالإضافة إلى البيانات، يسمح لك بأتمتة هذه الأمور بطريقة موثوقة. وهناك شركات أخرى، مثل أوبر، تستخدم رسومًا بيانية للتكوين. تخيل ، على سبيل المثال، لديك سائقون في أنحاء البلاد، وتختلف متطلبات الامتثال واللوائح اختلافًا كبيرًا بين المناطق جغرافيًا، وتأتي هذه المتطلبات من شبكة واسعة من الخدمات المصغرة التي تحتاج إلى استخراج البيانات منها لمعرفة، على سبيل المثال، " ما هي المتطلبات لكل منطقة، ولكل مكون من مكونات السيارة؟" حسنًا، إن القدرة على التعبير عن هذا المنطق وتطبيقه بجانب البيانات يساعدهم أيضًا على تفعيل بعض هذه الأمور بفعالية.

  9. سأنتقل الآن إلى عرض توضيحي. سأحذركم مسبقًا: سيكون العرض طويلًا بعض الشيء، وسأمر عليه سريعًا، لكنه شيق للغاية. سأوضح لكم كيف يمكننا استخدام مكتبة AIP التي تحدثت عنها سابقًا، لتجميع مهارة والحصول على مهمة لم تكن مُدارة بشكل جيد واستغرقت وقتًا طويلًا لتشغيلها، وخفض تكلفتها بنسبة 100%تقريبًا، ثم تشغيلها بسرعة أكبر بكثير. بالطبع، هذا عرض توضيحي ، وليس مقترح بحث رسمي، ولكن يمكنكم الاطلاع على الكود. إنه شفاف تمامًا. هذا مثال على عملية الموافقة على قرض. إذن ، في جانب من جوانب عملية الموافقة على القرض، هناك العديد من السياسات التي يجب اتباعها، بالطبع. لستُ خبيرًا ماليًا، لكن الكثير منكم هنا كذلك. حسنًا، من المحتمل أن يكون هناك وثيقة سياسات. سيكون هناك نظام من الخطوات التي يجب اتباعها بدقة، ثم تحتاجون إلى أن يكون وكيلكم قادرًا على شرح هذه الخطوات بوضوح تام، وتوضيحها، والحصول على الإجابة الصحيحة كما لو كان شخصًا يراجعها. حسنًا، وأول شيء يمكنكم فعله، كما ذكرت سابقًا، وليس لدي وقت لتشغيل كل هذا مباشرة، والإنترنت سيكون بطيئًا. لذا، لحسن الحظ، لدي هذا مُحمّلًا مسبقًا. حسنًا، السؤال الذي طُرح هو: هل نوافق على هذا القرض الجديد لمخبز روزا؟ وفي هذه الحالة، كما تعلمون، لدينا خطة

  10. عمل بصيغة PDF تم تحميلها. حسنًا ، دعونا نرى، خطة العمل هي البيانات البرتقالية. إذا قمتُ بالتمرير للأسفل هنا ، يمكنك رؤية ذلك في الرسم البياني. يرتبط هذا أيضًا بالبيانات التي استخرجناها من Data Bricks، من المعاملات السابقة، وبيانات سياسة الإقراض، والقرارات السابقة التي تم اتخاذها بالفعل. وبذلك، يستطيع الموظف استعراض كل هذه المعلومات، ويدرك أن هذا الشخص إما حصل على قرض من قبل، أو أن هناك خطأً ما حدث سابقًا، ويستخرج سجلًا تدقيقيًا لذلك، وينشر حلًا بسرعة كبيرة. هذه بداية رائعة، من حيث حل البيانات، والقدرة على اتباع السياسات، وفهم كيفية ترابط الأمور. إحدى المشكلات في هذا، ويمكنني أن أريك رسمًا بيانيًا يوضح شكل ذلك. هذا مثال على قيامي بتشغيل المزيد من هذه السياسات.

  11. إذا قمتُ بالتكبير، سأرى محادثة هنا. ثم سأرى مسار الاستدلال الخاص بي الموجود داخل هذا الرسم البياني. جميع هذه الخطوات مُؤرَّخة زمنيًا، ولها استدعاءات أدوات. ما قد يحدث هو إذا رأيتُ هذا يحدث مرتين. أعتقد أن هذا هو السؤال الصحيح. حسنًا، هذه سلسلتان لاتخاذ القرار. قد يكون من الصعب رؤيتها بوضوح، لذا دعني أُكبّر الصورة. ستلاحظ اختلاف طولهما، إحداهما أطول من الأخرى. في هذه الحالة، يعود السبب إلى وجود سابقة في إحداهما، أي شيء حدث من قبل. لكن المشكلة تكمن في أنه عند تكرار هذه العملية مرارًا وتكرارًا، لا يوجد ما يضمن اتباع النظام لمسار محدد. قد يكون لديك مهارة أو ما شابه تُحدد لك كيفية القيام بهذه الأمور، ولكن هناك مشاكل أخرى، مثل خطوات اتخاذ القرار البسيطة: الموافقة أو الرفض، أو الموافقة أو الإحالة إلى مُراجع بشري.

  12. وتأتي هذه الخطوات مصحوبة بدرجات ثقة، أي ما إذا كنت واثقًا من شيء ما أو غير واثق ، لكن هذه القرارات غير مُعايرة. لذا، سيكون من الرائع أخذ بعض هذه البيانات وإرسالها إلى نموذج آمن من حيث النوع، مثل نموذج Jev، لنتمكن من القيام ببعض هذه الأمور. يمكنك استخراج كل هذه البيانات وتجميعها في شكل رسم بياني، وهو ما فعلناه هنا. هذا الرسم البياني، إذا نظرت إليه من هنا، لن تتمكن من رؤيته. لا بأس إن لم ترَ الكثير من التفاصيل. المهم هو أننا جمعنا كل المعلومات من عمليات التشغيل الناجحة التي أجريناها، رغم أنها كانت غير متناسقة بعض الشيء، ووضعناها في شكل رسم بياني YAML داخل هذه المهارة. هذه المهارة، رغم أنك قد تجد صعوبة في رؤيتها، تحتوي على نصوص برمجية، وموارد، وأحيانًا موارد مرجعية أخرى. هذا غير موجود في هذه الحالة. كما تحتوي على وثائق المصدر المتعلقة بالسياسة التي يجب عليك اتباعها للحصول على القرض. إذن، هناك الكثير من العناصر هنا لتتبع العمليات، بالإضافة إلى إخبار الوكيل بكيفية تشغيل المهارة. لكن الميزة الرائعة هي أنه بمجرد أن تصبح المهارة بصيغة YAML، يمكننا نقلها إلى جميع الأدوات المختلفة، بما في ذلك داخل الرسم البياني، لأنها جميعًا بصيغة محددة.

  13. وفي الرسم البياني، تبدو هكذا. دعني أشغلها مرة أخرى. هذا ما تبدو عليه. لديك كل هذه الخطوات هنا، وما فعلته هو أنني قمت بتغليف واجهة سطر الأوامر الصغيرة حولها، حتى يتمكن الوكيل من قول: "شغّل المهارة". وبدلاً من أن يقرر الوكيل جميع خطوات التوجيه، يتم ذلك برمجيًا. لقد اختصرنا الكثير من تلك السياسة، ووضعنا الكثير منها في نصوص التنفيذ هذه. باختصار ، ما يحدث هنا، باختصار شديد، هو أن هناك عملية تنفيذية تُعنى بالتحقق من مدى استيفاء الشروط والسياسات المحددة. بعد ذلك، يتم توجيه الطلب، إن لم تتم الموافقة عليه أو رفضه تلقائيًا بناءً على ذلك، إلى نموذج اتخاذ قرار مثل Javelin Type Safe. ويمكنني توضيح ذلك بشكل أفضل.

  14. يُحدد هذا النموذج مستوى المخاطر، دعني أوضح ذلك أكثر. لحظة، هل هناك مواد مُعرِّضة للخطر؟ ثم يتم تحديد النتيجة بالموافقة أو الرفض. بعد ذلك، يتم كتابة تقرير لتحديد ما إذا كان من الضروري تصعيد الأمر إلى مراجعة بشرية. إذا لم يكن الأمر كذلك، يقوم الموظف بكتابة التقرير، وهناك آلية لمراجعته وتدقيقه. حسنًا، بمجرد القيام بذلك وتشغيل النموذج، حسنًا، لدينا الآن واجهة سطر الأوامر هذه التي يمكننا من خلالها تشغيل هذا البرنامج. حسنًا، الآن يمكنني الدخول إلى هنا، وربما ليس لدي وقت لإعادة تشغيل كل هذا مرة أخرى، لكنني سأحاول. سأرى ما إذا كان سيتعرف على هذا. يستغرق تشغيله حوالي دقيقتين. لكن الفكرة، كما أعتقد، أثناء تشغيله، أنه سيتعرف على مقياس AIP الموجود هنا.

  15. بمجرد أن يصبح لديك هذا التنسيق، لن تتمكن فقط من تشغيل البرنامج بسرعة كبيرة، بل يمكنك أيضًا تتبع عمليات التشغيل. على سبيل المثال، إذا أردتُ النظر إلى عملية تشغيل واحدة، يمكنني إعادة تشغيلها. يمكنني ببساطة حفظ عمليات التشغيل داخل الرسم البياني. هذا تشغيل لهذا المقياس مع الخطوات الفردية التي تم تنفيذها. ويمكنني حفظ هذه البيانات بمرور الوقت. يمكنني فحص مدى كفاءتها. من منظور الحوكمة، لديّ هنا أداة فحص صغيرة أنشأتها بسرعة. يمكنك الاطلاع على حالة كل هذه العمليات، وكيفية سير عملية معينة، وما تمت الموافقة عليه، وما تم رفضه، والفروع التي سلكتها. بعد إنشاء الرسم البياني، يمكنك حتى القيام بأمور مراقبة رائعة، مثل معرفة الفروع التي تم اتخاذها والفروع التي لم يتم اتخاذها، وهو أمر مثير للاهتمام من منظور الحوكمة، حيث لم تفشل أي عملية. كل هذه المعلومات المختلفة والمفيدة مخزنة بجانب بياناتك.

  16. لذا، لا نقوم هنا بإنشاء حلقة تكرارية داخل برنامجنا. كل ما نفعله هو تزويده بواجهة سطر أوامر لتشغيل هذه المهارة البرمجية التي جمعناها من الوثائق، أو في هذه الحالة من الرسم البياني للذاكرة. قد يستغرق تشغيلها بعض الوقت بسبب الإنترنت، لكنني سأريك كيف قمنا بتشغيلها عدة مرات. حسنًا، ما رأيناه هو أنني كنت أستخدم Fable، لذا فإن مؤسستي تُعاتبني بشدة على هذا الأمر، مما يُكلفني الكثير من المال. لكن باستخدام Fable وحده على الرسم البياني، كان صحيحًا تقريبًا في كل مرة، لكنه استغرق 2.7 دقيقة. عندما استخدمنا الإجراء، انخفض الوقت إلى النصف تقريبًا باستخدام AIP فقط، وبفضل الإجراء ، يُمكننا استخدام نموذج أبسط مثل Haiku، وبالتالي تقليل وقت النموذج أكثر، وبالطبع ، تنخفض التكلفة بشكل كبير. لأنك تتخلص من كل عبء تحديد التوجيهات، وكل ما تفعله، وتضعه في نصوص التنفيذ، ونماذج Java، وكل شيء، مما يجعل كل شيء أكثر كفاءة.

  17. وهذا سيستغرق وقتًا طويلاً للتشغيل، ويرجع ذلك في الغالب إلى الإنترنت. كما ترى، انخفض الوقت الفعلي من حوالي 7 دقائق ونصف إلى دقيقتين في المتوسط. حسنًا، على أي حال، سأنهي حديثي هنا. أودّ أن أشارككم بعض المصادر التي يمكنكم الاطلاع عليها إذا كنتم مهتمين بهذا النوع من الأمور. Aura هي خدمة سحابية نقدمها، حيث يمكنكم الحصول على قاعدة البيانات التي عرضتها لكم سابقًا. ستحصلون على رصيد مجاني بقيمة 100 دولار. لدينا أيضًا عقد قادمة، وهي عبارة عن حدث للمتحدثين. يوجد برنامج بدء التشغيل، بالإضافة إلى جميع التعليمات البرمجية التي كنت أشير إليها في المشاريع الأخرى التي استخدمتها للربط بذاكرة وكيلكم، وكل ما يتعلق بذلك موجود أدناه. سأترك هذا المنشور مفتوحًا لثانية واحدة حتى يطلب مني أحدهم المغادرة، وأعتقد أن هذا كل شيء بالنسبة لي الآن.

Summary

تدور المحاضرة حول هندسة الرسوم البيانية كنهج متطور لتصميم عمل وكلاء الذكاء الاصطناعي من خلال رسوم بيانية توضح التنفيذ والسياق والإجراءات. تتناول التقنيات استخدام أدوات مثل Neo4j وLangGraph وخدمة ذاكرة وكيل Neo4j لربط طبقات المعرفة بأنظمة البيانات المختلفة. تتمثل النتيجة العملية في تمكين الوكلاء من أداء مهام أكثر تعقيداً ودقة مع زيادة قابلية التنبؤ والأداء وإمكانية نقل المعرفة بين بيئات التشغيل المختلفة.

View original episode ↗