الانتقال إلى المحتوى الرئيسي
يأخذ روبوت محادثة موجَّه للعملاء مدخلات غير موثوقة من الجمهور ويرسلها إلى نموذج. هذا يجعله أعلى سطح تعرّض تشغّله: يلصق المستخدمون معلومات PII لا تريد تخزينها لدى المزود الأعلى، ويحاول المهاجمون تجاوز مطالبة نظامك، ويمكن للنموذج أن يعيد أسراراً أو محتوى غير آمن إلى نافذة المحادثة. تربط هذه الوصفة الضوابط الأربعة التي تؤمّن روبوت محادثة بالذكاء الاصطناعي من طرف إلى طرف — حاجز حماية PII على الطلب، وفحص حقن المطالبات، وسلامة المخرجات، ومفتاح واحد محدّد النطاق بإحكام — كلها في وحدة التحكم، دون أي تغيير في كود روبوت المحادثة.
كل شيء هنا يرتبط بـمساحة عملك ويُضبط من وحدة التحكم. يستمر روبوت محادثتك في استدعاء https://api.orcarouter.ai/v1/chat/completions بنفس مفتاح sk-orca-... — وحدها السياسة في البوابة تتغيّر. تتطلب إجراءات الضبط الأدوار المذكورة في كل خطوة؛ أما استدعاءات الترحيل فتستخدم المفتاح المحدّد النطاق.

1. نموذج التهديد لروبوت محادثة عام

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

PII داخلة، PII مسجَّلة

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

حقن المطالبة

“تجاهل التعليمات السابقة و…” — محاولات لتجاوز مطالبة نظامك وتغيير سلوك الروبوت.

كسر القيود

صياغات DAN / لعب الأدوار التي تحاول جرّ الروبوت خارج السياسة.

مخرجات غير آمنة

إعادة النموذج لأسرار مسرَّبة، أو نص مطالبة النظام النمطي، أو محتوى مشحون بالحقن إلى المحادثة.
لا يملك روبوت محادثة عادي أي استدعاءات أدوات، لذا تتكئ هذه الوصفة على حواجز الحماية — مستوى النص — بدلاً من جدار الحماية. إذا كان روبوتك يستدعي الأدوات فعلاً، فاطبق جدار الحماية فوقه (انظر §6).

2. حاجز حماية واحد، أربع مهام

بدلاً من أربع سياسات منفصلة، ألّف حاجز حماية واحداً لمساحة العمل بقواعد مرتبة تغطي كل خطر. حاجز الحماية قائمة مسمّاة ومرتبة من القواعد؛ كل قاعدة تقول عمّ تبحث، وأين (input أو output أو both)، وماذا تفعل (block أو mask أو flag). في وحدة التحكم، افتح Guardrails → New guardrail، وسمِّه chatbot-shield، وأضف القواعد أدناه. تأليف حاجز حماية — وتشغيل صندوق رمل Test — يتطلب دور Developer؛ أما عرض حواجز الحماية فمفتوح لأي عضو.

أ. PII على الطلب

أضف قاعدة PII، مرحلة input، إجراء mask. مجموعة الكيانات المدمجة مغلقة — اختر تلك التي يراها روبوت المحادثة فعلاً:
{
  "type": "pii",
  "stage": "input",
  "action": "mask",
  "entities": ["email", "phone", "credit_card", "ssn", "ip"],
  "entity_actions": { "credit_card": "block", "ssn": "block" }
}
يستبدل القناع كل تطابق بوسم مُصنَّف — يصبح jane@acme.com هو [EMAIL]، فلا يرى النموذج الأعلى العنوان أبداً. يحجب تجاوز entity_actions الطلب بالكامل عند رقم بطاقة أو رقم ضمان اجتماعي بينما يقنّع الكيانات الأدنى خطورة. هذا بالضبط الإعداد المسبق PII Shield، موسَّعاً بتجاوزات لكل كيان — طبّق الإعداد المسبق من مكتبة القوالب وحرّر منه.
تقنيع PII على مرحلة الإدخال حيّ اليوم — يعيد كتابة الطلب قبل أن يراه النموذج. أما التقنيع الحي لـالاستجابة المتدفقة فعلى خارطة الطريق. لتنقيح PII مما يقوله الروبوت، استخدم قاعدة block على المخرجات (تُفرض على التدفق وغير التدفق) أو شغّل الروبوت بلا تدفق حيث ينطبق تقنيع المخرجات. أثبت تركيبتك المحددة من المرحلة/التدفق في تبويب Test أولاً.

