AI հարցազրույցների շարք 6. AI Agent-ի երեք հիմնական մեթոդաբանությունները՝ ReAct, Plan-and-Solve և Reflection
AI Agent-ի երեք հիմնական մեթոդաբանությունները՝ ReAct, Plan-and-Solve և Reflection
AI Agent-ը ինքնավար գործակալ է, որն ընդունակ է ընկալել միջավայրը, կայացնել որոշումներ և կատարել գործողություններ: Նրա հիմնական մեթոդաբանություններն են՝ ReAct, Plan-and-Solve և Reflection: Ստորև ներկայացվում են դրանք՝ ուղեկցված հոսքային դիագրամներով և կոդի օրինակներով:
1. 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.append((thought, action, observation))
return final_answer
Օրինակ՝
- Օգտատերը հարցնում է. «Ինչպիսի՞ն է եղանակը այսօր Երևանում»:
- Agent-ը պատճառաբանում է. «Ես պետք է հարցնեմ եղանակի API-ին, անհրաժեշտ է քաղաքի անունը և ամսաթիվը»:
- Գործողություն. կանչել եղանակի API (պարամետրեր. Երևան, այսօր)
- Դիտարկում. վերադարձնում է «Արևոտ, 25°C»
- Պատճառաբանություն. «Տեղեկությունը ստացված է, կարող եմ պատասխանել»:
- Արդյունք. «Երևանում այսօր արևոտ է, 25°C»:
2. Plan-and-Solve
Հիմնական գաղափար՝ Նախ կազմել ամբողջական պլան (Plan), ապա աստիճանաբար իրականացնել (Solve): Պլանավորման փուլում բարդ առաջադրանքը բաժանվում է ենթաքայլերի, իսկ կատարման փուլում դրանք հաջորդաբար կատարվում են՝ հնարավոր է միջանկյալ արդյունքների հիման վրա պլանը ճշգրտել:
Հոսքային դիագրամ՝
[Առաջադրանք] → [Պլանավորում. բաժանել ենթաքայլերի] → [Կատարել քայլ 1] → [Կատարել քայլ 2] → ... → [Կատարել քայլ 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. Սրբագրել և հրապարակել
- Կատարում. հաջորդաբար կատարել յուրաքանչյուր քայլ, վերջում ստանալ բլոգը:
3. 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-ում յուրաքանչյուր քայլից հետո անդրադառնալ:
评论
暂无已展示的评论。
发表评论(匿名)