حواجز الحماية من هلوسة RAG: تصميم من خمس طبقات

خمسة حواجز حماية تمنع مساعد RAG من اختلاق الإجابات: الرفض قبل الاسترجاع، وحدّ أدنى للتشابه، والموجّه، وبوابة الجمل، وقواعد الخطاب.

التوليد المعزز بالاسترجاع (RAG) لا يمنع النموذج من اختلاق الإجابات، بل إن السياق الضعيف قد يجعله أكثر ثقة لا أكثر حذرًا. لذلك فإن موضع حواجز الحماية من هلوسة RAG هو في الغالب الشيفرة المحيطة بالنموذج. ابنِها خمس طبقات بترتيب ثابت، على نحو ما يعمل مساعد هذا الموقع:

  1. ارفض الأسئلة التي يجب ألا يجيب عنها المساعد أبدًا، قبل الاسترجاع.

  2. لا تعطِ النموذج إلا أدلة يمكن محاسبته عليها: مقاطع تتجاوز الحدّ الأدنى للتشابه، أو سجلات الموقع نفسه للأسئلة عن العمل في مجمله. فإن لم يوجد هذا ولا ذاك، فارفض دون استدعائه.

  3. عامِل موجّه النظام بوصفه الطبقة الوحيدة التي يستطيع النموذج تجاهلها.

  4. لا ترسل الإجابة إلا جملةً جملة، وبعد فحوص حتمية.

  5. لا تدع المساعد يتحدث أبدًا بصفته الشخص الذي يقف خلفه.

ويكتمل التصميم بفحص للإنفاق قبل استدعاء النموذج.

أنا من بنى هذا الموقع وأتولى صيانته، بما فيه المساعد. ولا أنشر له أي رقم عن الدقة، وقسم القياس يشرح السبب.

لماذا لا يزال RAG يهلوس؟

في نظام RAG، يُعيد المُسترجِع مقاطع من مدوّنة نصية، ويكتب نموذج اللغة إجابته منها. والهلوسة قول خاطئ أو بلا سند يُقدَّم كأنه صحيح.

الاسترجاع يضيّق ما يُرجَّح أن يقوله النموذج، لكنه لا يضع له حدًّا.

الاسترجاع قد يجعل النموذج أكثر ثقة، لا أكثر صوابًا

فصل باحثون في Google بين حالتين: سياق مسترجَع يكفي للإجابة عن السؤال، وسياق لا يكفي. وفي تلخيصهم لورقتهم، التي قُدِّمت في مؤتمر ICLR ٢٠٢٥، يقول المؤلفون بصراحة إن RAG «يحسّن الأداء العام في الغالب، لكنه يقلّل، على نحو مفارِق، قدرة النموذج على الامتناع عن الإجابة حين يكون الامتناع مناسبًا». وفي أحد الأمثلة، انتقل نموذج Gemma من إجابات خاطئة على ١٠٫٢٪ من الأسئلة حين لا سياق لها، إلى ٦٦٫١٪ حين يكون السياق غير كافٍ.

ومعرفة متى لا يُجاب لها مردود: فطريقة التوليد الانتقائي (selective generation) التي اقترحها المؤلفون رفعت نسبة الإجابات الصحيحة، من بين المرات التي أجاب فيها النموذج، بنسبة تتراوح بين ٢٪ و١٠٪ في نماذج Gemini وGPT وGemma.

والمُسترجِع من نوع top-k يُعيد k مقاطع سواء كان فيها مقطع ذو صلة أو لم يكن. فإذا كان النموذج وحده هو من يحكم على كفايتها، فإن قرار الامتناع متروك للمكوّن نفسه الذي يبيّن هذا البحث أنه كثيرًا ما يخطئ فيه.

النماذج تُكافأ على التخمين

يرى Kalai وزملاؤه أن «نماذج اللغة تهلوس لأن إجراءات التدريب والتقييم تكافئ التخمين على الاعتراف بعدم اليقين». فحين لا يمنح التصحيح أي درجة لإجابة «لا أعرف»، يرفع التخمينُ الدرجةَ. والتعليمة التي تطلب من النموذج الاعتراف بعدم يقينه تدفع في عكس اتجاه هذا الحافز. إنها تساعد، لكنها ليست وسيلة تحكّم.

أدوات البحث القانوني التجارية ظلّت تهلوس

