← 返回列表

AI စီးရီး အင်တာဗျူးမေးခွန်း ၆: AI Agent ၏ အဓိက နည်းလမ်းသုံးမျိုး: ReAct, Plan-and-Solve နှင့် Reflection

AI Agent ၏ အဓိက နည်းလမ်းသုံးမျိုး: ReAct, Plan-and-Solve နှင့် Reflection

AI Agent သည် ပတ်ဝန်းကျင်ကို ကိုယ်တိုင်သိရှိနားလည်ကာ ဆုံးဖြတ်ချက်များချပြီး လုပ်ဆောင်ချက်များကို လုပ်ဆောင်နိုင်သော ဉာဏ်ရည်တုအေးဂျင့်တစ်ခုဖြစ်သည်။ ၎င်း၏ အဓိက နည်းလမ်းသုံးမျိုးမှာ ReAct, Plan-and-Solve နှင့် Reflection တို့ဖြစ်သည်။ အောက်တွင် အသီးသီးကို ဖလိုချတ်ပုံများနှင့် ကုဒ်နမူနာများဖြင့် မိတ်ဆက်ပေးထားသည်။

၁. ReAct (Reasoning + Acting)

အဓိက အတွေးအခေါ်: ဆင်ခြင်ခြင်း (Reasoning) နှင့် လုပ်ဆောင်ခြင်း (Acting) ကို ရောနှောလုပ်ဆောင်သည်။ Agent သည် အဆင့်တိုင်းတွင် လက်ရှိအခြေအနေနှင့် နောက်တစ်ဆင့်အစီအစဉ်ကို ဦးစွာစဉ်းစားပြီး (ဆင်ခြင်ခြင်း) ထို့နောက် လုပ်ဆောင်ချက်တစ်ခုကို လုပ်ဆောင်ကာ (ကိရိယာခေါ်ဆိုခြင်း၊ သတင်းအချက်အလက်ရှာဖွေခြင်းကဲ့သို့) ရလဒ်ကိုကြည့်၍ ဆက်လက်ဆင်ခြင်သည်။

ဖလိုချတ်ပုံ:

[ကနဦးအခြေအနေ] → [ဆင်ခြင်ခြင်း: နောက်တစ်ဆင့်စဉ်းစားရန်] → [လုပ်ဆောင်ချက်: လုပ်ဆောင်ရန်] → [ရလဒ်ကိုကြည့်ရန်] → [ဆင်ခြင်ခြင်း: အစီအစဉ်မွမ်းမံရန်] → ... → [နောက်ဆုံးအဖြေ]

နမူနာကုဒ် (အတုအယောင်ကုဒ်):

def react_agent(question):
    context = []
    while not solved:
        # ဆင်ခြင်ခြင်း: စဉ်းစားမှုအဆင့်ကိုထုတ်လုပ်ပါ
        thought = llm.generate_thought(question, context)
        # လုပ်ဆောင်ချက်: စဉ်းစားမှုအပေါ်မူတည်၍ လုပ်ဆောင်ချက်ကိုရွေးချယ်ပါ
        action = llm.choose_action(thought)
        # လုပ်ဆောင်ချက်ကိုလုပ်ဆောင်ပါ၊ ရလဒ်ရယူပါ
        observation = execute_action(action)
        # စဉ်းစားမှု၊ လုပ်ဆောင်ချက်နှင့် ရလဒ်ကို context တွင်ထည့်ပါ
        context.append((thought, action, observation))
    return final_answer

ဥပမာ:
- သုံးစွဲသူမေးသည်: “ယနေ့ ဘေဂျင်းရာသီဥတု ဘယ်လိုလဲ?”
- Agent ဆင်ခြင်သည်: “ငါ ရာသီဥတု API ကိုမေးရန်လိုသည်၊ မြို့အမည်နှင့် ရက်စွဲလိုအပ်သည်။”
- လုပ်ဆောင်ချက်: ရာသီဥတု API ကိုခေါ်ဆိုပါ (parameter: ဘေဂျင်း၊ ယနေ့)
- ရလဒ်: “သာယာသည်၊ ၂၅°C”
- ဆင်ခြင်သည်: “သတင်းအချက်အလက်ရရှိပြီ၊ ဖြေနိုင်ပြီ။”
- အထွက်: “ယနေ့ ဘေဂျင်းတွင် သာယာပြီး ၂၅°C ရှိသည်။”

၂. Plan-and-Solve

အဓိက အတွေးအခေါ်: ဦးစွာ ပြည့်စုံသောအစီအစဉ် (Plan) ကိုရေးဆွဲပြီး ထို့နောက် တစ်ဆင့်ချင်းလုပ်ဆောင်သည် (Solve)။ အစီအစဉ်ဆွဲသည့်အဆင့်တွင် ရှုပ်ထွေးသောလုပ်ငန်းကို အဆင့်ခွဲများခွဲပြီး လုပ်ဆောင်သည့်အဆင့်တွင် အစီအစဉ်အတိုင်း လုပ်ဆောင်ကာ ကြားရလဒ်များအပေါ်မူတည်၍ အစီအစဉ်ကိုပြောင်းလဲနိုင်သည်။

ဖလိုချတ်ပုံ:

[လုပ်ငန်း] → [အစီအစဉ်ဆွဲခြင်း: အဆင့်ခွဲများခွဲခြင်း] → [အဆင့် ၁ လုပ်ဆောင်ခြင်း] → [အဆင့် ၂ လုပ်ဆောင်ခြင်း] → ... → [အဆင့် 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 Agent အကြောင်း ဘလော့တစ်ပုဒ်ရေးပါ”
- အစီအစဉ်:
1. AI Agent ၏အဓိပ္ပာယ်နှင့် နောက်ဆုံးတိုးတက်မှုများကိုရှာဖွေပါ
2. အဓိကအချက်များကိုဖတ်ပြီးစုစည်းပါ
3. ဘလော့အကြမ်းဖျင်းရေးပါ
4. အကြောင်းအရာဖြည့်ပါ
5. ပြန်လည်စစ်ဆေးပြီးထုတ်ဝေပါ
- လုပ်ဆောင်ခြင်း: အဆင့်တစ်ခုချင်းစီကို အစဉ်လိုက်လုပ်ဆောင်ကာ နောက်ဆုံးတွင် ဘလော့ကိုထုတ်ပေးသည်။

၃. Reflection

အဓိက အတွေးအခေါ်: Agent သည် လုပ်ဆောင်နေစဉ် သို့မဟုတ် လုပ်ဆောင်ပြီးနောက် မိမိ၏အပြုအမူကို ပြန်လည်သုံးသပ် (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 တွင် အဆင့်တစ်ခုချင်းစီလုပ်ဆောင်ပြီးနောက် ပြန်လည်သုံးသပ်ခြင်း။

评论

暂无已展示的评论。

发表评论(匿名)