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.
评论
暂无已展示的评论。
发表评论(匿名)