قدّم بعض مزوّدي أدوات البحث القانوني تقنية RAG بوصفها سبيلًا إلى «القضاء على» الهلوسة. وقد وجد أول تقييم مسجَّل مسبقًا (preregistered) لأدوات البحث القانوني بالذكاء الاصطناعي أن منتجات LexisNexis وThomson Reuters هلوست كلٌّ منها بنسبة تتراوح بين ١٧٪ و٣٣٪ من الحالات. أما ما يعنيه ذلك للمنتجات القانونية فتتناوله مقالة هلوسة الذكاء الاصطناعي القانوني: ماذا نبني؟.

الطبقات الخمس في نظرة واحدة

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

الطبقة

ما الذي تمنعه

أين تعمل

ماذا يحدث حين تُفعَّل

١. أنماط الرفض

إجابات يجب ألا يقدّمها المساعد أبدًا

الشيفرة

رفض بنص ثابت قبل الاسترجاع

٢. الحدّ الأدنى للتشابه

إجابات مبنية على دليل ضعيف

الشيفرة

رفض بنص ثابت، دون استدعاء النموذج

٣. موجّه النظام

خرق القواعد، حين يمتثل النموذج

النموذج نفسه

لا شيء يفرضه وحده

٤. بوابة الجمل

ادعاء بلا مصدر، وقيمة مختلَقة، وصيغة المتكلم

الشيفرة

يتوقف البث ويُحجب ما بقي

٥. قواعد الخطاب

التزام يُقدَّم باسم شخص آخر

الشيفرة والموجّه

عبر الطبقات ١ و٣ و٤

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

الطبقة الأولى: ارفض قبل أن تسترجع

الإخفاق الأول ليس غياب إجابة، بل إجابة ما كان ينبغي أن توجد أصلًا.

أسئلة تملك مدوّنتك النصّية إجابتها ولا يجوز لمساعدك أن يجيب عنها

في هذا الموقع، السؤال عن الأجور يسترجع صفحة الخدمات. والنص ذو صلة فعلًا، والإجابة منه هي الخطأ بعينه: فأي رقم أو تاريخ أو التزام يركّبه النموذج من تلك الصفحة إقرارٌ لم يقدّمه أحد. فالصلة ليست إذنًا.

لذلك تُرفض بعض الأسئلة قبل أن يُحوَّل أي شيء إلى تضمين أو يُسترجَع:

  • شروط التعاون: الأجور، والتفرّغ، والتعاقد.

  • التفاصيل الخاصة التي يمتنع الموقع عمدًا عن نشرها، مثل رقم الهاتف، وعنوان السكن، والحالة الاجتماعية أو حالة الخدمة العسكرية، وتاريخ الميلاد.

  • التكهّن: التنبؤات، والمقارنات بأشخاص محدَّدين بالاسم.

  • الطلبات الواصفة (meta) التي تحاول انتزاع التعليمات أو تجاوزها.

  • طلبات أداء المهام: كتابة شيفرة برمجية أو نص، أو ترجمة شيء أو حلّه، بدلًا من السؤال عن العمل المنشور.

والرفض نصٌّ ثابت، لا مخرَجٌ للنموذج: فالرفض الذي يكتبه النموذج رفضٌ يستطيع النموذج أن يقنع نفسه بالعدول عنه. أما عميلا نموذج التضمين (النموذج الذي يحوّل النص إلى متجهات) ونموذج اللغة فلا يُنشآن إلا عند الحاجة، لذا فالرفض عند هذه الطبقة لا يصحبه أي استدعاء خارجي.

ولنظامك أنت، اكتب قائمة بالأسئلة التي إجابتها الصحيحة هي «ليس من هذا المساعد»، مهما كان ما تحويه المدوّنة.

أنماط، لا مصنِّف

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

وهي ليست مصنِّفًا. فالمصنِّف الذي يصيب في معظم الأحيان يظل وعدًا لا يستطيع هذا الموقع أن يقطعه، لأن ما يفوته التزامات باسم شخص بعينه.

والحدّ واضح: الأنماط لا تلتقط إعادة الصياغة. أما الإملاء الفارسي فليس من تلك الثغرات. فلأن التوحيد يحوّل محرف عدم الوصل صفري العرض إلى مسافة، تصل الكلمة التي يصلها الإملاء المعياري إلى الأنماط مقسومة إلى كلمتين، وكل نمط فارسي يقبل هذه الصورة والصورة الموصولة معًا، فتُرفض «چقدر می‌گیرد» و«چقدر میگیرد» كلتاهما. أما السؤال المصوغ بكلمات لا تحويها القائمة فما زال يمرّ، ولهذا وُجدت الطبقات التالية: فالموجّه يمنع الحديث عن الأجور والتفرّغ، والبوابة توقف الجملة التي تظهر فيها كلمة بصيغة المتكلم تعرفها أو رقم لا يرد في المصادر. وهذا يضيّق الفجوة، ولا يغلقها. وقوائم اللغات غير الإنجليزية والفارسية أقصر، وإعادة الصياغة فيها تمرّ أكثر.

