Что такое агентный цикл? Робот, бутерброд и искусство пробовать снова
Смотри, выбирай, действуй, проверяй. Весёлый иллюстрированный рассказ об агентных циклах — понятный даже пятилетнему, но и взрослым найдётся над чем подумать.
Представьте маленького робота по имени Pip.
Вы говорите: «Сделай мне, пожалуйста, бутерброд с джемом».
Pip смотрит на стол. Там есть хлеб. Там есть джем. Там есть ложка, подозрительно густо измазанная арахисовой пастой.
Объявит ли Pip: «Бутерброд готов!»?
Нет. Это была бы речь, а не бутерброд.
Роботу нужно осмотреться, выбрать небольшой шаг, сделать его и проверить, что получилось. После этого Pip может решить, что делать дальше.
Этот повторяющийся узор и называется агентным циклом.
Вся идея в четырёх коротких словах
Смотри. Выбирай. Действуй. Проверяй.
- Смотри: что происходит прямо сейчас?
- Выбирай: какое одно полезное действие сделать следующим?
- Действуй: сделай его.
- Проверяй: что произошло на самом деле? Мы закончили?
Если работа не закончена — ещё один круг, уже с новой информацией.
Цикл просто означает, что что-то повторяется. Агент — это система, которая может делать шаги к цели с помощью выданных ей инструментов и разрешений.
Сложите вместе: агентный цикл позволяет помощнику действовать, видеть результат и решать, что дальше.
Вернёмся к очень серьёзной бутербродной миссии
Первый маленький шаг робота — открыть банку с джемом.
Действуй: повернуть крышку.
Проверяй: крышка не сдвинулась.
А вот тут начинается самое интересное. Pip не должен делать вид, что банка открылась, только потому, что так было задумано.
И Pip не должен крутить крышку вечно, пока солнце не превратится в изюминку.
Pip может попробовать другой разрешённый способ или сказать: «Поможете мне с этой крышкой?» Попросить о помощи — это полезный результат, а не провал размером с робота.
Когда банка открыта, Pip может намазать джем, сложить хлеб и сверить результат с вашей просьбой.
Два ломтика? Джем внутри? На тарелке? Отлично.
Банка, балансирующая на батоне? Креативно. Но не бутерброд.
А где тут ИИ?
Наша кухонная история выдуманная. Инструменты программного агента вместо хлеба могут читать файл, искать на странице, править документ или запускать тест.
В ИИ-агенте языковая модель помогает выбрать следующий шаг. Окружающая программа выполняет разрешённые вызовы инструментов и возвращает результаты. Затем модель получает новый ход — уже с этой информацией.
Представьте три разные роли:
| Часть | Воображаемая кухня Pip | Программная версия |
|---|---|---|
| Цель | Сделать бутерброд с джемом | Починить сломанную ссылку |
| Кто решает | Выбрать следующий маленький шаг | Модель предлагает действие |
| Инструмент | Руки и ложка | Чтение файлов, редактор или браузер |
| Наблюдение | Крышка всё ещё закрыта | Инструмент возвращает ошибку или результат |
| Рабочие заметки | Банка открыта; хлеб готов | Нужная история задачи и результаты |
| Проверка финиша | Заказанный бутерброд готов | Убедиться, что нужная ссылка работает |
Модель, предложившая действие, — это ещё не выполненное действие. А выполненное действие — ещё не обязательно достигнутая цель.
«Файл сохранён» и «сохранён нужный файл с нужным содержимым» — это разные утверждения. Именно на проверке эта разница и важна.
Маленькое приключение: пропавшая картинка
Допустим, вы просите программного помощника починить пропавшую картинку на веб-странице.
Полезный цикл мог бы выглядеть так:
- Смотри: прочитать страницу и найти путь к изображению.
- Выбирай: проверить, существует ли указанное изображение.
- Действуй: изучить нужные файлы.
- Проверяй: страница запрашивает
cat.png, а файл называетсяcat.jpg. - Ещё круг: исправить ссылку, затем проверить, что страница загружает нужную картинку.
- Стоп: сообщить об изменении и о проверках, которые действительно были сделаны.
Если картинка всё ещё не появилась, «я отредактировал страницу» — недостаточно. Следующий шаг должен определяться результатом.
Обратите внимание, что делает это циклом: следующее действие зависит от того, что показало предыдущее. Это не просто повторение одного и того же.
Каждый ли круг делает лучше?
Нет. Больше активности не значит больше прогресса.
Вот выдуманный график бутербродной миссии. Даём роботу одно очко за каждый пройденный этап: банка открыта, джем намазан, бутерброд собран, итог сверен с просьбой.
Ровный участок важен. Если ничего не меняется, помощник должен это заметить, а не праздновать количество попыток.
Взрослым это подсказывает полезные вопросы: мы чему-нибудь научились? Состояние изменилось? Мы повторяем одно и то же неудачное действие? Стоит ли ещё одна попытка своих затрат?
Всем остальным: если на двери написано «НА СЕБЯ», толкать сильнее — это не стратегия.
Дайте помощнику забор, а не всю планету
Разумному агенту нужно больше, чем кнопка «повторить».
- Чёткая финишная черта. «Найди три фотографии пингвинов» проверить проще, чем «сделай всё потрясающим».
- Подходящие разрешения. Умение набросать письмо не должно автоматически означать право его отправить.
- Бюджет на остановку. Ограничьте число попыток, время или расходы. Застрявшая задача не должна стать бесконечной.
- Возможность спросить. Нехватка информации, доступа или важный выбор могут потребовать участия человека.
- Честные проверки. Используйте доказательства, подходящие к цели. Не превращайте «инструмент ответил» в «всё правильно».
Это принципы проектирования, а не обещание, что каждый продукт их соблюдает. Цикл сам по себе не делает систему волшебным образом безопасной или надёжной.
На кухне Pip: сделай бутерброд, не заказывай грузовик джема и спроси разрешения, прежде чем включать взрослую технику.
Агентный цикл — это то же самое, что скрипт?
Не обязательно, но граница проходит не по линии «скрипты глупые, агенты умные». В скриптах тоже бывают циклы, условия и отличные проверки.
Различие, на которое стоит смотреть, — как выбирается следующее действие. В фиксированном процессе разработчик заранее проложил все маршруты. В агентном цикле, управляемом моделью, модель может выбирать среди доступных действий, исходя из задачи и последних наблюдений. Реальные системы могут сочетать оба подхода.
Для предсказуемой работы маленький скрипт может оказаться ровно тем, что нужно. Чтобы позвонить в колокольчик в полдень, не нужен робот-философ.
Для задачи с неизвестными препятствиями выбор следующего шага по свежим данным бывает полезен. Но из-за этой гибкости особенно важны ограничения и проверки.
Версия для магнита на холодильник
Агентный цикл — это:
Сделай полезный шаг. Посмотри, что вышло. Используй то, что узнал. Повторяй, только пока в этом есть смысл.
Это не магия. Это не гарантия. Это не «продолжай вечно».
Это способ связать цель, действие и реальный результат — снова и снова, пока помощник не закончит или не должен будет остановиться.
Pip объяснил бы проще:
«Смотри. Пробуй. Проверяй. И не говори „бутерброд“, пока нет бутерброда».