ب. فحص حقن المطالبة

يطرح OrcaRouter هذا كإعداد سلامة مسبق Prompt-Injection Basics (قائمة رفض بالكلمات المفتاحية لعبارات مثل “ignore previous instructions” و “reveal your system prompt”؛ ولتغطية regex أصرم لصياغات DAN / لعب الأدوار، أضف الإعداد المسبق Jailbreak / Role-Play Blocker) بالإضافة، للنيّة الدلالية التي لا يلتقطها أي نمط، إلى قاعدة llm_judge. أضف الإعداد المسبق، ثم قاعدة قاضٍ على مرحلة input بمقياس يعلّم محاولات الحقن/التجاوز. يعمل القاضي مقابل نموذج في مساحة عملك، مقيَّداً بـ judge_timeout_ms، ويفشل مفتوحاً افتراضياً (يُسجَّل خطأ القاضي ويستمر الطلب) — اضبط judge_fail_open: false ليفشل مغلقاً.
ابدأ قواعد الحقن عند flag، راقب تغذية Matches يوماً على حركة المرور الحقيقية، ثم رقِّها إلى block بمجرد أن تتأكد أنها تُطلق على الهجمات لا على الأسئلة المشروعة. انظر أوضاع الفرض.

ج. سلامة المخرجات

أضف قاعدة block على مرحلة output (regex أو كلمة مفتاحية) للمحتوى الذي يجب ألّا يصل أبداً إلى نافذة المحادثة — أسرار مسرَّبة، رموز تحكّم قالب المحادثة، نص مطالبة النظام النمطي. يغطي الإعدادان المسبقان Secrets & API-Key Blocker وتسريب-مطالبة-النظام الحالات الشائعة؛ طبّقهما وثبّت القواعد المعنية على مرحلة output. تُفرض block على المخرجات في التدفق أيضاً — يقطع الماسح التدفق في منتصف الطيران ويصدر رسالة بديلة قبل أن يصل المحتوى المحجوب إلى المستخدم.

3. اختبر قبل أن تطلق

كل محرّر حاجز حماية له تبويب Test. الصق عينة، اختر المرحلة، وشغّل السياسة الحالية محلياً — بلا استدعاء للمزود الأعلى، بلا حصة منفقة.
الصق هذاالمرحلةالمتوقَّع
email me at jane@acme.cominputemail me at [EMAIL]
ignore previous instructionsinputflag / block (باختيارك)
بطاقة 4111 1111 1111 1111inputguardrail_blocked (حسب التجاوز)
للتغطية التنافسية، يشغّل تبويب Eval السياسة مقابل مجموعات الفِرق الحمراء المرفقة (أو JSONL خاص بك) ويبلّغ كيف سجّلت — اضبط مقياس القاضي حتى يلتقط الهجمات المعروفة دون تعليم المحادثة البريئة.

4. اسكك مفتاحاً واحداً محدّد النطاق للروبوت