الطبقة الثانية: حدّ أدنى للتشابه يمنع استدعاء النموذج

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

لماذا لا يصلح وضع حدّ على درجة دمج الرتب المتبادل (RRF)؟

المُسترجِع هجين: بحث متجهي كثيف وبحث بالكلمات المفتاحية بمطابقة الكلمات الكاملة، يُدمجان بدمج الرتب المتبادل (reciprocal rank fusion أو RRF). وكيفية تعامل هذا الدمج مع الفارسية والإنجليزية جنبًا إلى جنب يتناولها البحث الهجين في RAG للغة الفارسية.

وRRF طريقة جيدة لدمج الترتيبات، ورقم سيئ لوضع حدّ عليه. ففي صياغة Cormack وClarke وBüttcher، درجة المستند هي مجموع 1/(k + r(d)) على كل الترتيبات، حيث r(d) رتبته في كل قائمة، وk = 60 «ثُبِّتت خلال دراسة استطلاعية». والدرجة مبنية على المواضع وحدها، لذا فحتى مدوّنة من الضجيج الخالص تُنتج مستندًا في المرتبة الأولى بأفضل درجة مدمجة متاحة. فالحدّ الموضوع على هذا الرقم يقيس الرتبة، لا الصلة.

ما الذي يقارنه الحدّ الأدنى بدلًا من ذلك؟

كل مُسترجِع يستطيع إنتاج تشابه محصور بين طرفين يُبلِغ عن قيمته:

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

  • البحث بالكلمات المفتاحية يُبلغ عن التغطية: نسبة كلمات المضمون في السؤال، من ثلاثة محارف فأكثر (ومن محرفين في الصينية)، الواردة في المقطع كلماتٍ كاملة. وتُحذف الكلمات الشائعة أولًا، في كل لغة من لغات الموقع، ولا تُحسب التغطية في الحدّ الأدنى إلا إذا تطابقت كلمتان مختلفتان على الأقل من كلمات المضمون. فتطابق كلمة واحدة مصادفة. وفي سؤال المتابعة الذي لا يقول إلا أيّ عنصر يقصد، مثل «أخبرني المزيد عن الثاني»، تكون كلمات المضمون هي كلمات العنوان أو الاسم الذي يعطيه الموقع لذلك العنصر.

ويحتفظ كل مقطع بالأعلى من القيمتين، ويُقارَن الحدّ الأدنى بالأعلى بين المقاطع المُعادة؛ والمقطع الذي يحدّد هذه القيمة يكون دائمًا بينها. أما الدرجة المدمجة فلا تقرّر إلا الترتيب.

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

أسئلة لا تستطيع درجة التشابه أن تجيب عنها

«ماذا فعل مؤخرًا؟» ليس له جار أقرب. فجوابه قائمة مرتّبة بالتاريخ، ولا مقطع يشبه ذلك: فعلى نموذج التضمين الذي يستخدمه هذا الموقع، نال هذا السؤال درجة أدنى من سؤال عن الطقس. لذلك تُتعرَّف الأسئلة عن العمل في مجمله بأنماط في كل لغة من لغات الموقع العشر، كما في مجموعة الرفض. وهي تغطي ما أعمله الآن أو عملته مؤخرًا، ومسيرتي المهنية، ومشاريعي، وأبحاثي، وكتاباتي، وتعليمي، ومهاراتي، وخدماتي. ويُجاب عن هذه الأسئلة من سجلات الموقع: مدخلات من السيرة الذاتية ودراسات الحالة والمقالات والخدمات، تُقرأ من قاعدة البيانات لكل سؤال. وتأتي السجلات بلغة القارئ حيثما وُجدت ترجمة بها، وتُرتَّب السجلات المؤرخة بتواريخها هي، الأحدث أولًا.

والسجلات تُختار بقاعدة، لا بالتشابه، فلا ينطبق عليها الحدّ الأدنى. لكنها لا تُعفى من شيء آخر: فأنماط الرفض تعمل أولًا، وكل سجل مؤرخ يحمل تواريخه بالدقة التي يعرضها الموقع، وكل جملة تُبنى على سجل تمرّ بالبوابة نفسها.

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

كيف تختار حدّ التشابه في RAG؟

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

