Цель урока
Спроектировать цикл работы агента как понятную state machine, а не как бесконечный «думай, пока не получится».
1. Базовый Agent Loop
Используйте цикл:
- Observe — что пришло на вход и что известно.
- Validate — достаточно ли данных.
- Decide — какой следующий шаг разрешён.
- Use tool / act in sandbox — вызвать один инструмент.
- Check — валиден ли результат инструмента.
- Update state — записать новое состояние.
- Continue / Ask human / Stop.
2. Почему нужен stop condition
Без правила остановки агент может:
- повторять инструмент;
- создавать дубликаты;
- зациклиться на уточнениях;
- продолжать работу, когда уже не хватает полномочий.
Примеры stop condition:
- достигнут финальный draft;
- нужен human approval;
- отсутствует обязательное поле;
- tool вернул непоправимую ошибку;
- превышен лимит шагов;
- задача вышла за scope.
3. State важнее «памяти обо всём»
State — это минимальный объект, который описывает текущее выполнение: run_id, request, classification, facts, tool_results, draft, approval_status, errors, status.
4. Agent Loop Map
Для каждого состояния укажите:
- вход;
- допустимые переходы;
- tool;
- error path;
- stop/approval.
Практика
Нарисуйте loop для выбранного use case. Максимум 7–9 состояний для первой версии.
Ключевая мысль
Хороший агент — это конечный управляемый процесс с явными переходами и остановками.
