تعرف على كيفية تفسير نماذج اللغات الكبيرة لقواعد الأعمال، تتبع حالة سير العمل، والتحقق من القرارات باستخدام الموجهات، الأدوات، الاختبارات، والمراجعة البشرية — وليس الشفرة فقط.

عندما يسأل الناس ما إذا كان نموذج لغة كبير يمكن "الاستدلال حول قواعد الأعمال"، فعادة ما يقصدون شيئًا أكثر تطلبًا من "هل يستطيع كتابة عبارة if/else". استدلال قواعد الأعمال هو القدرة على تطبيق السياسات بثبات، وشرح القرارات، والتعامل مع الاستثناءات، والبقاء متوافقًا مع خطوة سير العمل الحالية—خاصة عندما تكون المدخلات ناقصة أو فوضوية أو متغيرة.
توليد الشفرة يتعلق في المقام الأول بإنتاج بناء جملة صحيح في لغة الهدف. استدلال القواعد يتعلق بالحفاظ على النية.
يمكن للنموذج أن ينتج شفرة صحيحة تمامًا ومع ذلك تنتج نتيجة أعمال خاطئة لأن:
بعبارة أخرى، الصواب ليس "هل يترجم؟" بل هو "هل يطابق ما سيقرره العمل، في كل مرة، وهل يمكن إثبات ذلك؟"
يمكن لنماذج اللغات الكبيرة أن تساعد في ترجمة السياسات إلى قواعد منظمة، واقتراح مسارات قرار، وصياغة تفسيرات للبشر. لكنها لا تعرف تلقائيًا أي قاعدة هي المهيمنة، أو أي مصدر بيانات موثوق، أو في أي خطوة الحالة موجودة. بدون قيود، قد تختار إجابة معقولة بثقة بدلًا من الإجابة الخاضعة للحوكمة.
لذلك الهدف ليس "ترك النموذج ليقرر"، بل تزويده بهيكل وفحوصات ليكون مساعدًا موثوقًا.
منهج عملي يبدو كسلسلة خطوات (pipeline):
هذا هو الفرق بين مقطع شفرة ذكي ونظام يمكنه دعم قرارات أعمال حقيقية.
قبل الحديث عن كيفية "استدلال" النموذج، من المفيد فصل شيئين غالبًا ما تدمجهما الفرق: قواعد الأعمال وسير العمل.
قواعد الأعمال هي جمل القرار التي تريد منظمتك فرضها باستمرار. تظهر كسياسات ومنطق مثل:
عادةً تُصاغ القواعد على شكل "IF X, THEN Y" (أحيانًا مع استثناءات)، وينبغي أن تنتج نتيجة واضحة: قبول/رفض، سعر A/سعر B، طلب مزيد من المعلومات، وهكذا.
سير العمل هو العملية التي تنقل العمل من البداية إلى النهاية. هو أقل عن تقرير ما هو المسموح وأكثر عن ما الذي يحدث بعد ذلك. غالبًا ما يتضمن سير العمل:
تخيل طلب استرداد.
مقتطف قاعدة: "الاستردادات مسموحة خلال 30 يومًا من الشراء. استثناء: التنزيلات الرقمية غير قابلة للاسترداد بمجرد الوصول إليها. استثناء: يجب تصعيد عمليات الاسترداد المتعلقة بمعاملات رد المبالغ (chargebacks)."
مقتطف سير العمل:
تصبح القواعد معقدة عندما تتضارب ("عملاء VIP دائمًا يحصلون على استرداد" مقابل "التنزيلات الرقمية لا تُرد"), تعتمد على سياق مفقود (هل تم الوصول إلى التنزيل؟)، أو تخفي حالات طرفية (الحزم، الاستردادات الجزئية، قوانين إقليمية). تضيف سير العمل طبقة أخرى: يجب أن تظل القرارات متسقة مع الحالة الحالية، والإجراءات السابقة، والمواعيد النهائية.
نماذج اللغات لا "تفهم" قواعد الأعمال كما يفهمها الإنسان. إنها تولد أكثر الكلمات احتمالًا التالية بناءً على أنماط تعلمتها من كميات كبيرة من النصوص. لهذا يمكن أن يبدو النموذج مقنعًا حتى وهو يُخمن—أو عندما يملأ بهدوء تفاصيل مفقودة لم تُقدم.
هذا القيد مهم لسياقات سير العمل ومنطق القرار. قد يطبق النموذج قاعدة تبدو صحيحة ("الموظفون دائمًا يحتاجون موافقة المدير") حتى لو كانت السياسة الحقيقية لها استثناءات ("فقط فوق 500$" أو "فقط للمقاولين"). هذه حالة فشل شائعة: تطبيق القاعدة بثقة لكنه خطأ.
حتى بدون "فهم" حقيقي، يمكن لنماذج اللغات الكبيرة المساعدة عندما تعاملها كمساعد منظم:
المفتاح هو وضع النموذج في موقع لا يمكنه فيه الانجراف بسهولة إلى الارتجال.
طريقة عملية لتقليل الغموض هي مخرجات مقيدة: اجعل النموذج يرد بمخطط أو قالب ثابت (مثل JSON بحقول محددة، أو جدول بأعمدة مطلوبة). عندما يضطر النموذج لملء rule_id, conditions, exceptions, وdecision يصبح من الأسهل رصد الثغرات والتحقق تلقائيًا من المخرجات.
الأنماط المقيدة تجعل أيضًا الأمر أوضح عندما لا يعرف النموذج شيئًا. إذا كان حقل مطلوب مفقودًا، يمكنك فرض سؤال متابعة بدلاً من قبول إجابة مرتجلة.
النتيجة: استدلال LLM يُرى أفضل كالتوليد المعتمد على الأنماط الموجهة بالهيكل—مفيد لتنظيم ومراجعة القواعد، لكنه محفوف بالمخاطر إذا اعتُبر منطقًا نهائيًا.
وثائق السياسات مكتوبة للبشر: تخلط الأهداف والاستثناءات و"الفطرة السليمة" في نفس الفقرة. يمكن للـLLM تلخيص هذا النص، لكنه يتبع القواعد بشكل أكثر موثوقية عندما تحول السياسة إلى مدخلات صريحة وقابلة للاختبار.
التمثيلات الجيدة للقواعد تتشارك صفتين: أنها غير غامضة ويمكن التحقق منها.
اكتب القواعد كتعابير يمكن اختبارها:
يمكن تزويد القواعد للنموذج بعدة أشكال:
السياسات الحقيقية تتضارب. عندما يتعارض حكمان، يحتاج النموذج إلى مخطط أولوية واضح. نُهج شائعة:
صرّح عن قاعدة حل التضارب مباشرة، أو شفرها (مثال: priority: 100). وإلا قد "يُجمّع" الـLLM بين القواعد.
نص السياسة الأصلي:
“Refunds are available within 30 days for annual plans. Monthly plans are non-refundable after 7 days. If the account shows fraud or excessive chargebacks, do not issue a refund. Enterprise customers need Finance approval for refunds over $5,000.”
Structured rules (YAML):
rules:
- id: R1
statement: "IF plan_type = annual AND days_since_purchase <= 30 THEN refund MAY be issued"
priority: 10
- id: R2
statement: "IF plan_type = monthly AND days_since_purchase > 7 THEN refund MUST NOT be issued"
priority: 20
- id: R3
statement: "IF fraud_flag = true OR chargeback_rate = excessive THEN refund MUST NOT be issued"
priority: 100
- id: R4
statement: "IF customer_tier = enterprise AND refund_amount > 5000 THEN finance_approval MUST be obtained"
priority: 50
conflict_resolution: "Higher priority wins; MUST NOT overrides MAY"
الآن النموذج لا يخمن ما الذي يهم—إنه يطبق مجموعة قواعد يمكنك مراجعتها، اختبارها، وإصدار نسخ لها.
سير العمل ليس مجرد مجموعة قواعد؛ إنه تسلسل أحداث حيث تغيّر الخطوات المبكرة ما يجب أن يحدث لاحقًا. تلك "الذاكرة" هي الحالة: الحقائق الحالية عن الحالة (من قدّم ماذا، ما الذي تم الموافقة عليه بالفعل، ما الذي ينتظر، وما المواعيد النهائية المطبقة). إذا لم تتبّع الحالة صراحة، تنهار سير العمل بطرق متوقعة—موافقات مكررة، تخطي فحوصات مطلوبة، عكس قرارات، أو تطبيق قاعدة خاطئة لأن النموذج لا يستطيع استنتاج ما حدث بالفعل موثوقًا.
فكّر في الحالة كلوحة تتبع لسير العمل. تجيب: نحن أين الآن؟ ماذا تم؟ ما المسموح به بعد؟ لِـ LLM، وجود ملخص حالة واضح يمنعه من إعادة إعادة فتح خطوات سابقة أو التخمين.
عند استدعاء النموذج، أرفق حمولة حالة مضغوطة مع طلب المستخدم. الحقول المفيدة:
manager_review: approved, finance_review: pending)تجنّب إلقاء كل الرسائل التاريخية. بدلًا من ذلك، قدّم الحالة الحالية بالإضافة إلى سجل تدقيق قصير للانتقالات الرئيسية.
عامل محرك سير العمل (قاعدة بيانات، نظام تذاكر، أو مُنسق) كمصدر واحد للحقيقة. يجب أن يقرأ الـLLM الحالة من ذلك النظام ويُقترح الإجراء التالي، لكن يجب أن يكون النظام هو السلطة التي تسجل الانتقالات. هذا يقلل انحراف الحالة، حيث يحيد سرد النموذج عن الواقع.
{
"request_id": "TRV-10482",
"workflow": "travel_reimbursement_v3",
"current_step": "finance_review",
"step_status": {
"submission": "complete",
"manager_review": "approved",
"finance_review": "pending",
"payment": "not_started"
},
"actors": {
"employee_id": "E-2291",
"manager_id": "M-104",
"finance_queue": "FIN-AP"
},
"amount": 842.15,
"currency": "USD",
"submitted_at": "2025-12-12T14:03:22Z",
"last_state_update": "2025-12-13T09:18:05Z",
"flags": {
"receipt_missing": false,
"policy_exception_requested": true,
"needs_escalation": false
}
}
مع لقطة كهذه، يمكن للنموذج أن يظل متسقًا: لن يطلب موافقة المدير مرة أخرى، سيركز على فحوصات المالية، ويمكنه شرح القرارات استنادًا إلى الأعلام والحالة الحالية.
الاستعلام الجيد لا يطلب إجابة فحسب—إنه يحدد توقعات كيفية تطبيق النموذج لقواعدك وكيفية الإبلاغ عن النتيجة. الهدف قرارات قابلة للتكرار، لا بلاغة ذكية.
امنح النموذج دورًا محددًا مرتبطًا بعمليتك. ثلاثة أدوار تعمل جيدًا معًا:
يمكن تشغيلها بالتسلسل ("محلل → مدقق → وكيل") أو طلب كل المخرجات في رد منظم واحد.
بدلًا من طلب "سلسلة التفكير"، حدّد خطوات ونتائج مرئية:
هذا يحافظ على تنظيم النموذج ويبقي التركيز على المخرجات: أي قواعد استُخدمت وما النتيجة.
التفسيرات الحرة تنحرف. اطلب مبررًا موجزًا يشير إلى المصادر:
هذا يسرّع المراجعات ويساعد على تصحيح الخلافات.
استخدم قالبًا ثابتًا في كل مرة:
القالب يقلل الغموض ويدفع النموذج لإظهار الفجوات قبل الالتزام بإجراء خاطئ.
يمكن للـLLM أن يكتب إجابة مقنعة حتى عندما يفتقد حقائق رئيسية. هذا مفيد للصياغة، لكنه محفوف بالمخاطر لقرارات قواعد الأعمال. إذا اضطر النموذج إلى التخمين بحالة حساب أو فئة عميل أو معدل ضريبي إقليمي، ستحصل على أخطاء تبدو واثقة.
تحل الأدوات ذلك بتحويل "الاستدلال" إلى عملية من خطوتين: جلب الأدلة أولًا، ثم اتخاذ القرار.
في الأنظمة الثقيلة بالقواعد وسير العمل، تقوم بعض الأدوات البسيطة بمعظم العمل:
المفتاح هو أن النموذج لا "يخترع" حقائق تشغيلية—بل يطلبها.
حتى لو احتفظت بكل السياسات في مخزن مركزي، نادرًا ما تريد لصقها كاملة في الاستعلام. يساعد الاسترجاع في اختيار المقاطع الأكثر صلة بالحالة الحالية—على سبيل المثال:
هذا يقلل التضارب ويمنع النموذج من اتباع قاعدة قديمة لمجرد أنها ظهرت سابقًا في السياق.
نمط موثوق هو اعتبار نتائج الأدوات كـ دليل يجب على النموذج الاستشهاد به في قراره. مثال:
get_account(account_id) → status="past_due", plan="Business", usage_this_month=12000retrieve_policies(query="overage fee Business plan") → returns rule: “Overage fee applies above 10,000 units at $0.02/unit.”calculate_overage(usage=12000, threshold=10000, rate=0.02) → $40.00الآن القرار ليس تخمينًا: إنه استنتاج مثبت بمدخلات محددة ("past_due"، "12,000 وحدة"، "$0.02/وحدة"). إذا راجعت النتيجة لاحقًا، يمكنك رؤية الحقائق وإصدار القاعدة المحددة المستخدمة—وتصحيح الجزء الصحيح عند التغيير.
النص الحر مرن، لكنه أيضًا أسهل طريقة لانهيار سير العمل. قد يعطي النموذج إجابة "معقولة" غير قابلة للأتمتة ("يبدو جيدًا") أو متقلبة عبر الخطوات ("approve" مقابل "approved"). المخرجات المقيدة تحل ذلك بفرض شكل متوقع لكل قرار.
نمط عملي هو طلب رد من النموذج ككائن JSON واحد يمكن لنظامك تحليله وتوجيهه:
{
"decision": "needs_review",
"reasons": [
"Applicant provided proof of income, but the document is expired"
],
"next_action": "request_updated_document",
"missing_info": [
"Income statement dated within the last 90 days"
],
"assumptions": [
"Applicant name matches across documents"
]
}
هذا البنية تجعل المخرجات مفيدة حتى عندما لا يستطيع النموذج أن يقرّر بالكامل. missing_info وassumptions تحول عدم اليقين إلى متابعات قابلة للتنفيذ بدلًا من تخمين مخفي.
لتقليل التباين، عرّف قيمًا مسموحًا بها (enums) للحقول الرئيسية. على سبيل المثال:
decision: approved | denied | needs_reviewnext_action: approve_case | deny_case | request_more_info | escalate_to_humanمع القوائم، لا تحتاج الأنظمة اللاحقة لتفسير المترادفات أو علامات الترقيم أو النبرة. فقط تتفرع على قيم معروفة.
الشماتل تعمل كحواجز حماية. فهي:
reasons).decision وnext_action.النتيجة: غموض أقل، أخطاء حافة أقل، وقرارات تنتقل بسلاسة عبر سير العمل.
حتى النموذج المحسّن جيدًا يمكنه "الظهور صوابًا" وهو يتجاهل قاعدة، أو يتخطى خطوة مطلوبة، أو يخترع قيمة. التحقق هو شبكة الأمان التي تحول إجابة معقولة إلى قرار يعتمد عليه.
ابدأ بالتحقق من توفر الحد الأدنى من المعلومات المطلوبة لتطبيق القواعد. يجب أن تُجرى الفحوص قبل أن يتخذ النموذج أي قرار.
الفحوص الشائعة تشمل الحقول المطلوبة (نوع العميل، إجمالي الطلب، المنطقة)، صيغ أساسية (تواريخ، معرّفات، عملة)، ونطاقات مسموح بها (مبالغ غير سالبة، نسب مئوية ≤ 100%). إذا فشل شيء، أعد خطأ واضحًا وقابلًا للتصحيح ("مفقود 'region'; لا يمكن اختيار مجموعة قواعد الضرائب") بدلًا من السماح للنموذج بالتخمين.
بعد أن ينتج النموذج نتيجة، تحقق أنها متسقة مع مجموعة قواعدك.
ركز على:
أضف "مرورًا ثانيًا" يعيد تقييم الإجابة الأولى. يمكن أن تكون مكالمة نموذج أخرى أو نفس النموذج مع موجه متخصّص يدقق الالتزام فقط، لا الإبداع.
نمط بسيط: التمريرة الأولى تنتج قرارًا ومبررًا؛ التمريرة الثانية ترجع إما valid أو قائمة مهيكلة بالفشل (حقول مفقودة، قيود منتهكة، تفسير غامض للقواعد).
لكل قرار، سجّل المدخلات المستخدمة، نسخة/إصدار القاعدة، ونتائج التحقق (بما في ذلك نتائج التمريرة الثانية). عندما تحدث مشكلة، يتيح ذلك إعادة إنتاج الظروف الدقيقة، تصحيح ربط القاعدة، والتأكد من التصحيح—دون التخمين بما «كان يقصده» النموذج.
اختبار ميزات LLM المعتمدة على القواعد وسير العمل يتعلق أقل بـ"هل ولّد شيئًا؟" وأكثر بـ"هل اتخذ نفس القرار الذي سيتخذه إنسان حريص، للسبب الصحيح، في كل مرة؟" الأخبار الجيدة: يمكنك اختباره بنفس الانضباط المستخدم للمنطق التقليدي للقرارات.
عامل كل قاعدة كدالة: بالنظر إلى مدخلات، يجب أن تُرجع نتيجة يمكن التأكيد عليها.
مثال: لقاعدة استرداد مثل "الاستردادات مسموحة خلال 30 يومًا للبنود غير المفتوحة"، اكتب حالات مركزة بنتائج متوقعة:
تلتقط هذه الاختبارات الأخطاء الحدودية، الحقول المفقودة، وسلوك النموذج الذي يحاول تعبئة المجهول.
تفشل سير العمل عندما تصبح الحالة غير متسقة عبر الخطوات. تختبر اختبارات السيناريو الرحلات الحقيقية:
الهدف التأكد من أن النموذج يحترم الحالة الحالية ولا يتخذ انتقالات غير مسموح بها.
أنشئ مجموعة من أمثلة حقيقية مُجهّلة ومصادق عليها مع نتائج متفق عليها (ومبررات موجزة). احتفظ بها بإصدارات وراجعها عند تغيير السياسة. مجموعة ذهبية صغيرة (حتى 100–500 حالة) قوية لأنها تعكس الواقع الفوضوي—البيانات المفقودة، الصياغات غير العادية، القرارات الحدية.
تابع توزيعات القرارات وإشارات الجودة عبر الزمن:
needs_review أو التحويل إلى البشر (غالبًا مشكلة في الموجه أو الاسترجاع أو البيانات العليا)اجعل المراقبة مصحوبة بآلية تراجع آمنة: احتفظ بحزمة الموجه/القواعد السابقة، فعّل خصائص الإصدار التجريبي، واستعد للتراجع بسرعة عندما تتراجع المقاييس. للاطلاع على لعبات التشغيل التشغيلية وتأمين الإصدار، راجع /blog/validation-strategies.
إذا كنت تنفذ الأنماط أعلاه، فعادة ستبني نظامًا صغيرًا حول النموذج: تخزين الحالة، استدعاءات الأدوات، الاسترجاع، التحقق الشمولي، ومنسق سير العمل. Koder.ai طريقة عملية لنمذجة ونشر مساعد معتمد على سير العمل بسرعة: يمكنك وصف سير العمل في الدردشة، توليد تطبيق ويب يعمل (React) بالإضافة إلى خدمات خلفية (Go مع PostgreSQL)، والتكرار بأمان باستخدام لقطات واسترجاع.
هذا مهم لاستدلال قواعد الأعمال لأن "الحواجز" غالبًا ما تعيش في التطبيق، لا في الموجه:
يمكن لنماذج اللغات أن تكون جيدة بشكل مدهش في تطبيق السياسات اليومية، لكنها ليست محرك قواعد حتمي. عاملها كمساعد قرار يحتاج حواجز حماية، وليس كسلطة نهائية.
ثلاثة أوضاع فشل تظهر باستمرار في سير العمل الثقيل بالقواعد:
أضف مراجعة إلزامية عندما:
بدلًا من ترك النموذج "يخترع"، عرّف خطوات واضحة:
استخدم نماذج اللغات في سير العمل الثقيل بالقواعد عندما يمكنك الإجابة بـ"نعم" على معظم ما يلي:
إن لم يكن كذلك، احتفظ بالـLLM في دور المسودة/المساعد حتى تتوفر تلك الضوابط.