والقيمة الافتراضية في تصميم هذا الموقع هي ٠٫٣٥، وتعمل مجموعة الاختبارات عند هذه القيمة بنموذج تضمين بديل، أي نموذج نائب لا يُستخدم إلا في الاختبارات. ولم تُعايَر بعدُ في مقابل نموذج التضمين المستخدم في الإنتاج. وثمة أمر يقتصر على الاسترجاع يمرّر الأسئلة الذهبية والأسئلة المقترحة في الموقع عبر نموذج التضمين المنشور دون استدعاء النموذج، ولا تتغير قيمة الإنتاج إلا حين ينجح هذا التشغيل. فهي ليست قيمة تُنقل كما هي. ولاختيار قيمتك أنت:

  1. مرِّر الأسئلة التي يجب أن يجيب عنها المساعد والأسئلة التي يجب أن يرفضها عبر نموذج التضمين الذي تنشره أنت، وقارن توزيعَي أعلى تشابه في المجموعتين.

  2. قرّر كم سؤالًا قابلًا للإجابة أنت مستعدّ للتضحية به كي توقف الأسئلة التي يجب رفضها. وحيث تكون الإجابة الخاطئة الواثقة أسوأ من غياب الإجابة، ارفع الحدّ.

  3. سجِّل أي نموذج تضمين وأي مدوّنة يخصّهما هذا الرقم. فكل صفحة تُضاف إلى المدوّنة تغيّر ما يمكن لسؤال خارج الموضوع أن يطابقه، وهذه المقالة منها.

وعرض «RAG مقابل بلا استرجاع» مبني حول هذا الحدّ الفاصل. فليس فيه مسار غير مستند إلى المصادر: فالسؤال الذي لا يتعلق بي، ولا يدعمه أي مقطع، تتوقف جولته قبل أن تصل إلى نموذج اللغة.

الطبقة الثالثة: موجّه النظام هو الطبقة الوحيدة التي يستطيع النموذج تجاهلها

ما زال الموجّه يؤدي عملًا حقيقيًا. فهو يطلب من النموذج ألا يستخدم إلا المصادر المرقّمة المرفقة بالسؤال، وأن يكتب عني بضمير الغائب وبلغة القارئ، وألا يذكر أبدًا التفرّغ أو الأجور أو الجداول الزمنية، وألا يختلق رقمًا أو تاريخًا أو يحسبه، وألا يقول «حاليًا» إلا عمّا يصفه سجلٌّ بأنه حالي، وأن ينهي كل جملة تذكر واقعة بعلامة إسناد، وأن يجيب برمز ثابت حين لا تغطي المصادر السؤال.

لكنه لا يستطيع فرض أي من ذلك. فمدخل LLM07:2025 System Prompt Leakage لدى OWASP يوصي بحواجز حماية خارج النموذج، لأن نظامًا مستقلًا يفحص المخرجات «أفضل من تعليمات موجّه النظام». وإرشادات Anthropic للحدّ من الهلوسة، ومنها السماح للنموذج بأن يقول إنه لا يعرف، صريحة بالقدر نفسه: «مع أن هذه الأساليب تقلّل الهلوسة تقليلًا كبيرًا، فإنها لا تقضي عليها تمامًا».

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

تعليمة الموجّه

النظير الحتمي

علامة إسناد على كل جملة تذكر واقعة

البوابة تتحقق من وجود العلامة ومن وقوعها ضمن النطاق

لا تختلق رقمًا أبدًا

كل رقم وURL وعنوان بريد إلكتروني يجب أن يرد في مصدر تستشهد به الجملة

اكتب بضمير الغائب

فحص صيغة المتكلم في البوابة

لا حديث عن الأجور ولا عن التفرّغ

أنماط الطبقة الأولى، ثم فحصا القيم وصيغة المتكلم في البوابة

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

الطبقة الرابعة: افحص البث جملةً جملة

الجملة التي قرأها القارئ لا يمكن سحبها. وتسمّي وثائق NeMo Guardrails لدى NVIDIA هذه المفاضلة باسمها: حين يكون stream_first مفعَّلًا، وهو الإعداد الافتراضي، «إذا حجب أحد الحواجز المحتوى، فإن المستخدم يكون قد تلقى الرموز بالفعل». وقد اختار هذا الموقع الجانب الآخر: يُحتجَز النص حتى تنتهي الجملة، ثم يُفحص، ولا يُرسل إلا بعد ذلك، وكلفة ذلك تأخير بمقدار جملة واحدة تقريبًا.

