الانتقال إلى المحتوى الرئيسي
تتطلب ميزات إدارة Flow HITL مزيّن @human_feedback، المتاح في CrewAI الإصدار 1.8.0 أو أحدث. تنطبق هذه الميزات تحديدًا على التدفقات (Flows)، وليس الأطقم (Crews).
يوفر CrewAI Enterprise نظامًا شاملًا لإدارة الإنسان في الحلقة (HITL) للتدفقات يحوّل سير عمل الذكاء الاصطناعي إلى عمليات تعاونية بين الإنسان والذكاء الاصطناعي. تستخدم المنصة بنية البريد الإلكتروني أولاً التي تمكّن أي شخص لديه عنوان بريد إلكتروني من الرد على طلبات المراجعة — بدون الحاجة لحساب على المنصة.

نظرة عامة

تصميم البريد الإلكتروني أولاً

يمكن للمستجيبين الرد مباشرة على رسائل الإشعار لتقديم الملاحظات

توجيه مرن

توجيه الطلبات إلى بريد إلكتروني محدد بناءً على أنماط الطرق أو حالة التدفق

استجابة تلقائية

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

الفوائد الرئيسية

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

إعداد نقاط المراجعة البشرية في التدفقات

هيّئ نقاط تفتيش المراجعة البشرية داخل تدفقاتك باستخدام مزيّن @human_feedback. عندما يصل التنفيذ إلى نقطة مراجعة، يتوقف النظام ويُخطر المعيّن عبر البريد الإلكتروني وينتظر الاستجابة.
from crewai.flow.flow import Flow, start, listen, or_
from crewai.flow.human_feedback import human_feedback, HumanFeedbackResult

class ContentApprovalFlow(Flow):
    @start()
    def generate_content(self):
        return "Generated marketing copy for Q1 campaign..."

    @human_feedback(
        message="Please review this content for brand compliance:",
        emit=["approved", "rejected", "needs_revision"],
    )
    @listen(or_("generate_content", "needs_revision"))
    def review_content(self):
        return "Marketing copy for review..."

    @listen("approved")
    def publish_content(self, result: HumanFeedbackResult):
        print(f"Publishing approved content. Reviewer notes: {result.feedback}")

    @listen("rejected")
    def archive_content(self, result: HumanFeedbackResult):
        print(f"Content rejected. Reason: {result.feedback}")
للحصول على تفاصيل التنفيذ الكاملة، راجع دليل التغذية الراجعة البشرية في التدفقات.

معاملات المزيّن

المعاملالنوعالوصف
messagestrالرسالة المعروضة للمراجع البشري
emitlist[str]خيارات الاستجابة الصالحة (تُعرض كأزرار في الواجهة)

تهيئة المنصة

الوصول إلى تهيئة HITL من: النشرالإعداداتتهيئة الإنسان في الحلقة
HITL Configuration Settings

إشعارات البريد الإلكتروني

تبديل لتفعيل أو تعطيل إشعارات البريد الإلكتروني لطلبات HITL.
الإعدادالافتراضيالوصف
إشعارات البريد الإلكترونيمفعّلإرسال رسائل عند طلب الملاحظات
عند التعطيل، يجب على المستجيبين استخدام واجهة لوحة التحكم أو يجب تهيئة webhooks لأنظمة إشعارات مخصصة.

هدف SLA

تعيين وقت استجابة مستهدف لأغراض التتبع والمقاييس.
الإعدادالوصف
هدف SLA (دقائق)وقت الاستجابة المستهدف. يُستخدم لمقاييس لوحة التحكم وتتبع SLA
اتركه فارغًا لتعطيل تتبع SLA.

إشعارات واستجابات البريد الإلكتروني

يستخدم نظام HITL بنية البريد الإلكتروني أولاً حيث يمكن للمستجيبين الرد مباشرة على رسائل الإشعار.

كيف تعمل استجابات البريد الإلكتروني

1

إرسال الإشعار

عند إنشاء طلب HITL، يُرسل بريد إلكتروني إلى المستجيب المعيّن مع محتوى المراجعة والسياق.
2

عنوان الرد

يتضمن البريد عنوان رد خاص مع رمز موقّع للمصادقة.
3

رد المستخدم

يرد المستجيب ببساطة على البريد بملاحظاته — بدون حاجة لتسجيل الدخول.
4

التحقق من الرمز

تستقبل المنصة الرد، وتتحقق من الرمز الموقّع، وتطابق بريد المرسل.
5

استئناف التدفق

تُسجل الملاحظات ويستمر التدفق مع مدخلات الإنسان.

تنسيق الاستجابة

يمكن للمستجيبين الرد بـ:
  • خيار emit: إذا تطابق الرد مع خيار emit (مثل “approved”)، يُستخدم مباشرة
  • نص حر: أي نص استجابة يُمرر إلى التدفق كملاحظات
  • نص عادي: يُستخدم السطر الأول من نص الرد كملاحظات

