AI serieko elkarrizketa-galdera 6: AI Agent-en hiru metodologia nagusiak: ReAct, Plan-and-Solve eta Reflection
AI Agent-en hiru metodologia nagusiak: ReAct, Plan-and-Solve eta Reflection
AI Agent ingurunea modu autonomoan hautematen, erabakiak hartzen eta ekintzak exekutatzen dituen adimen artifizialeko agentea da. Bere hiru metodologia nagusiak ReAct, Plan-and-Solve eta Reflection dira. Jarraian, bakoitza azalduko da, fluxu-diagrama eta kode adibideekin.
1. ReAct (Reasoning + Acting)
Ideia nagusia: Arrazoitzea (Reasoning) eta ekintza (Acting) txandakatzea. Agenteak pauso bakoitzean uneko egoera eta hurrengo plana pentsatzen du (arrazoitzea), gero ekintza bat exekutatzen du (adibidez, tresna bat deitu, informazioa bilatu), eta emaitzaren arabera arrazoitzen jarraitzen du.
Fluxu-diagrama:
[Hasierako egoera] → [Arrazoitzea: hurrengo pausoa pentsatu] → [Ekintza: ekintza exekutatu] → [Emaitza behatu] → [Arrazoitzea: plana eguneratu] → ... → [Azken erantzuna]
Adibide kodea (pseudokodea):
def react_agent(question):
context = []
while not solved:
# Arrazoitzea: pentsamendu-pausoa sortu
thought = llm.generate_thought(question, context)
# Ekintza: pentsamenduaren arabera ekintza aukeratu
action = llm.choose_action(thought)
# Ekintza exekutatu, behaketa lortu
observation = execute_action(action)
# Pentsamendua, ekintza eta behaketa testuinguruan gehitu
context.append((thought, action, observation))
return final_answer
Adibidea:
- Erabiltzaileak galdetzen du: "Gaur eguraldia nola dago Bilbon?"
- Agenteak arrazoitzen du: "Eguraldiaren APIa kontsultatu behar dut, hiriaren izena eta data behar ditut."
- Ekintza: eguraldiaren APIa deitu (parametroak: Bilbo, gaur)
- Behaketa: "Eguzkitsua, 25°C" itzultzen du
- Arrazoitzea: "Informazioa lortu dut, erantzun dezaket."
- Irteera: "Bilbon gaur eguzkitsua, 25°C."
2. Plan-and-Solve
Ideia nagusia: Lehenengo plan oso bat egin (Plan), gero pausoz pauso exekutatu (Solve). Planaren fasean, zeregin konplexua azpi-pausoetan deskonposatzen da; exekuzio fasean, ordenan burutzen dira, eta tarteko emaitzen arabera plana doi daiteke.
Fluxu-diagrama:
[Zeregina] → [Plana egin: azpi-pausoak deskonposatu] → [1. pausoa exekutatu] → [2. pausoa exekutatu] → ... → [N. pausoa exekutatu] → [Azken erantzuna]
Adibide kodea:
def plan_and_solve(task):
# Planaren fasea
plan = llm.generate_plan(task) # Adibidez: ["Bilatu informazioa", "Antolatu datuak", "Idatzi txostena"]
context = {}
for step in plan:
# Pauso bakoitza exekutatu
result = execute_step(step, context)
context[step] = result
# Emaitzak batu
final = llm.synthesize(context)
return final
Adibidea:
- Zeregina: "AI Agent-ei buruzko blog bat idatzi"
- Plana:
1. AI Agent-en definizioa eta azken aurrerapenak bilatu
2. Irakurri eta puntu gakoak antolatu
3. Blogaren eskema idatzi
4. Edukia bete
5. Zuzendu eta argitaratu
- Exekuzioa: pauso bakoitza hurrenez hurren bete, azkenean bloga lortuz.
3. Reflection
Ideia nagusia: Agenteak bere ekintzen inguruan hausnartzen du (Reflection) exekuzioan edo exekuzioaren ondoren, emaitzak ebaluatu eta hurrengo ekintzak hobetzeko. Normalean autokritika, akatsen zuzenketa edo estrategia optimizazioa barne hartzen ditu.
Fluxu-diagrama:
[Ekintza] → [Emaitza behatu] → [Hausnarketa: arrakasta ebaluatu] → [Huts eginez gero: estrategia egokitu] → [Berriz ekintza] → ... → [Arrakasta]
Adibide kodea:
def reflection_agent(task):
max_attempts = 3
for attempt in range(max_attempts):
action = llm.generate_action(task)
result = execute(action)
# Hausnarketa
reflection = llm.reflect(task, action, result)
if reflection['success']:
return result
else:
# Hausnarketaren arabera zeregina edo estrategia egokitu
task = reflection['improved_task']
return None
Adibidea:
- Zeregina: "Kalkulatu 1234 * 5678"
- Ekintza: zuzenean kalkulatu, 7006652 emaitza lortu
- Hausnarketa: kalkulu-prozesua egiaztatu, garraiatze-akats bat aurkitu
- Egokitzapena: berriz kalkulatu, emaitza zuzena lortu 7006652 (benetan zuzena)
- Oraindik oker badago, hausnarketa jarraitu zuzena izan arte.
Laburpena eta konparazioa
| Metodologia | Ezaugarriak | Aplikazio-eszenatokiak |
|---|---|---|
| ReAct | Arrazoitzea eta ekintza txandakatzen dira, dinamikoki doitzen | Denbora errealeko informazio-interakzioa behar duten zereginak (galdera-erantzuna, bilaketa) |
| Plan-and-Solve | Lehen plana, gero exekuzioa, egituratutako deskonposizioa | Zeregin konplexu eta pauso anitzekoak (idazketa, datu-analisia) |
| Reflection | Autohausnarketa eta zuzenketa, iterazio bidezko optimizazioa | Zehaztasun handia behar duten zereginak (kalkulu matematikoak, kode-sorkuntza) |
Praktikan, hirurak konbinatu ohi dira, adibidez, ReAct-i hausnarketa mekanismoa gehitu, edo Plan-and-Solve-n pauso bakoitzaren ondoren hausnarketa egin.
评论
暂无已展示的评论。
发表评论(匿名)