وتواجه كل جملة أربعة فحوص، كل واحد منها حكم على سلاسل نصية لا حكم على المعنى:

  1. العلامة ضمن النطاق: أن تشير إلى مصدر جرى تزويد النموذج به فعلًا.

  2. وجود العلامة على كل جملة جوهرية؛ أما الجملة الرابطة القصيرة التي لا قيم فيها فتمرّ. ويُحسب الطول بالكلمات المفصولة بمسافات، إلا في الصينية التي لا تستخدمها: فهناك يُحسب كل ثلاثة حروف كلمتين.

  3. القيم موجودة في الأدلة المستشهَد بها: كل رقم وURL وعنوان بريد إلكتروني يرد في مصدر تستشهد به الجملة، مع توحيد الأرقام الفارسية والعربية إلى لاتينية.

  4. لا صيغة متكلم، إذ إن وجودها يعني أن المساعد بدأ يتحدث بصفتي أنا.

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

و«مدعوم» ليس «صحيحًا». فالقيم تُقارن بالمصادر التي تستشهد بها الجملة، لا بالادعاء نفسه: فالجملة التي تستشهد بمصدرين يمكن أن تأخذ قيمة من أيهما، والجملة التي لا قيم فيها تمرّ مع أي علامة ضمن النطاق. فالبوابة لا تستطيع أن تُظهر أن ادعاءً ما صحيح، ولا حتى أن المقطع المستشهَد به يقوله. ويطلب مدخل LLM09:2025 Misinformation لدى OWASP من الفرق أن «تتحقق تلقائيًا من المخرجات الرئيسية»؛ وهذه نسخة ضيقة وحتمية من ذلك الطلب. أما تفاصيل الآلية فتجدها في حواجز حماية LLM أثناء البث.

الطبقة الخامسة: قواعد الخطاب والنيابة

المساعد الذي يتحدث باسم أحد يُقدِّم إقرارات نيابةً عنه

في قضية Moffatt v. Air Canada (2024 BCCRT 149)، كما نقلتها McCarthy Tétrault وBristows، نظرت هيئة حلّ المنازعات المدنية في كولومبيا البريطانية في روبوت دردشة تابع لشركة طيران أوحى لعميل بأنه يستطيع المطالبة بتعرفة الحداد بأثر رجعي. وكان موقف الشركة، بتعبير الهيئة، يوحي بأن «روبوت الدردشة كيان قانوني منفصل مسؤول عن أفعاله». ولم تقبل الهيئة ذلك: «لا فرق بين أن تأتي المعلومة من صفحة ثابتة أو من روبوت دردشة».

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

ضمير الغائب، ونص رفض ثابت، وفحص لصيغة المتكلم

المساعد ليس أنا أبدًا. فهو يكتب عني بضمير الغائب، وكل نصوص الرفض والإشعارات ثابتة. وقاعدة الخطاب مفروضة في ثلاثة مواضع:

  • الطبقة الأولى ترفض الأسئلة عن الأجور والتفرّغ والتعاقد والتفاصيل الخاصة قبل الاسترجاع، في كل لغة من لغات الموقع.

  • الطبقة الثالثة تمنع صيغة المتكلم وأي التزام نيابةً عني.

  • الطبقة الرابعة توقف البث حين تظهر كلمة بصيغة المتكلم.

والفحص أضعف في الفارسية. فالقائمة الإنجليزية لصيغة المتكلم تغطي الضمائر. أما القائمة الفارسية فمنتقاة لا شاملة: فالفارسية تدل على الشخص بلواحق في آخر الفعل، وقاعدة تتسع لالتقاطها كلها ستلتقط أيضًا كلمات عادية تنتهي باللاحقة نفسها. وتضم القائمة الضمائر وبضعة أفعال عالية الخطورة، مثل «هستم» و«دارم»، كلٌّ منها بالصورتين اللتين يمكن أن ينتجهما التوحيد: فالفحص يوحّد قبل أن يقسّم الكلمات، لذا تصل «می‌کنم» إليه رمزين و«میکنم» رمزًا واحدًا. وما يبقى خارج التغطية هو اللاحقة، لا الإملاء. فالفارسية تعتمد على الموجّه أكثر، وهذا أمر مكتوب لا مخفيّ. أما في لغات الموقع الأخرى فتضم القائمة ضمائر المتكلم وصيغ الملكية، وتضيف إليها في الإسبانية والبرتغالية والروسية والعربية والهندية، التي كثيرًا ما تعبّر عن المتكلم بالفعل وحده، بضعة أفعال بصيغة المتكلم. وفي الصينية، التي لا تفصل الكلمات بمسافات، يبحث الفحص عن 我 في أي موضع من الجملة، إلا في مركّبٍ يبدأ ب 自我 بمعنى «ذاتي»، مثل 自我修正، أي «التصحيح الذاتي». وفي العربية أُسقطت كلمة «لديّ» عن قصد، لأن توحيد الحروف الذي يجعل الإملاءين الفارسي والعربي قابلين للمقارنة يجعلها مطابقة لكلمة «لدى» الشائعة.