رسائل التأكيد

بعد معالجة الرد، يستلم المستجيب رسالة تأكيد تشير إلى ما إذا تم إرسال الملاحظات بنجاح أو حدث خطأ.

أمان رمز البريد

  • الرموز موقّعة تشفيريًا للأمان
  • تنتهي صلاحية الرموز بعد 7 أيام
  • يجب أن يتطابق بريد المرسل مع البريد المصرّح به في الرمز
  • تُرسل رسائل تأكيد/خطأ بعد المعالجة

قواعد التوجيه

توجيه طلبات HITL إلى عناوين بريد إلكتروني محددة بناءً على أنماط الطرق.
HITL Routing Rules Configuration

هيكل القاعدة

{
  "name": "Approvals to Finance",
  "match": {
    "method_name": "approve_*"
  },
  "assign_to_email": "finance@company.com",
  "assign_from_input": "manager_email"
}

أنماط المطابقة

النمطالوصفمثال المطابقة
approve_*حرف بدل (أي أحرف)approve_payment، approve_vendor
review_?حرف واحدreview_a، review_1
validate_paymentمطابقة تامةvalidate_payment فقط

أولوية التعيين

  1. تعيين ديناميكي (assign_from_input): إذا تم تهيئته، يسحب البريد من حالة التدفق
  2. بريد ثابت (assign_to_email): يرجع إلى البريد المهيأ
  3. منشئ النشر: إذا لم تتطابق أي قاعدة، يُستخدم بريد منشئ النشر

مثال التعيين الديناميكي

إذا كانت حالة تدفقك تحتوي على {"sales_rep_email": "alice@company.com"}، هيّئ:
{
  "name": "Route to Sales Rep",
  "match": {
    "method_name": "review_*"
  },
  "assign_from_input": "sales_rep_email"
}
سيتم تعيين الطلب إلى alice@company.com تلقائيًا.
حالة استخدام: اسحب المعيّن من CRM أو قاعدة البيانات أو خطوة تدفق سابقة لتوجيه المراجعات ديناميكيًا إلى الشخص المناسب.

الاستجابة التلقائية

الاستجابة تلقائيًا لطلبات HITL إذا لم يستجب أي شخص خلال المهلة المحددة. يضمن هذا عدم تعليق التدفقات إلى أجل غير مسمى.

التهيئة

الإعدادالوصف
مفعّلتبديل لتفعيل الاستجابة التلقائية
المهلة (دقائق)الوقت المنتظر قبل الاستجابة التلقائية
النتيجة الافتراضيةقيمة الاستجابة (يجب أن تطابق خيار emit)
HITL Auto-Response Configuration

حالات الاستخدام

  • الامتثال لـ SLA: ضمان عدم تعليق التدفقات إلى أجل غير مسمى
  • الموافقة الافتراضية: الموافقة التلقائية على الطلبات منخفضة المخاطر بعد انتهاء المهلة
  • التراجع السلس: المتابعة بافتراضي آمن عندما يكون المراجعون غير متاحين
استخدم الاستجابة التلقائية بحذر. فعّلها فقط للمراجعات غير الحرجة حيث تكون الاستجابة الافتراضية مقبولة.

عملية المراجعة

واجهة لوحة التحكم

توفر واجهة مراجعة HITL تجربة نظيفة ومركّزة للمراجعين:
  • عرض Markdown: تنسيق غني لمحتوى المراجعة مع تمييز الصيغة
  • لوحة السياق: عرض حالة التدفق وتاريخ التنفيذ والمعلومات ذات الصلة
  • إدخال الملاحظات: تقديم ملاحظات وتعليقات مفصلة مع قرارك
  • إجراءات سريعة: أزرار خيارات emit بنقرة واحدة مع تعليقات اختيارية
HITL Pending Requests List

طرق الاستجابة

يمكن للمراجعين الاستجابة عبر ثلاث قنوات:
الطريقةالوصف
الرد عبر البريدالرد مباشرة على رسالة الإشعار
لوحة التحكماستخدام واجهة لوحة تحكم المؤسسة
API/Webhookاستجابة برمجية عبر API

السجل ومسار التدقيق

يتم تتبع كل تفاعل HITL بجدول زمني كامل:
  • سجل القرارات (موافقة/رفض/مراجعة)
  • هوية المراجع والطابع الزمني
  • الملاحظات والتعليقات المقدمة
  • طريقة الاستجابة (بريد/لوحة تحكم/API)
  • مقاييس وقت الاستجابة

التحليلات والمراقبة

تتبع أداء HITL مع تحليلات شاملة.

لوحة تحكم الأداء

HITL Metrics Dashboard

أوقات الاستجابة

