← 返回列表

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 са рефлексијом након сваког корака.

评论

暂无已展示的评论。

发表评论(匿名)