الانتقال إلى المحتوى الرئيسي

نظرة عامة

يتطلب مزخرف @human_feedback إصدار CrewAI 1.8.0 أو أحدث. تأكد من تحديث تثبيتك قبل استخدام هذه الميزة.
يمكّن مزخرف @human_feedback سير العمل البشري في الحلقة (HITL) مباشرة ضمن CrewAI Flows. يتيح لك إيقاف تنفيذ Flow مؤقتًا وعرض المخرجات لإنسان للمراجعة وجمع تعليقاته واختياريًا التوجيه إلى مستمعين مختلفين بناءً على نتيجة التعليقات. هذا مفيد بشكل خاص لـ:
  • ضمان الجودة: مراجعة المحتوى المُنشأ بالذكاء الاصطناعي قبل استخدامه
  • بوابات القرار: السماح للبشر باتخاذ قرارات حرجة في سير العمل الآلي
  • سير عمل الموافقة: تنفيذ أنماط الموافقة/الرفض/المراجعة
  • التحسين التفاعلي: جمع التعليقات لتحسين المخرجات تكراريًا

بداية سريعة

Code
from crewai.flow.flow import Flow, start, listen
from crewai.flow.human_feedback import human_feedback

class SimpleReviewFlow(Flow):
    @start()
    @human_feedback(message="Please review this content:")
    def generate_content(self):
        return "This is AI-generated content that needs review."

    @listen(generate_content)
    def process_feedback(self, result):
        print(f"Content: {result.output}")
        print(f"Human said: {result.feedback}")

flow = SimpleReviewFlow()
flow.kickoff()

التوجيه مع emit

عند تحديد emit، يصبح المزخرف موجّهًا. يُفسَّر التعليق البشري الحر بواسطة LLM ويُختزل إلى إحدى النتائج المحددة:
Code
from crewai.flow.flow import Flow, start, listen, or_
from crewai.flow.human_feedback import human_feedback

class ReviewFlow(Flow):
    @start()
    def generate_content(self):
        return "Draft blog post content here..."

    @human_feedback(
        message="Do you approve this content for publication?",
        emit=["approved", "rejected", "needs_revision"],
        llm="gpt-4o-mini",
        default_outcome="needs_revision",
    )
    @listen(or_("generate_content", "needs_revision"))
    def review_content(self):
        return "Draft blog post content here..."

    @listen("approved")
    def publish(self, result):
        print(f"Publishing! User said: {result.feedback}")

    @listen("rejected")
    def discard(self, result):
        print(f"Discarding. Reason: {result.feedback}")

التعلم من التغذية الراجعة

معامل learn=True يمكّن حلقة تغذية راجعة بين المراجعين البشريين ونظام الذاكرة. عند تمكينه، يحسّن النظام مخرجاته تدريجيًا بالتعلم من التصحيحات البشرية السابقة.

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

  1. اكتب رسائل طلب واضحة
  2. اختر نتائج ذات معنى
  3. وفّر دائمًا نتيجة افتراضية
  4. استخدم سجل التعليقات لمسارات التدقيق

التغذية الراجعة البشرية غير المتزامنة (غير محجوبة)

استخدم معامل provider لتحديد استراتيجية جمع تعليقات مخصصة تتكامل مع أنظمة خارجية مثل Slack والبريد الإلكتروني وWebhooks وواجهات API.

التوثيق ذو الصلة