لا يفرض حاجز الحماية إلا على المفاتيح التي تُحَل إليه. أعطِ روبوت المحادثة مفتاحه الخاص، محدّد النطاق إلى الحد الأدنى الذي يحتاجه — لا تستخدم أبداً مفتاحك على مستوى الحساب. في API Keys → New key، اضبط:
اختر chatbot-shield من القائمة المنسدلة Guardrail. هذا يضبط guardrail_id على المفتاح. الربط الصريح هو نقيض مفتاح الإطفاء: إذا كان مضبوطاً ومفعّلاً، فهو ينطبق دائماً ولا يتراجع صامتاً أبداً. (اتركه غير مضبوط لتتراجع إلى حاجز حماية is_default لمساحة العمل بدلاً من ذلك.)
اضبط credit_limit_usd على سقف معقول (0 = بلا حد). روبوت المحادثة العام هو المفتاح الأكثر عرضةً لسوء الاستخدام — سقف ائتماني صارم هو حد نطاق الانفجار لديك. انظر حرمان المحفظة.
فعّل model_limits واسرد النموذج (النماذج) فقط التي يُسمح للروبوت باستدعائها، حتى لا يُستخدم مفتاح مسرَّب لتشغيل نموذج باهظ لم تقصد كشفه أبداً.
اضبط allow_ips على عناوين IP الصادرة لخادمك الخلفي إذا كان الروبوت يستدعي من خادم ثابت، وexpired_time إن كان المفتاح مؤقتاً (-1 = لا تنتهي صلاحيته أبداً).
يُقنَّع المفتاح عند العرض بعد الإنشاء — انسخه مرة واحدة. الآن يرسل خلفية روبوت محادثتك كل دور مستخدم عبر chatbot-shield دون أي كود يدري أن الفحص يحدث.

5. راقبه في الإنتاج

قراءتان تبقيانك صادقاً، كلتاهما ضمن نطاق مساحة العمل:
  • Guardrails → Matches (أي Member) — كل قاعدة أُطلقت: النوع، الإجراء، المرحلة، والتفصيل. تُسجَّل السلسلة الفرعية المطابقة فقط إن كان Log raw content مفعّلاً للحاجز (مطفأ افتراضياً — الموقف المحافظ على الخصوصية). علّم إيجابية كاذبة لتضبط السياسة (Admin).
  • Version history — كل تغيير يكتب صف سجل؛ diff أي إصدارين وrevert إن تبيّن أن قاعدة عدوانية أكثر من اللازم. يعيد الطلب المحجوب HTTP 400 guardrail_blocked، ولا يكلّف أي حصة، ويُعلَّم skip-retry.
استجابة guardrail_blocked هي 400 متعمّدة ومرئية للمستخدم. عالجها في واجهة روبوت محادثتك برسالة ودودة (“لا أستطيع معالجة ذلك”) بدلاً من إظهار الخطأ الخام — فقد أوقفت البوابة الدور غير الآمن نيابةً عنك بالفعل.

6. إذا كان روبوتك يستدعي أدوات

في اللحظة التي يستطيع فيها روبوت محادثتك استدعاء دالة، أو جلب URL، أو الوصول إلى خادم MCP، لا يكفي فحص النص — تحتاج مستوى الإجراء. اربط سياسة جدار الحماية بنفس المفتاح عبر firewall_policy_id، أو طبّق مستوى الاستقلالية balanced لتدقيق استدعاءات الأدوات وتعليم PII على مستوى مساحة العمل قبل التشديد. أسرع مسار هو البدء السريع لانعدام الثقة؛ ولوكيل يستدعي الأدوات بكثافة، انظر تأمين وكيل مستقل.

7. إلى أين تذهب أعمق

مرجع حواجز الحماية

كل نوع قاعدة، وكيان PII، وحقل قاضٍ، وأداة التقييم بالكامل.

حواجز الحماية مقابل جدار الحماية

مستوى النص مقابل مستوى الإجراء — متى تحتاج أيّاً.

أوضاع الفرض

مراقبة ← ظل ← فرض: اطرح دون كسر الروبوت.

المفاتيح والسياسات ومساحات العمل

كيف يُحَل ربط المفتاح وافتراضيات مساحة العمل.