Pyetje interviste AI Seria 6: Tre metodologjitë kryesore të AI Agent: ReAct, Plan-and-Solve dhe Reflection
Tre metodologjitë kryesore të AI Agent: ReAct, Plan-and-Solve dhe Reflection
AI Agent është një agjent inteligjent që mund të perceptojë në mënyrë autonome mjedisin, të marrë vendime dhe të ekzekutojë veprime. Metodologjitë e tij kryesore janë tre: ReAct, Plan-and-Solve dhe Reflection. Më poshtë do t'i shqyrtojmë secilën, të shoqëruara me diagrame rrjedhëse dhe shembuj kodi.
1. ReAct (Reasoning + Acting)
Ideja kryesore: Ndërthurja e arsyetimit (Reasoning) dhe veprimit (Acting) në mënyrë të ndërthurur. Agjenti në çdo hap fillimisht mendon për gjendjen aktuale dhe planin e ardhshëm (arsyetim), më pas ekzekuton një veprim (si thirrja e një mjeti, kërkimi i informacionit), dhe më pas vazhdon arsyetimin bazuar në rezultat.
Diagrami i rrjedhës:
[Gjendja fillestare] → [Arsyetim: mendo hapin tjetër] → [Veprim: ekzekuto veprimin] → [Vëzhgo rezultatin] → [Arsyetim: përditëso planin] → ... → [Përgjigja përfundimtare]
Shembull kodi (pseudokod):
def react_agent(question):
context = []
while not solved:
# Arsyetim: gjenero hapin e mendimit
thought = llm.generate_thought(question, context)
# Veprim: zgjidh veprimin bazuar në mendim
action = llm.choose_action(thought)
# Ekzekuto veprimin, merr vëzhgimin
observation = execute_action(action)
# Shto mendimin, veprimin dhe vëzhgimin në kontekst
context.append((thought, action, observation))
return final_answer
Shembull:
- Përdoruesi pyet: "Si është moti sot në Pekin?"
- Agjenti arsyeton: "Më duhet të kërkoj API-në e motit, kam nevojë për emrin e qytetit dhe datën."
- Veprim: Thirr API-në e motit (parametra: Pekin, sot)
- Vëzhgim: Kthen "Diell, 25°C"
- Arsyetim: "Kam marrë informacionin, mund të përgjigjem."
- Dalje: "Sot në Pekin është diell, 25°C."
2. Plan-and-Solve
Ideja kryesore: Fillimisht hartohet një plan i plotë (Plan), më pas ekzekutohet hap pas hapi (Solve). Gjatë fazës së planifikimit, detyra komplekse ndahet në nënhapa, ndërsa gjatë fazës së ekzekutimit, hapat kryhen në rend, me mundësi përshtatjeje të planit bazuar në rezultatet e ndërmjetme.
Diagrami i rrjedhës:
[Detyra] → [Hartimi i planit: ndarja në nënhapa] → [Ekzekuto hapin 1] → [Ekzekuto hapin 2] → ... → [Ekzekuto hapin N] → [Përgjigja përfundimtare]
Shembull kodi:
def plan_and_solve(task):
# Faza e planifikimit
plan = llm.generate_plan(task) # p.sh.: ["Kërko materiale", "Organizo informacionin", "Shkruaj raportin"]
context = {}
for step in plan:
# Ekzekuto çdo hap
result = execute_step(step, context)
context[step] = result
# Sintetizo rezultatet
final = llm.synthesize(context)
return final
Shembull:
- Detyra: "Shkruaj një blog për AI Agent"
- Plani:
1. Kërko përkufizimin dhe përparimet më të fundit të AI Agent
2. Lexo dhe organizo pikat kryesore
3. Harto skicën e blogut
4. Plotëso përmbajtjen
5. Korrigjo dhe publiko
- Ekzekutimi: Kryej secilin hap me radhë, në fund dalja është blogu.
3. Reflection
Ideja kryesore: Agjenti gjatë ose pas ekzekutimit reflekton mbi veprimet e veta (Reflection), vlerëson rezultatet dhe përmirëson veprimet e ardhshme. Zakonisht përfshin vetëkritikë, korrigjim gabimesh ose optimizim strategjie.
Diagrami i rrjedhës:
[Veprim] → [Vëzhgo rezultatin] → [Reflektim: vlerëso nëse ishte i suksesshëm] → [Nëse dështoi: rregullo strategjinë] → [Vepro përsëri] → ... → [Sukses]
Shembull kodi:
def reflection_agent(task):
max_attempts = 3
for attempt in range(max_attempts):
action = llm.generate_action(task)
result = execute(action)
# Reflektim
reflection = llm.reflect(task, action, result)
if reflection['success']:
return result
else:
# Rregullo përshkrimin e detyrës ose strategjinë bazuar në reflektim
task = reflection['improved_task']
return None
Shembull:
- Detyra: "Llogarit 1234 * 5678"
- Veprim: Llogarit direkt, merr rezultatin 7006652
- Reflektim: Kontrollon procesin e llogaritjes, gjen gabim në bartje
- Rregullim: Rillogarit, merr rezultatin e saktë 7006652 (në fakt i saktë)
- Nëse ende gabim, vazhdon reflektimin deri në saktësi.
Përmbledhje krahasuese
| Metodologjia | Karakteristikat | Skenarët e përshtatshëm |
|---|---|---|
| ReAct | Arsyetim dhe veprim i ndërthurur, përshtatje dinamike | Detyra që kërkojnë ndërveprim në kohë reale me informacion (si pyetje-përgjigje, kërkime) |
| Plan-and-Solve | Fillimisht plan, pastaj ekzekutim, ndarje strukturore | Detyra komplekse me shumë hapa (si shkrim, analizë të dhënash) |
| Reflection | Vetëreflektim dhe korrigjim, përmirësim përsëritës | Detyra që kërkojnë saktësi të lartë (si llogaritje matematikore, gjenerim kodi) |
Në aplikime praktike, shpesh kombinohen të tria, p.sh. ReAct me mekanizëm reflektimi, ose Plan-and-Solve me reflektim pas çdo hapi.
评论
暂无已展示的评论。
发表评论(匿名)