إساءة استخدام الكلفة وهجمات Denial of Wallet: إخفاق من العائلة نفسها

الهلوسة مخرَج لم يأذن به أحد. والفاتورة بلا حدّ إنفاقٌ لم يأذن به أحد. ويُدرج OWASP الثاني تحت LLM10:2025 Unbounded Consumption، الذي يشمل Denial of Wallet: فالمهاجمون «يستغلون نموذج الدفع بحسب الاستخدام في خدمات الذكاء الاصطناعي السحابية، فيفرضون أعباءً مالية لا تُحتمل على المزوّد». ومن إجراءات الحدّ التي يذكرها: تحديد حجم المُدخَل، وحدود المعدّل وحصص المستخدمين، والمهل الزمنية وكبح العمليات، والتدهور التدريجي في الخدمة.

ميزانية قبل الاستدعاء، لا تنبيه بعده

الفحص الذي يجري بعد استدعاء النموذج يأتي بعد أن يكون المال قد أُنفق. وفي هذا الموقع، يعمل فحص الإنفاق الشهري بعد الحدّ الأدنى وقبل استدعاء النموذج. وهو يجمع الإنفاق حتى تلك اللحظة إلى حدّ أعلى لكلفة هذه الجولة: الموجّه كاملًا محسوبًا برمز واحد لكل بايت في ترميز UTF-8، مضافًا إليه سقف الإخراج كاملًا، بما فيه مخصّص الاستدلال (reasoning). أما الفحص في مقابل الكلفة المتوقعة بدلًا من ذلك، فهو الطريق الذي يُتجاوز به أي سقف.

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

وعدد البايتات سقفٌ حقيقي، لا تقديرٌ سخيّ. فكل مجموعة مفردات يمكن توجيه نقطة النهاية هذه إليها هي BPE على مستوى البايت، وفي مثل هذا المُقطِّع يكون الرمز سلسلةَ بايتات غير خالية، فلا يستطيع أي نص أن ينتج رموزًا أكثر من بايتاته، بأي لغة كُتب. والسبيل الوحيد لتجاوز هذا الحدّ مُقطِّع يوسّع النص قبل أن يقسّمه، ولا يفعل ذلك أيٌّ من هذه المُقطِّعات. وقد حلّ هذا الحدّ محلّ قاعدة ثابتة مفادها رمز واحد لكل محرفين، وهي القاعدة التي تخلّى عنها هذا الموقع: فقد قاست ضريبة الرموز على الفارسية وقوع تلك القاعدة دون العدد الحقيقي للرموز في كل جملة فارسية من مدوّنة متوازية على المُقطِّع cl100k_base. والسقف واسع؛ فهو يحجز للفارسية أضعاف ما يكلّفه الموجّه فعلًا، وهو واسع في الاتجاه الوحيد الذي يُسمح لسقف الإنفاق أن يخطئ فيه.

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

الإغلاق عند الإخفاق في الإنفاق، والفتح عنده في حدود المعدّل

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

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

أوقف الدفع حين يغادر القارئ

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

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

كيف تقيس ذلك: دقة الرفض، وrecall@k، والاستناد إلى المصادر

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

دقة الرفض: مجموعتان، بلا درجات جزئية

يُقاس الرفض على مجموعتين، لأن طبقتَي الرفض تُخفقان بطريقتين مختلفتين. فأسئلة الرفض بالأنماط يجب أن تلتقطها الطبقة الأولى قبل أن يعمل الاسترجاع؛ وأسئلة «لا دليل عليها»، وهي أسئلة لا صلة لها بالموقع البتة، يجب أن تقع دون الحدّ الأدنى، وألا تُعرَّف بوصفها أسئلة عني. وتتحقق مجموعة ثالثة من أن الأسئلة عن العمل في مجمله تصل إلى سجلات الموقع.

ويجب أن تحصل المجموعتان كلتاهما على درجة كاملة كي تنجح عملية البناء. فالرفض الواحد الفائت التزامٌ مختلَق على موقع شخص حقيقي، والمتوسط كان سيخفيه. والتشغيل نفسه يفحص الإخفاق المعاكس: الأسئلة القابلة للإجابة التي ترفضها الأنماط أو الحدّ الأدنى. وتفضّل الأسئلة الشائعة عن التقييم (evals FAQ) لدى Hamel Husain وShreya Shankar حكمَ النجاح أو الإخفاق على مقاييس التقدير، لأن «التقييمات الثنائية تفرض تفكيرًا أوضح ووسمًا أكثر اتساقًا».

