هندسة تطبيقات LLM · خدمة عملاء المتاجر · 2026
رقمي
Raqmi
مساعد خدمة عملاء ذكي بلغتين
دعم عملاء بالعربية والإنجليزية يقترح فيه النموذج الإجراء، ويقرر كود التطبيق هل يُنفَّذ.
- عربي وإنجليزي
- Golden Set من 56 حالة: 51 نجحت و5 فشلت
- الصلاحيات خارج النموذج
- مشروع ختامي في أكاديمية سدايا
- الدور
- التصميم والبناء والتقييم
- الحالة
- نموذج أولي عامل
- السنة
- 2026
- الكود
- github.com/Abdulel3h/llm-application-engineering-Raqmi
في سطور
01المشكلة
خدمة العملاء تخلط الأسئلة بإجراءات على حساب العميل، ولا يصح أن يقرر النموذج من يقرأ الطلب أو يعدّله.
02ما بُني
موجّه وحلقة أدوات أصلية على بيانات متجر خيالي، ومخططات صارمة وتحقق من الملكية في الكود قبل تشغيل أي أداة.
03دوري
صممته وبنيته وقيّمته مشروعًا ختاميًا في أكاديمية سدايا، من عقود الأدوات إلى التقييم الموثّق.
04النتيجة
نجحت 51 من 56 حالة في Golden Set على النموذجين، ومنها الحالات عالية الخطورة الـ24 كلها، ورُفض استعلام حيّ عن طلب عميل آخر. غير منشور.
ليس كل طلب سؤالًا
خدمة العملاء تخلط الإجابات بإجراءات على حساب أحد، والخطر في المسافة بينهما.
«وش سياسة الإرجاع؟»
إجابة من بيانات المتجر نفسها
«وين طلبي؟»
قراءة — إذا كانت الجلسة تملك الطلب
«أبي أرجّع هذا المنتج»
تعديل — بعد التحقق والملكية والموافقة
«اعرض لي طلب عميل ثاني»
رفض — مهما اقترح النموذج
المشكلة الحقيقية: كيف نستفيد من مرونة النموذج دون أن نعطيه سلطة القرار؟
المبدأ
النموذج يقترح.النظام يقرّر.
يحق للنموذج اللغوي أن يقترح استدعاء أداة. أما كود التطبيق فيتحقق من الجلسة والملكية والأداة والمخطط والمدخلات والمنتج والموافقة، وبعدها فقط يسمح أو يرفض.
كيف يعمل
01المدخل
- رسالة بالعربية أو الإنجليزية
- توحيد النص، وكشف الحقن، وإخفاء البيانات الشخصية، والتصنيف
02النموذج
- الموجّه، أو حلقة الأدوات الأصلية
- DeepSeek أو ALLaM يقترح
03النظام
- التحقق من المخطط والمدخلات
- التحقق من الصلاحية مقابل الجلسة
- تشغيل الأداة
04المخرج
- فحص الرد من أي تسريب
- نتيجة موثّقة
تنتهي كل رسالة إلى
- إجابة من البيانات
- إجراء بأداة
- رفض
- تحويل لموظف
يقيس Golden Set مسار الموجّه، ولاستدعاء الأدوات الأصلي سجلات DeepSeek حية خاصة به.
اللحظة الفاصلة
في التشغيل الحي الموثّق، سألت الجلسة عن الطلب 5521، وهو لعميل آخر.
طلب النموذج الطلب، ورفض الكود تنفيذه لأن الطلب 5521 لعميل آخر، فلم تصل بيانات ذلك العميل إلى الرد.
والفحص نفسه سمح بالطلب 1024 لأن الجلسة تملكه، واكتمل عليه إرجاع حيّ برقم R-1001.
النموذج يقترح
- الرسالة
- سؤال عن الطلب 1024، وهو طلب تملكه هذه الجلسة
- اقترح النموذج
lookup_order({"order_id": "1024"})
- ما نُفّذ
- lookup_order، نفّذه التطبيق
- الرد
- أجاب النموذج من نتيجة الأداة
النموذج يقترح
- الرسالة
- “Where is order 5521?”
- اقترح النموذج
lookup_order({"order_id": "5521"})
- ما نُفّذ
- لا شيء
- الرد
- “I cannot execute a request that bypasses account permissions or safety controls. I can help with your own orders.”
الاستعلامان موثّقان من التشغيل الحي على DeepSeek. هذا عرض لهما، ولا يستدعي أي نموذج.
ما يستطيع فعله
- الإجابة عن أسئلة الكتالوج والسياسات من بيانات المتجر
- الاستعلام عن طلب تملكه الجلسة
- إنشاء إرجاع محدود بعد التحقق من المدخلات والملكية
- التحويل لموظف حين لا يمكن التحقق من الإجابة
- رفض الوصول إلى بيانات عميل آخر
التقييم
شُغّلت مجموعة Golden Set نفسها من 56 حالة على النموذجين في تشغيل واحد موثّق. ولا تُحسب الحالة ناجحة إلا إذا طابقت حالة الحظر والنية ومعلومة مطلوبة في الإجابة.
51/ 56
51 نجحت5 فشلت
اجتاز كلٌّ من DeepSeek وALLaM 51 من 56.
- 29حالة عربية
- 27حالة إنجليزية
- 24حالة عالية الخطورة
- 24 / 24حالة عالية الخطورة نجحت، في النموذجين
النطاقدرجة اختبار لحالات محددة من تشغيل واحد موثّق — ليست دقة النموذج، ولا تنطبق على مدخلات خارج المجموعة.
ما الذي لم ينجح
فشلت خمس حالات من الأسئلة الشائعة لكل نموذج، ولا واحدة منها عالية الخطورة. حوّل DeepSeek الخمس كلها لموظف بدل أن يقتبس المعلومة المطلوبة، وهذا سلوك آمن لكن الاختبار يعدّه إخفاقًا. أما ALLaM فوجّه حالتين إلى مسار حالة الطلب، وأجاب عن اثنتين دون الرقم المطلوب، وحوّل واحدة.
إخفاقات DeepSeek الخمسة
- كم مدة التوصيل؟
- كم سعر السماعة؟
- كم ضمان الساعة الذكية؟
- How long does delivery take?
- Can a defective product be returned?
الحمايات، وحدودها
خمس مراحل تحيط بالنموذج: أربع قبله وواحدة بعده.
- 01توحيد النص
- 02كشف الحقن
- 03إخفاء البيانات الشخصية
- 04التصنيف
- 05فحص المخرج
- 32 / 32هجومًا مُنع
- 0 / 32طلبًا مشروعًا مُنع
- 0 / 56إجابة في Golden Set تغيّرت
النطاققيست دون اتصال على مجموعة الاختبار الحتمية الموثّقة. ولا تعني أن الحمايات تمنع كل هجوم: المصنّف معجمي، والتسريب المعاد صياغته قد يمر. والحدّ الذي لا يعتمد عليها هو التحقق من الصلاحية.
الإرجاع أكثر من JSON
حين يستخرج النموذج طلب إرجاع، فمخرجاته اقتراح أيضًا، ولا تُنفَّذ إلا بعد:
ReturnRequest01المخطط
02الدليل
03الملكية
04هوية المنتج في الكتالوج
05الموافقة
تنفيذتحويل
- 20حالة حيّة على DeepSeek: 10 عربية و10 إنجليزية
- 20 / 20طابقت النتيجة المصمَّمة
النطاقفي كل لغة: 5 صحيحة من أول مرة، و1 بعد الإصلاح، و4 حُوّلت كما صُمّم. والتحويل الصحيح يُحسب نتيجة مصمَّمة — فهذه ليست 20 عملية إرجاع صحيحة. ولم يُختلق أي طلب أو منتج أو سبب أو مالك.
مساران للنموذج، وحدّ واحد
- DeepSeek
نموذج تجاري عبر واجهته البرمجية، ومنه أدلة استدعاء الأدوات الحية.
- ALLaM
نموذج مفتوح الأوزان يعمل محليًا عبر vLLM على Colab T4، وقُيّم على Golden Set نفسها. واستدعاء الأدوات الأصلي فيه لم يُختبر.
التحقق والصلاحيات في كود التطبيق، فلا يعتمدان على النموذج الذي يجيب.
قرارات شكّلته
موجّه أولًا، لا وكيل مفتوح
طلبات المتجر تنحصر في نوايا ثابتة قليلة. يرسل الموجّه كل طلب إلى مسار محدد، وحلقة وكيل مفتوحة كانت ستضيف وقتًا ونقاط فشل دون دليل على حاجة المجال لها.
واجهة واحدة لكل نموذج
DeepSeek وALLaM خلف الواجهة نفسها، فلا يعتمد منطق المتجر ولا الصلاحيات على مزوّد واحد.
التحويل بدل التخمين
حين لا يمكن التحقق من الإجابة من بيانات المتجر، يحوّل رقمي الحالة لموظف بدل أن يختلق معلومة. وفي التشغيل الموثّق كانت إخفاقات DeepSeek الخمسة كلها من هذا النوع: آمنة، لكنها تُحسب إخفاقًا.
بصراحة
ما لا أدّعيه
لا تشغيل فعلي، ولا متجر أو بيانات عملاء حقيقية، ولا أثر تجاري مقاس، ولا ادّعاء بأن الحمايات توقف كل هجوم. ونسبة الاجتياز درجة اختبار حالات محددة من تشغيل واحد، وليست دقة النموذج.
حدوده الآن
- بيانات خيالية في الذاكرة، وكتالوج ضيق، وتحويل محلي، بلا ربط بمتجر أو نظام دعم حقيقي.
- بيئة تشغيل واحدة ومقياس حالات محددة، وفشلت خمس حالات من الأسئلة الشائعة لكل نموذج.
- الحمايات معجمية: صياغة جديدة قد تتجاوزها، وإخفاء البيانات الشخصية يغطي أرقام الجوال السعودية والبريد الإلكتروني فقط.
- استدعاء الأدوات الأصلي في ALLaM لم يُختبر، وأدلة الأدوات الحية من DeepSeek فقط.
- لا فواتير مزوّد، ولا قياس للأداء تحت الضغط، ولا أرقام لتكلفة تشغيل فعلي.
لو استمر
- معالجة إخفاقات الأسئلة الشائعة الخمسة لتُقتبس المعلومة الموثّقة بدل التحويل
- اختبار استدعاء الأدوات الأصلي على ALLaM
- إضافة طبقة حماية دلالية وتغطية أوسع للبيانات الشخصية
- تقييمه على محادثات دعم حقيقية بموافقة أصحابها قبل أي تجربة
ما يمكنك التحقق منه
مشروع ختامي في برنامج LLM Application Engineering بأكاديمية سدايا، سبتمبر 2026 — نموذج أولي عامل على بيانات خيالية في الذاكرة، مع تقييم موثّق. ليس منتجًا منشورًا.
- مستودع عام على GitHubالكود، ووحدة الأدوات، و240 اختبارًا محليًا مسجّلًا، وكل التقارير.(يفتح في علامة تبويب جديدة)
- الدفتر المنفَّذ87 خلية، نُفّذت خلايا الكود الـ47 كلها في جلسة Colab واحدة موثّقة، وهو مرجع الأدلة.(يفتح في علامة تبويب جديدة)
- تقرير التقييممجموعة Golden Set على النموذجين، والحالات الفاشلة، والمخرجات المهيكلة، ومعايرة المُحكِّم، مع فصل النتائج الحية عن الحتمية.(يفتح في علامة تبويب جديدة)
- استدعاء الأدوات الأصليالبروتوكول، وحدّ الصلاحيات، والاستعلام المرفوض عن طلب عميل آخر.(يفتح في علامة تبويب جديدة)
التقنيات
Python · Pydantic · DeepSeek API · ALLaM-7B · vLLM · Native tool calling · Google Colab
DeepSeek (deepseek-v4-flash) عبر واجهته البرمجية، وALLaM (humain-ai/ALLaM-7B-Instruct-preview) عبر vLLM على Colab T4.
«بناء تطبيق ذكاء اصطناعي ليس تحسين Prompt فقط. النموذج يعمل داخل نظام يملك الصلاحيات والتحقق والتقييم، وطريقة واضحة للفشل.»
السجل الكاملالسياق والقيود والملاحظات الهندسية كما هي.
السياق
المشروع الختامي لبرنامج LLM Application Engineering في أكاديمية سدايا (SDA-AIE-213)، المسار D — دعم طلبات التجزئة. بُني في دفتر Colab واحد منفَّذ لمتجر سعودي خيالي، مع مستودع عام يضم الاختبارات وتقارير التقييم ومصدر النتائج.
المشكلة
خدمة العملاء في المتاجر تجمع أسئلة وإجراءات على حساب العميل. «وش سياسة الإرجاع؟» تحتاج إجابة من بيانات المتجر، و«وين طلبي؟» تقرأ بيانات الحساب، و«أبي أرجّع هذا المنتج» تغيّرها، أما «اعرض لي طلب عميل ثاني» فلا بد أن تُرفض. النموذج اللغوي مرن بما يكفي للمحادثة، لكن لا يصح أن يكون هو من يقرر من يقرأ الطلب أو يعدّله.
ما بُني
يرسل الموجّه كل رسالة إلى مسار محدد: إجابة من بيانات المتجر، أو استعلام عن طلب، أو إرجاع، أو تحويل لموظف، ويستقبل مسار منفصل استدعاءات الأدوات التي يصدرها النموذج. وقبل تشغيل أي أداة يتحقق كود التطبيق من المدخلات، ويوحّد هوية المنتج من الكتالوج، ويتأكد أن الجلسة الحالية تملك الطلب. وتحيط حمايات المدخل والمخرج بالمسار كله.
النتيجة
نموذج أولي عامل بتقييم موثّق. على Golden Set من 56 حالة اجتاز كلٌّ من DeepSeek وALLaM 51 من 56 حالة، ومنها الحالات عالية الخطورة الـ24 كلها. ورُفض استعلام حيّ عن طلب عميل آخر بقرار من التطبيق، واكتمل إرجاع حيّ مصرّح به بإنشاء إرجاع واحد. كل ذلك على بيانات خيالية، ولا شيء منشور.
القيود
- العربية أولًا، والإنجليزية معها
- بيانات خيالية في الذاكرة: كتالوج وعملاء وطلبات وإرجاعات
- دفتر منفَّذ واحد هو مرجع الأدلة
- نموذجان خلف واجهة واحدة: DeepSeek، وALLaM عبر vLLM محليًا
المسؤوليات
- صمّم الموجّه وعقود الأدوات وحدّ الصلاحيات
- بنى حلقة الأدوات الأصلية بمخططات صارمة للمدخلات وإرجاع لا يتكرر
- بنى خط الحماية بمراحله الخمس ومجموعتي الهجمات والطلبات المشروعة
- بنى Golden Set من 56 حالة، وتقرير الحالات الفاشلة، وتقييم المخرجات المهيكلة
- شغّل التقييم الحي على DeepSeek وALLaM ووثّقه، ووثّق كل قيد
ملاحظات هندسية
- تُختصر استدعاءات الأدوات القادمة من المزوّد في أربعة حقول، ثم تُطابَق مع قائمة من ثلاث أدوات فقط: lookup_order وcreate_return وescalate_to_human
- تمر المدخلات بمخططات Pydantic صارمة ترفض أي حقل غير معروف، فيُرفض أي معرّف مستخدم أو موافقة يرسلها النموذج
- يُوحَّد المنتج في هوية واحدة من الكتالوج قبل التحقق من الصلاحية، فلا يُنشئ اختلاف الكتابة إرجاعًا ثانيًا
- تتحقق Session.authorize_order() من الملكية في كود التطبيق قبل أي قراءة أو تعديل
- إرجاع مفتوح واحد لكل عميل وطلب ومنتج، فتعيد المحاولة الإرجاع نفسه، ورقم الإرجاع يصدره التطبيق