مراقبة متوسط وميديان أوقات الاستجابة حسب المراجع أو التدفق.

اتجاهات الحجم

تحليل أنماط حجم المراجعة لتحسين قدرة الفريق.

توزيع القرارات

عرض معدلات الموافقة/الرفض عبر أنواع المراجعة المختلفة.

تتبع SLA

تتبع نسبة المراجعات المكتملة ضمن أهداف SLA.

التدقيق والامتثال

إمكانيات تدقيق جاهزة للمؤسسات للمتطلبات التنظيمية:
  • سجل قرارات كامل مع الطوابع الزمنية
  • التحقق من هوية المراجع
  • سجلات تدقيق غير قابلة للتغيير
  • إمكانيات التصدير لتقارير الامتثال

حالات الاستخدام الشائعة

حالة الاستخدام: أتمتة استبيانات الأمان الداخلية مع التحقق البشري
  • يولّد الذكاء الاصطناعي الردود على الاستبيانات الأمنية
  • يراجع فريق الأمن ويتحقق من الدقة عبر البريد الإلكتروني
  • يتم تجميع الردود المعتمدة في التقديم النهائي
  • مسار تدقيق كامل للامتثال
حالة الاستخدام: محتوى تسويقي يتطلب مراجعة قانونية/العلامة التجارية
  • يولّد الذكاء الاصطناعي نصوص تسويقية أو محتوى وسائل التواصل
  • التوجيه إلى بريد فريق العلامة التجارية لمراجعة النبرة/الأسلوب
  • النشر التلقائي عند الموافقة
حالة الاستخدام: تقارير النفقات، شروط العقود، تخصيصات الميزانية
  • يعالج الذكاء الاصطناعي مسبقًا ويصنف الطلبات المالية
  • التوجيه بناءً على عتبات المبالغ باستخدام التعيين الديناميكي
  • الحفاظ على مسار تدقيق كامل للامتثال المالي
حالة الاستخدام: توجيه المراجعات إلى مالكي الحسابات من CRM
  • يجلب التدفق بريد مالك الحساب من CRM
  • تخزين البريد في حالة التدفق (مثل account_owner_email)
  • استخدام assign_from_input للتوجيه إلى الشخص المناسب تلقائيًا
حالة الاستخدام: التحقق من مخرجات الذكاء الاصطناعي قبل التسليم للعميل
  • يولّد الذكاء الاصطناعي محتوى أو ردود موجهة للعميل
  • يراجع فريق ضمان الجودة عبر إشعار البريد الإلكتروني
  • حلقات الملاحظات تحسّن أداء الذكاء الاصطناعي بمرور الوقت

واجهة Webhooks API

عندما تتوقف تدفقاتك للملاحظات البشرية، يمكنك تهيئة webhooks لإرسال بيانات الطلب إلى تطبيقك. يتيح هذا:
  • بناء واجهات موافقة مخصصة
  • التكامل مع الأدوات الداخلية (Jira، ServiceNow، لوحات تحكم مخصصة)
  • توجيه الموافقات إلى أنظمة طرف ثالث
  • إشعارات تطبيقات الجوال
  • أنظمة القرار المؤتمتة
HITL Webhook Configuration

تهيئة Webhooks

1

الانتقال إلى الإعدادات

اذهب إلى النشرالإعداداتالإنسان في الحلقة
2

توسيع قسم Webhooks

انقر لتوسيع تهيئة Webhooks
3

إضافة عنوان Webhook

أدخل عنوان webhook الخاص بك (يجب أن يكون HTTPS في الإنتاج)
4

حفظ التهيئة

انقر على حفظ التهيئة للتفعيل
يمكنك تهيئة webhooks متعددة. يستقبل كل webhook نشط جميع أحداث HITL.

أحداث Webhook

ستستقبل نقطة النهاية طلبات HTTP POST لهذه الأحداث:
نوع الحدثمتى يُطلق
new_requestيتوقف تدفق ويطلب ملاحظات بشرية

حمولة Webhook

تستقبل جميع webhooks حمولة JSON بهذا الهيكل:
{
  "event": "new_request",
  "request": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "flow_id": "flow_abc123",
    "method_name": "review_article",
    "message": "Please review this article for publication.",
    "emit_options": ["approved", "rejected", "request_changes"],
    "state": {
      "article_id": 12345,
      "author": "john@example.com",
      "category": "technology"
    },
    "metadata": {},
    "created_at": "2026-01-14T12:00:00Z"
  },
  "deployment": {
    "id": 456,
    "name": "Content Review Flow",
    "organization_id": 789
  },
  "callback_url": "https://api.crewai.com/...",
  "assigned_to_email": "reviewer@company.com"
}

الرد على الطلبات

لإرسال الملاحظات، أرسل POST إلى callback_url المضمّن في حمولة webhook.
POST {callback_url}
Content-Type: application/json

