← 返回列表

AI Series Interview Question 6: Tatlong Pangunahing Metodolohiya ng AI Agent: ReAct, Plan-and-Solve at Reflection

Tatlong Pangunahing Metodolohiya ng AI Agent: ReAct, Plan-and-Solve at Reflection

Ang AI Agent ay isang intelligenteng ahente na may kakayahang makaramdam ng kapaligiran, gumawa ng desisyon, at magsagawa ng aksyon. Ang pangunahing metodolohiya nito ay tatlo: ReAct, Plan-and-Solve, at Reflection. Sa ibaba ay ipapaliwanag ang bawat isa, kasama ang flowchart at halimbawang code.

1. ReAct (Reasoning + Acting)

Pangunahing Ideya: Pagsasama-sama ng pangangatwiran (Reasoning) at pagkilos (Acting) nang salitan. Sa bawat hakbang, iniisip muna ng Agent ang kasalukuyang estado at susunod na plano (pangangatwiran), pagkatapos ay nagsasagawa ng aksyon (tulad ng paggamit ng tool, paghahanap ng impormasyon), at pagkatapos ay nagpapatuloy sa pangangatwiran batay sa resulta.

Flowchart:

[Initial State] → [Reasoning: Think Next Step] → [Action: Execute Action] → [Observe Result] → [Reasoning: Update Plan] → ... → [Final Answer]

Halimbawang Code (pseudocode):

def react_agent(question):
    context = []
    while not solved:
        # Reasoning: generate thought step
        thought = llm.generate_thought(question, context)
        # Action: choose action based on thought
        action = llm.choose_action(thought)
        # Execute action, get observation
        observation = execute_action(action)
        # Add thought, action, observation to context
        context.append((thought, action, observation))
    return final_answer

Halimbawa:
- Tanong ng user: "Ano ang panahon sa Beijing ngayon?"
- Pangangatwiran ng Agent: "Kailangan kong mag-query ng weather API, kailangan ang pangalan ng lungsod at petsa."
- Aksyon: Tumawag sa weather API (parameter: Beijing, ngayon)
- Obserbasyon: Bumalik ang "Maaraw, 25°C"
- Pangangatwiran: "Nakuha na ang impormasyon, maaari nang sumagot."
- Output: "Maaraw sa Beijing ngayon, 25°C."

2. Plan-and-Solve

Pangunahing Ideya: Gumawa muna ng kumpletong plano (Plan), pagkatapos ay isakatuparan ito nang sunud-sunod (Solve). Sa yugto ng pagpaplano, hinahati ang komplikadong gawain sa mga sub-step; sa yugto ng pagpapatupad, isinasagawa ang mga ito ayon sa pagkakasunod-sunod, maaaring ayusin ang plano batay sa mga intermediate na resulta.

Flowchart:

[Task] → [Make Plan: Decompose into Sub-steps] → [Execute Step 1] → [Execute Step 2] → ... → [Execute Step N] → [Final Answer]

Halimbawang Code:

def plan_and_solve(task):
    # Planning phase
    plan = llm.generate_plan(task)  # e.g., ["Search materials", "Organize info", "Write report"]
    context = {}
    for step in plan:
        # Execute each step
        result = execute_step(step, context)
        context[step] = result
    # Synthesize results
    final = llm.synthesize(context)
    return final

Halimbawa:
- Gawain: "Sumulat ng blog tungkol sa AI Agent"
- Plano:
1. Maghanap ng kahulugan at pinakabagong pag-unlad ng AI Agent
2. Basahin at ayusin ang mga pangunahing punto
3. Sumulat ng balangkas ng blog
4. Punan ang nilalaman
5. I-edit at i-publish
- Pagpapatupad: Gawin ang bawat hakbang nang sunud-sunod, sa huli ay makabuo ng blog.

3. Reflection

Pangunahing Ideya: Sa panahon o pagkatapos ng pagpapatupad, ang Agent ay nagsasagawa ng pagninilay (Reflection) sa sarili nitong kilos, sinusuri ang resulta at pinapabuti ang susunod na aksyon. Karaniwang may kasamang pagpuna sa sarili, pagwawasto ng pagkakamali, o pag-optimize ng estratehiya.

Flowchart:

[Action] → [Observe Result] → [Reflect: Assess if Successful] → [If Failed: Adjust Strategy] → [Act Again] → ... → [Success]

Halimbawang Code:

def reflection_agent(task):
    max_attempts = 3
    for attempt in range(max_attempts):
        action = llm.generate_action(task)
        result = execute(action)
        # Reflect
        reflection = llm.reflect(task, action, result)
        if reflection['success']:
            return result
        else:
            # Adjust task description or strategy based on reflection
            task = reflection['improved_task']
    return None

Halimbawa:
- Gawain: "Kalkulahin ang 1234 * 5678"
- Aksyon: Direktang kalkulahin, nakuha ang resulta na 7006652
- Pagninilay: Suriin ang proseso ng pagkalkula, natuklasan ang error sa carry
- Ayusin: Muling kalkulahin, nakuha ang tamang resulta na 7006652 (tama talaga)
- Kung mali pa rin, magpatuloy sa pagninilay hanggang maging tama.

Paghahambing at Buod

Metodolohiya Katangian Angkop na Sitwasyon
ReAct Salitan ang pangangatwiran at pagkilos, dynamic na pagsasaayos Mga gawaing nangangailangan ng real-time na interaksyon ng impormasyon (tulad ng Q&A, paghahanap)
Plan-and-Solve Magplano muna bago isagawa, structured na paghahati Mga komplikadong multi-step na gawain (tulad ng pagsulat, pagsusuri ng datos)
Reflection Pagninilay sa sarili at pagwawasto, iterative optimization Mga gawaing nangangailangan ng mataas na katumpakan (tulad ng matematika, code generation)

Sa praktikal na aplikasyon, madalas pinagsasama ang tatlo, halimbawa ang ReAct na may mekanismo ng reflection, o ang Plan-and-Solve na may reflection pagkatapos ng bawat hakbang.

评论

暂无已展示的评论。

发表评论(匿名)