AI серија питања за интервју 6: Објасните три основне методологије AI Agent-a: ReAct, Plan-and-Solve и Reflection
Три основне методологије AI Agent-a: ReAct, Plan-and-Solve и Reflection
AI Agent је интелигентни агент који може самостално да перципира окружење, доноси одлуке и извршава акције. Његове три главне методологије су: ReAct, Plan-and-Solve и Reflection. Испод су описане, уз дијаграме тока и примере кода.
1. ReAct (Reasoning + Acting)
Основна идеја: Испреплитање резоновања (Reasoning) и акције (Acting). Агент у сваком кораку прво размишља о тренутном стању и следећем плану (резоновање), затим извршава акцију (нпр. позивање алата, претрага информација), па наставља резоновање на основу резултата.
Дијаграм тока:
[Почетно стање] → [Резоновање: размисли о следећем кораку] → [Акција: изврши акцију] → [Посматрај резултат] → [Резоновање: ажурирај план] → ... → [Коначан одговор]
Пример кода (псеудокод):
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
Пример:
- Корисник пита: „Какво је време данас у Пекингу?“
- Агент резонује: „Треба да проверим АПИ за време, потребан ми је град и датум.“
- Акција: позови АПИ за време (параметри: Пекинг, данас)
- Посматрање: враћа „Сунчано, 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
Основна идеја: Агент током или након извршења размишља о сопственом понашању (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 са рефлексијом након сваког корака.
评论
暂无已展示的评论。
发表评论(匿名)