الانتقال إلى المحتوى الرئيسي
بعض ما تحتاج اصطياده ليس كلمة حرفية وليس كيان PII مُصنّفاً — إنه شكل. صيغة SKU، تخطيط رقم طلب، نمط URL داخلي، رمز قسيمة، مرجع عقد. قاعدة regex تتيح لك مطابقة ذلك الشكل على كل استدعاء ثم حجبه أو إخفائه أو تعليمه، قبل أن تصل المطالبة إلى النموذج وقبل أن تصل الاستجابة إلى مستخدمك. هذه صفحة مركّزة لحالة استخدام النمط المهيكل. لمحرك حواجز الحماية الكامل — كل نوع قاعدة، وحقل، ومسار — انظر مرجع حواجز الحماية.
كل خطوة هنا إجراء وحدة تحكم على البوابة المستضافة (api.orcarouter.ai). تؤلّف حاجز الحماية تحت جلستك الخاصة؛ ولا يستخدم سوى الاستدعاء النهائي /v1/* مفتاح الترحيل sk-orca-.... إنشاء وتحرير حواجز الحماية يتطلب Developer+ في مساحة العمل.

1. متى تحتاج ضابط حاجز حماية regex لـ LLM

قاعدة regex هي الأداة الصحيحة عندما يكون ما تريد اصطياده ذا بنية لا تستطيع قائمة حظر حرفية التعبير عنها لكنه ليس هوية قياسية يغطيها كاشف pii بالفعل.

الرموز المهيكلة

SKU، رموز القسائم، مراجع العقود، معرّفات التذاكر الداخلية — بادئة ثابتة بالإضافة إلى سلسلة أرقام أو أبجدية رقمية.

الرموز ذات الشكل المحدد

أي شيء يُطابَق بالشكل لا بقائمة كلمات منتهية — تخطيط رقم طلب، صيغة تسلسلية، نمط URL داخلي.

أنماط تسريب المخرجات

استجابة لا ينبغي أن تبرز اسم مضيف داخلي، أو مسار ملف، أو صيغة معرّف سجل — امسح مخرجات النموذج بحثاً عن الشكل.

فحوص رخيصة حتمية

مطابقة نمط نقية، بلا استدعاء نموذج، بلا شبكة — آمنة للتشغيل على كل طلب في أي اتجاه.
اختر الأداة الأخف التي تناسب. قائمة منتهية من المصطلحات الحرفية ← قائمة حظر كلمات مفتاحية. شكل هوية مسمّى تريد له وسم إخفاء مُصنّفاً ([EMAIL]، [SSN]) أو فحص Luhn ← كيان PII / مخصص. نمط بنيوي بلا تصنيف لكل كيان ← قاعدة regex، المغطاة هنا.

2. RE2 — زمن خطي، بدون مراجع خلفية

pattern لقاعدة regex هو تعبير Go RE2 النمطي. RE2 هو المحرك الذي يجعل قاعدة regex آمنة للتشغيل على كل طلب:
يضمن RE2 زمن مطابقة خطياً في طول المدخلات، بغض النظر عن النمط. محرك تراجع يمكن أن ينفجر أُسّياً على مدخلات عدائية (“ReDoS”)؛ RE2 لا يمكنه. لهذا فإن نمطك آمن للتقييم على المسار الساخن على كل استدعاء.
RE2 لا يدعم المراجع الخلفية (\1)، ولا lookahead، ولا lookbehind. إذا كنت تنقل نمط PCRE يعتمد على تلك، أعد كتابته بدونها. أصناف الأحرف، والمرابط، والمكمّمات، والتناوب، والمجموعات غير الملتقطة كلها تعمل كما هو متوقع.
لا يوجد مفتاح “تجاهل الحالة” منفصل — اضبط الرايات سطرياً. سبق بـ (?i) لعدم الحساسية لحالة الأحرف، (?m) للأسطر المتعددة. مثال: (?i)\bproject-orca\b.
يجمّع باني القواعد نمطك عند حفظ حاجز الحماية. نمط لا يُجمَّع يُرفض مع فهرس القاعدة في الخطأ، فلا يصل كاشف سيئ إلى مسار الترحيل أبداً.
أنماط RE2 ليست PCRE. أكثر مفاجآت النقل شيوعاً مرجع خلفي أو lookahead — لا أحدهما مدعوم. اكتب المطابقة كنمط صنف أحرف / تناوب بدلاً من ذلك وتحقق منها في علامة التبويب Test قبل ربط مفتاح.

3. تشريح قاعدة regex

قاعدة regex هي أصغر قاعدة في المحرك بعد keyword: نمط، ومرحلة، وإجراء.
الحقلماذا يفعل
patternتعبير Go RE2 النمطي (زمن خطي، بدون مراجع خلفية). يجب أن يُجمَّع.
stageinput (الطلب)، أو output (الاستجابة)، أو both.
actionblock أو mask أو flag.
عند إجراء mask، تُستبدل كل مطابقة في مكانها بوسم [REDACTED] حرفي واحد — قاعدة regex ليست مُصنّفة، فلا تصيّر وسماً لكل كيان مثل [EMAIL]. إذا أردت وسماً مُصنّفاً أو رمز استبدال مخصصاً، صُغ الشكل كـ كيان PII مخصص بدلاً من ذلك.

4. مثال واحد ملموس

لنفترض أن أرقام طلباتك الداخلية تبدو كـ ORD- متبوعة بثمانية أرقام، ولا تريد أبداً أن يُردَّد أحدها في استجابة نموذج. أضف قاعدة regex واحدة في مرحلة output:
{
  "type": "regex",
  "stage": "output",
  "action": "mask",
  "pattern": "ORD-\\d{8}"
}
ألّفها في وحدة التحكم:
1

أنشئ حاجز حماية

افتح Guardrails، انقر New guardrail، وسمّه (≤ 64 حرفاً)، مثل order-id-filter.
2

أضف قاعدة regex

أضف قاعدة واحدة — النوع: تعبير نمطي، المرحلة: Output، الإجراء: Mask — والصق النمط ORD-\d{8}. احفظ.
3

اختبرها في الـ sandbox

افتح علامة التبويب Test، الصق عينة، اختر مرحلة output، وشغّل السياسة الحالية محلياً — بدون استدعاء للأعلى، بدون حصة:
Your order ORD-48291507 has shipped.
Your order [REDACTED] has shipped.
4

اربط مفتاحاً

حرّر مفتاح API واختر order-id-filter من قائمة Guardrail المنسدلة (يضبط guardrail_id على المفتاح)، أو علّم حاجز الحماية افتراضي مساحة العمل. انظر اربط بمفتاح و افتراضي الحساب.
ثم استدعِ OrcaRouter تماماً كما كان — بدون ترويسات جديدة، بدون تغيير في SDK:
curl https://api.orcarouter.ai/v1/chat/completions \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o-mini",
    "messages": [
      {"role": "user", "content": "What is the status of my order?"}
    ]
  }'
يُنقّح رقم الطلب في الاستجابة قبل أن يصل إلى مستخدمك.

5. تغطية المرحلة والبث

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

6. اختر إجراءً

قاعدة regex تختار إجراءً واحداً لكل قاعدة:
أي مطابقة ترفض الطلب بـ HTTP 400 guardrail_blocked. الطلب المحجوب لا يكلّف أي حصة — حجب مرحلة المدخلات يُطلق قبل القياس؛ وحجب مرحلة المخرجات يردّ الحصة المستهلكة مسبقاً — ويُعلَّم بـ skip-retry. انظر خطأ guardrail_blocked.
تُستبدل كل مطابقة في مكانها بـ [REDACTED] ويستمر الطلب بالنص المُنقّى — لا يرى النموذج الأعلى (مرحلة المدخلات) أو مستخدمك (مرحلة المخرجات) الأصل أبداً. انظر الإجراءات.
يسجّل مطابقة ولا يغيّر شيئاً في حركة المرور. نقطة الانطلاق الصحيحة لنمط جديد: اشحنه كـ flag، راقب تغذية المطابقات، ثم رقِّه إلى mask/block بمجرد أن تثق به.
يسجّل مطابقة ويرفق ملاحظة (مثل نتيجة لإبرازها في الفرز) دون تغيير حركة المرور. انظر الإجراءات.
دفاع مرحلة مدخلات: تُغلَّف كل مطابقة بفواصل (مثل ⟦UNTRUSTED⟧…⟦/UNTRUSTED⟧) تخبر النموذج بمعاملة النص كـ بيانات، لا تعليمات — تخفيف حقن مطالبات. انظر الإجراءات.

7. انظر ما أُطلق — واضبط الدقة

كل قاعدة تُطلق تسجّل مطابقة — نوع القاعدة، الإجراء، المرحلة، وسلسلة تفصيل — في تغذية Matches لمساحة العمل.
السلسلة الفرعية المطابقة تُسجَّل فقط عند تفعيل Log raw content، وهو مُطفأ افتراضياً — الموقف المحافظ على الخصوصية. مع إطفائه ما زلت ترى أن قاعدة regex أُطلقت وكم مرة، لكن ليس النص الحرفي الذي اصطادته. فعّله لكل حاجز حماية عندما تحتاج السلسلة الفرعية للفرز؛ الإعداد غير رجعي. انظر تغذية المطابقات و التسجيل والخصوصية.
نمط مفرط الاتساع هو فخّ regex الكلاسيكي — \d{8} يطابق كل سلسلة من ثمانية أرقام، لا أرقام طلباتك فقط. ثبّته (بادئة ثابتة مثل ORD-، حدود كلمات \b)، راقب تغذية المطابقات، ووسم الإيجابيات الكاذبة للتشديد كما تمضي. لشبكة A/B مقابل مجموعة — لإثبات أن نمطاً يصطاد ما ينبغي دون تعليم حركة المرور الحميدة — تعيش أداة التقييم على بُعد علامة تبويب واحدة. انظر ضبط الإيجابيات الكاذبة.

8. إلى أين تذهب بعد ذلك

كيانات PII المخصصة

عندما يكون الشكل هوية تريد لها وسم إخفاء مُصنّفاً أو مجموع تحقّق Luhn — لا [REDACTED] مجرّداً.

الكلمات الحساسة

قائمة منتهية من المصطلحات الحرفية — أبسط من نمط عندما لا تحتاج بنية.

الإجراءات

كيف يختلف block وmask وflag ومتى تستخدم كل واحد.

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

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