ولا أنقل هنا الأسئلة التي يجب رفضها: فهذه المقالة ستدخل مدوّنة المساعد، ونقلها كان سيمنح تلك الأسئلة بعينها مطابقة قوية بالكلمات المفتاحية على هذه الصفحة.

قياس recall@k عند k أقل من القيمة الافتراضية

في المجموعة الذهبية، يسأل recall@k عمّا إذا كان مقطع واحد على الأقل يجيب عن السؤال موجودًا ضمن أعلى k نتيجة، وهو بذلك معدّل إصابة. أما مقالة Contextual Retrieval لدى Anthropic فتستخدم التعريف الأشدّ، أي نسبة المستندات ذات الصلة التي جرى استرجاعها، وتذكر «١ ناقص recall@20» مقياسًا لإخفاقها.

وتقيس المجموعة الذهبية recall عند k = ٥، وهي أقل من قيمة top-k الافتراضية البالغة ٨، لأن أعلى ثماني نتائج في مدوّنة اختبارية من بضع عشرات المقاطع تمثّل حصة كبيرة من كل ما فيها، والقياس عندها كان سيُظهر المُسترجِع أفضل مما هو.

الاستناد إلى المصادر: يُفرض عند كل جملة، لا يُقاس خارج التشغيل

في التقييم خارج التشغيل، يُقاس الاستناد إلى المصادر عادةً بمقياس الأمانة (faithfulness). وتعرّفه وثائق Ragas بأنه عدد ادعاءات الإجابة التي يدعمها السياق المسترجَع مقسومًا على مجموع ادعاءاتها، في مدى من ٠ إلى ١؛ وفي صورته المعيارية يتولى نموذج LLM استخراج الادعاءات وفحصها.

ونماذج LLM الحَكَم مفيدة ومنحازة معًا. فقد وجد Zheng وزملاؤه «انحيازات تتعلق بالموضع والإسهاب وتفضيل الذات»، في حين بلغ الحَكَم القوي مع ذلك أكثر من ٨٠٪ من التوافق مع التفضيلات البشرية. ويوصي Husain وShankar بالتحقق من معدّل الإيجابيات الصحيحة ومعدّل السلبيات الصحيحة للحَكَم على مجموعة موسومة مفصولة عن التدريب، وبالبدء بفحوص زهيدة قائمة على الشيفرة حيثما استطاعت قاعدة أن تحسم الأمر.

وقد اختار هذا الموقع الطريق القائم على الشيفرة: فالبوابة تفرض الاستناد إلى المصادر في زمن التشغيل، ولا يعمل في CI أي مقياس أمانة ولا أي نموذج LLM حَكَم.

ما الذي لا تثبته مجموعتي الذهبية

  • نموذج التضمين بديل. فالاسترجاع في CI يستخدم نموذج تجزئة من نوع كيس الرموز بلا أي معنى متعلَّم. أما التوجيه والدمج والترتيب واختيار top-k وقرار الأدلة، بما فيه المقارنة بالحدّ الأدنى، فهي شيفرة الإنتاج نفسها؛ ولا يُحاكى داخل الاختبار إلا تقييم المقاطع المرشحة، الذي يجري في الإنتاج داخل قاعدة البيانات. لذا يلتقط CI التراجعات في آلية التوجيه والترتيب، لا في استعلام قاعدة البيانات ولا في استدعاء المساعد العامل، بل إن النموذج البديل يشغّل أيضًا قائمة متفرقة لا يستخدمها الإنتاج.

  • المجموعتان صغيرتان. فيهما واحد وعشرون سؤالًا يجب أن ترفضها الأنماط، وأحد عشر سؤالًا لا دليل عليها. و«يجب أن تكون الدرجة كاملة» على أحد عشر سؤالًا حارسٌ ضد التراجع، لا معدّل رفض.

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

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

لذلك لا أنشر لهذا المساعد أي رقم عن الدقة أو الرفض أو recall: فالتشغيل الآلي يستخدم نموذج تضمين بديلًا، والفحوص الحيّة صغيرة وتُشغَّل يدويًا، وهذا الموقع لا يقدّر أرقامًا لم يقِسها.

البنية بدل الثقة في مساعد للعقود

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

