← 返回列表

أسئلة مقابلة سلسلة AI 6: تحدث عن ثلاث منهجيات أساسية لوكلاء AI: ReAct و Plan-and-Solve و Reflection

ثلاث منهجيات أساسية لوكلاء AI: ReAct و Plan-and-Solve و Reflection

وكيل AI هو كيان ذكي يمكنه إدراك البيئة بشكل مستقل واتخاذ القرارات وتنفيذ الإجراءات. هناك ثلاث منهجيات أساسية: ReAct و Plan-and-Solve و Reflection. فيما يلي شرح لكل منها مع رسوم بيانية وأمثلة برمجية.

1. ReAct (Reasoning + Acting)

الفكرة الأساسية: التناوب بين التفكير (Reasoning) والعمل (Acting). في كل خطوة، يفكر الوكيل أولاً في الحالة الحالية والخطوة التالية (تفكير)، ثم ينفذ إجراءً (مثل استدعاء أداة أو البحث عن معلومات)، ثم يواصل التفكير بناءً على النتيجة.

الرسم البياني:

[الحالة الأولية] → [تفكير: التفكير في الخطوة التالية] → [عمل: تنفيذ الإجراء] → [مراقبة النتيجة] → [تفكير: تحديث الخطة] → ... → [الإجابة النهائية]

مثال برمجي (شبه كود):

def react_agent(question):
    context = []
    while not solved:
        # تفكير: توليد خطوة تفكير
        thought = llm.generate_thought(question, context)
        # عمل: اختيار الإجراء بناءً على التفكير
        action = llm.choose_action(thought)
        # تنفيذ الإجراء والحصول على الملاحظة
        observation = execute_action(action)
        # إضافة التفكير والإجراء والملاحظة إلى السياق
        context.append((thought, action, observation))
    return final_answer

مثال:
- يسأل المستخدم: "كيف هو الطقس في بكين اليوم؟"
- يفكر الوكيل: "أحتاج إلى استدعاء API الطقس، أحتاج اسم المدينة والتاريخ."
- العمل: استدعاء API الطقس (المعاملات: بكين، اليوم)
- الملاحظة: يعيد "مشمس، 25°C"
- التفكير: "حصلت على المعلومات، يمكنني الإجابة."
- الإخراج: "بكين اليوم مشمسة، 25°C."

2. Plan-and-Solve

الفكرة الأساسية: وضع خطة كاملة أولاً (Plan)، ثم تنفيذها خطوة بخطوة (Solve). في مرحلة التخطيط، يتم تقسيم المهمة المعقدة إلى خطوات فرعية، وفي مرحلة التنفيذ يتم إكمالها بالتسلسل، مع إمكانية تعديل الخطة بناءً على النتائج الوسيطة.

الرسم البياني:

[المهمة] → [وضع الخطة: تقسيم الخطوات الفرعية] → [تنفيذ الخطوة 1] → [تنفيذ الخطوة 2] → ... → [تنفيذ الخطوة N] → [الإجابة النهائية]

مثال برمجي:

def plan_and_solve(task):
    # مرحلة التخطيط
    plan = llm.generate_plan(task)  # مثال: ["البحث عن مواد", "تنظيم المعلومات", "كتابة التقرير"]
    context = {}
    for step in plan:
        # تنفيذ كل خطوة
        result = execute_step(step, context)
        context[step] = result
    # تجميع النتائج
    final = llm.synthesize(context)
    return final

مثال:
- المهمة: "كتابة مقالة عن وكلاء AI"
- الخطة:
1. البحث عن تعريف وكلاء AI وأحدث التطورات
2. قراءة وتنظيم النقاط الرئيسية
3. كتابة مخطط المقالة
4. ملء المحتوى
5. المراجعة والنشر
- التنفيذ: إكمال كل خطوة بالتسلسل، وإخراج المقالة في النهاية.

3. Reflection

الفكرة الأساسية: يقوم الوكيل أثناء أو بعد التنفيذ بالتفكر (Reflection) في سلوكه، وتقييم النتائج وتحسين الإجراءات اللاحقة. يتضمن عادةً النقد الذاتي أو تصحيح الأخطاء أو تحسين الاستراتيجية.

الرسم البياني:

[عمل] → [مراقبة النتيجة] → [تفكر: تقييم النجاح] → [إذا فشل: تعديل الاستراتيجية] → [عمل مرة أخرى] → ... → [نجاح]

مثال برمجي:

def reflection_agent(task):
    max_attempts = 3
    for attempt in range(max_attempts):
        action = llm.generate_action(task)
        result = execute(action)
        # تفكر
        reflection = llm.reflect(task, action, result)
        if reflection['success']:
            return result
        else:
            # تعديل وصف المهمة أو الاستراتيجية بناءً على التفكر
            task = reflection['improved_task']
    return None

مثال:
- المهمة: "احسب 1234 * 5678"
- العمل: حساب مباشر، الحصول على النتيجة 7006652
- التفكر: فحص عملية الحساب، اكتشاف خطأ في الحمل
- التعديل: إعادة الحساب، الحصول على النتيجة الصحيحة 7006652 (في الواقع صحيحة)
- إذا استمر الخطأ، يستمر التفكر حتى يصح.

ملخص مقارن

المنهجية الخصائص حالات الاستخدام
ReAct تناوب التفكير والعمل، تعديل ديناميكي المهام التي تتطلب تفاعل معلومات في الوقت الفعلي (مثل الأسئلة والأجوبة والبحث)
Plan-and-Solve تخطيط ثم تنفيذ، تقسيم هيكلي المهام المعقدة متعددة الخطوات (مثل الكتابة وتحليل البيانات)
Reflection تفكر ذاتي وتصحيح، تحسين تكراري المهام التي تتطلب دقة عالية (مثل الحسابات الرياضية وتوليد الكود)

في التطبيقات العملية، غالبًا ما يتم الجمع بين الثلاثة، مثل إضافة آلية التفكر إلى ReAct، أو التفكر بعد كل خطوة في Plan-and-Solve.

评论

暂无已展示的评论。

发表评论(匿名)