{
  "feedback": "Approved. Great article!",
  "source": "my_custom_app"
}

الأمان

جميع طلبات webhook موقّعة تشفيريًا باستخدام HMAC-SHA256 لضمان الأصالة ومنع التلاعب.

أمان Webhook

  • توقيعات HMAC-SHA256: يتضمن كل webhook توقيعًا تشفيريًا
  • أسرار لكل webhook: لكل webhook سر توقيع فريد
  • مشفرة أثناء التخزين: أسرار التوقيع مشفرة في قاعدة البيانات
  • التحقق من الطابع الزمني: يمنع هجمات الإعادة

ترويسات التوقيع

يتضمن كل طلب webhook هذه الترويسات:
الترويسةالوصف
X-Signatureتوقيع HMAC-SHA256: sha256=<hex_digest>
X-Timestampالطابع الزمني Unix عند توقيع الطلب

التحقق

تحقق بحساب:
import hmac
import hashlib

expected = hmac.new(
    signing_secret.encode(),
    f"{timestamp}.{payload}".encode(),
    hashlib.sha256
).hexdigest()

if hmac.compare_digest(expected, signature):
    # توقيع صالح

معالجة الأخطاء

يجب أن تعيد نقطة نهاية webhook كود حالة 2xx لتأكيد الاستلام:
استجابتكسلوكنا
2xxتم تسليم Webhook بنجاح
4xx/5xxمسجل كفشل، بدون إعادة محاولة
مهلة (30 ثانية)مسجل كفشل، بدون إعادة محاولة

الأمان والتحكم في الوصول المبني على الأدوار

الوصول إلى لوحة التحكم

يُتحكم في وصول HITL على مستوى النشر:
الصلاحيةالقدرة
manage_human_feedbackتهيئة إعدادات HITL، عرض جميع الطلبات
respond_to_human_feedbackالرد على الطلبات، عرض الطلبات المعيّنة

تصريح استجابة البريد الإلكتروني

للردود عبر البريد:
  1. يشفّر رمز الرد البريد المصرّح به
  2. يجب أن يتطابق بريد المرسل مع بريد الرمز
  3. يجب ألا يكون الرمز منتهي الصلاحية (7 أيام افتراضيًا)
  4. يجب أن يكون الطلب لا يزال معلقًا

مسار التدقيق

يتم تسجيل جميع إجراءات HITL:
  • إنشاء الطلب
  • تغييرات التعيين
  • إرسال الاستجابة (مع المصدر: لوحة تحكم/بريد/API)
  • حالة استئناف التدفق

استكشاف الأخطاء وإصلاحها

عدم إرسال الرسائل

  1. تحقق من تفعيل “إشعارات البريد الإلكتروني” في التهيئة
  2. تحقق من مطابقة قواعد التوجيه لاسم الطريقة
  3. تحقق من صلاحية بريد المعيّن
  4. تحقق من احتياطي منشئ النشر إذا لم تتطابق أي قواعد توجيه

عدم معالجة ردود البريد

  1. تحقق من عدم انتهاء صلاحية الرمز (7 أيام افتراضيًا)
  2. تحقق من مطابقة بريد المرسل للبريد المعيّن
  3. تأكد من أن الطلب لا يزال معلقًا (لم يتم الرد عليه بعد)

عدم استئناف التدفق

  1. تحقق من حالة الطلب في لوحة التحكم
  2. تحقق من إمكانية الوصول إلى callback URL
  3. تأكد من أن النشر لا يزال قيد التشغيل

أفضل الممارسات

ابدأ ببساطة: ابدأ بإشعارات البريد الإلكتروني لمنشئ النشر، ثم أضف قواعد التوجيه مع نضوج سير عملك.
  1. استخدم التعيين الديناميكي: اسحب عناوين بريد المعيّنين من حالة التدفق للتوجيه المرن.
  2. هيّئ الاستجابة التلقائية: أعد استجابة احتياطية للمراجعات غير الحرجة لمنع تعليق التدفقات.
  3. راقب أوقات الاستجابة: استخدم التحليلات لتحديد الاختناقات وتحسين عملية المراجعة.
  4. اجعل رسائل المراجعة واضحة: اكتب رسائل واضحة وقابلة للتنفيذ في مزيّن @human_feedback.
  5. اختبر تدفق البريد: أرسل طلبات اختبار للتحقق من تسليم البريد قبل الانتقال للإنتاج.

الموارد ذات الصلة

التغذية الراجعة البشرية في التدفقات

دليل التنفيذ لمزيّن @human_feedback

دليل سير عمل Flow HITL

دليل خطوة بخطوة لإعداد سير عمل HITL

تهيئة RBAC

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

بث Webhook

إعداد إشعارات الأحداث في الوقت الفعلي