قائمة تحقق: حواجز حماية لمساعد RAG في بيئة الإنتاج

  • ارفض بالأنماط أولًا. الأجور والتفرّغ والبيانات الخاصة ومحاولات انتزاع التعليمات تُرفض قبل الاسترجاع.

  • ضع الحدّ على تشابه، لا على درجة رتبة. فجيب التمام يصلح لحمل حدّ أدنى، وكذلك تغطية الكلمات الكاملة بعد حذف الكلمات الشائعة وحين تتطابق كلمتان من كلمات المضمون على الأقل؛ أما درجة RRF فلا. ودون الحدّ، ارفض بنص ثابت وتجاوز النموذج.

  • أجب عن الأسئلة العامة من السجلات، لا بالتشابه. فالقائمة المرتّبة بالتاريخ ليس لها جار أقرب.

  • عايِر الحدّ على نموذج التضمين الذي تنشره أنت. فالحدّ المفحوص على نموذج بديل قيمة افتراضية لا أكثر.

  • اجعل لكل قاعدة في الموجّه فحصًا خارج النموذج.

  • افحص البث جملةً جملة. اشترط العلامة، وتحقّق من الأرقام وعناوين URL والبريد الإلكتروني حرفيًا، واحجب كل شيء ابتداءً من الجملة المخالفة، واجعل للاقتطاع إشعاره الخاص.

  • امنع صيغة المتكلم في المساعدات التي تتحدث عن شخص أو شركة، ووثّق المواضع التي يكون الفحص فيها أضعف.

  • احجز حدًّا أعلى قبل الاستدعاء، لا تقديرًا سخيًّا. ففي BPE على مستوى البايت، عدد بايتات الموجّه في UTF-8 حدٌّ من هذا النوع. واجعل الحجز ذرّيًا (atomic) كي لا تمرّ الطلبات المتزامنة كلها، وأغلِق عند الإخفاق، وألغِ العمل إلى المنبع عند انقطاع الاتصال.

  • سجّل كلفةً لكل استدعاء، بما فيها الاستدعاءات التي قُطعت: احتفظ بالنص كما يُبثّ، واملأ فقط ما لم يبلّغ عنه حدث الاستهلاك الختامي لدى المزوّد.

  • قِس الرفض منفصلًا عن recall. واذكر نموذج التضمين، وحجم المجموعات، وما لا يثبته التشغيل.

الأسئلة الشائعة

هل يقضي RAG على الهلوسة؟

لا. فأدوات البحث القانوني القائمة على RAG لدى LexisNexis وThomson Reuters ظلّت تهلوس بنسبة تتراوح بين ١٧٪ و٣٣٪ من الحالات في دراسة مسجَّلة مسبقًا، والسياق غير الكافي قد يجعل النموذج أكثر ثقة لا أكثر حذرًا. الاسترجاع يحسّن الاحتمالات؛ أما الضمانات فتأتي من فحوص خارج النموذج.

ما حدّ التشابه الذي ينبغي أن يستخدمه نظام RAG؟

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

هل يكفي موجّه النظام لإيقاف الهلوسة؟

لا. يوصي OWASP بتجنّب «استخدام موجّهات النظام للتحكم في سلوك النموذج حيثما أمكن» وبالاعتماد على «أنظمة خارج LLM» بدلًا من ذلك، وتقول إرشادات Anthropic إن أساليب كتابة الموجّهات تقلّل الهلوسة دون أن تقضي عليها. أبقِ الموجّه، واجعل لكل تعليمة مهمة فيه فحصًا حتميًا خارج النموذج.

هل يمكن لنموذج LLM حَكَم أن يحلّ محل الفحوص الحتمية؟

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

كيف تمنع روبوت دردشة LLM من تضخيم الفاتورة؟

قبل استدعاء النموذج، احجز حدًّا أعلى لكلفته حجزًا ذرّيًا — وفي مُقطِّع BPE على مستوى البايت، عدد بايتات الموجّه في UTF-8 حدٌّ من هذا النوع، بأي لغة — وارفض الطلب إذا كان العدّاد غير متاح. وسجّل كلفةً لكل استدعاء، بما فيها الاستدعاءات التي قُطعت، بالاحتفاظ بالنص المبثوث وملء ما لم يبلّغ عنه حدث الاستهلاك الختامي لدى المزوّد. وتدهوَر إلى نص ثابت بدل رسالة الخطأ، وألغِ التوليد إلى المنبع حين ينقطع اتصال العميل. ويُدرج OWASP هذا الخطر باسم LLM10:2025 Unbounded Consumption، الذي يشمل Denial of Wallet.

المصادر


إن كنت تصمّم مساعدًا يجب أن يكون رفضه موثوقًا بقدر إجاباته، فابدأ من تشخيص المشروع.