Суть
Вместо того чтобы на каждом шаге думать и сразу действовать (ReAct), агент сначала формирует план целиком, а затем отдельный слой его исполняет. Разделение ролей делает поведение прозрачнее и дешевле.
Зачем это нужно
Главная мысль из лекции: «не забивать гвозди микроскопом». LLM может сделать простое сложение, но сожжёт тысячи токенов — поэтому сначала решаем что нужно (план), а как — отдаём подходящему инструменту/коду, не тратя дорогой reasoning впустую. Это снижает стоимость (см. Agent CostControl).
Как работает
- ReAct — онлайн-планирование step-by-step; состояние неявно закодировано в контексте; управление через
max_steps/ stop-rules. - Plan-and-Execute — сначала план (список шагов/изменений), затем исполнение; состояние явное.
- Роли Planner / Coder / Reviewer — логически разные даже при одной LLM (разные промпты/ограничения): Planner понимает задачу и планирует, Coder делает, Reviewer проверяет результат по чек-листу. Ревью-роль критична.
- Architect/Editor split — экономический вариант planner/executor: «умная» дорогая модель проектирует короткий план, «дешёвая быстрая» печатает код по нему (экономия 50–80%, см. Agent CostControl). Развитие ревью-роли — внешний оценщик Generator Evaluator (Planner/Generator/Evaluator), т.к. самооценке агента доверять нельзя.
- Условия выхода общие для обоих: Success, User Feedback (позитивные); Max iterations / Max tokens / Max time / No Progress (негативные).
- Опирается на компоненты Agent Anatomy и питается ground truth, как и ReAct.
Пример
PLAN (Planner):
1. найти клиента по email
2. проверить статус заказа
3. оформить возврат
EXECUTE (Executor):
step1 → tool find_customer(...)
step2 → tool get_order_status(...)
step3 → tool create_refund(...) # реальное действие
Связано с
- ReAct — второй базовый паттерн рассуждения (онлайн vs план-вперёд)
- AI Agent — оба паттерна — способ реализовать «мозг» агента
- Agent Anatomy — оркестрация как компонент
- Generator Evaluator — Planner/Generator/Evaluator: ревью выносится во внешний оценщик
- Agent Architecture — где планировщик встраивается в master loop
Открытые вопросы
- когда ReAct, когда Plan-and-Execute (критерий выбора)
- как заставить Reviewer реально ловить ошибки, а не «штамповать ОК»