← Все статьи

Что такое агентный цикл? Робот, бутерброд и искусство пробовать снова

Смотри, выбирай, действуй, проверяй. Весёлый иллюстрированный рассказ об агентных циклах — понятный даже пятилетнему, но и взрослым найдётся над чем подумать.

У Pip есть цель, но бутерброда пока нет Дружелюбный синий робот смотрит на два ломтика хлеба и банку джема. В облачке реплики написано: План — это ещё не бутерброд. План — это ещё не бутерброд. ДЖЕМ Знакомьтесь: Pip. Цель: один бутерброд с джемом.
Pip — наш воображаемый помощник. При создании этой иллюстрации ни один настоящий робот не был перепачкан джемом.

Представьте маленького робота по имени Pip.

Вы говорите: «Сделай мне, пожалуйста, бутерброд с джемом».

Pip смотрит на стол. Там есть хлеб. Там есть джем. Там есть ложка, подозрительно густо измазанная арахисовой пастой.

Объявит ли Pip: «Бутерброд готов!»?

Нет. Это была бы речь, а не бутерброд.

Роботу нужно осмотреться, выбрать небольшой шаг, сделать его и проверить, что получилось. После этого Pip может решить, что делать дальше.

Этот повторяющийся узор и называется агентным циклом.

Вся идея в четырёх коротких словах

Смотри. Выбирай. Действуй. Проверяй.

  • Смотри: что происходит прямо сейчас?
  • Выбирай: какое одно полезное действие сделать следующим?
  • Действуй: сделай его.
  • Проверяй: что произошло на самом деле? Мы закончили?

Если работа не закончена — ещё один круг, уже с новой информацией.

Цикл просто означает, что что-то повторяется. Агент — это система, которая может делать шаги к цели с помощью выданных ей инструментов и разрешений.

Сложите вместе: агентный цикл позволяет помощнику действовать, видеть результат и решать, что дальше.

Смотри, выбирай, действуй, проверяй — и знай, когда остановиться Схема идёт по часовой стрелке: Смотри, Выбирай, Действуй, Проверяй. Если работа не закончена, от Проверяй стрелка возвращается к Смотри. Отдельная стрелка ведёт от Проверяй к «Стоп или спроси», когда всё готово, дело зашло в тупик или бюджет исчерпан. 1. СМОТРИ2. ВЫБИРАЙ3. ДЕЙСТВУЙ4. ПРОВЕРЯЙЧто я вижу?Что дальше?Беру инструмент.Что изменилось?Ещё не всё? Новый круг.Готово, тупик или лимит?СТОП — или спроси человека.
Это учебная схема, а не обязательная архитектура. В реальных системах этапы могут сливаться. Главное — чтобы результат попадал в следующее решение.

Вернёмся к очень серьёзной бутербродной миссии

Первый маленький шаг робота — открыть банку с джемом.

Действуй: повернуть крышку.

Проверяй: крышка не сдвинулась.

А вот тут начинается самое интересное. Pip не должен делать вид, что банка открылась, только потому, что так было задумано.

И Pip не должен крутить крышку вечно, пока солнце не превратится в изюминку.

Pip может попробовать другой разрешённый способ или сказать: «Поможете мне с этой крышкой?» Попросить о помощи — это полезный результат, а не провал размером с робота.

Когда банка открыта, Pip может намазать джем, сложить хлеб и сверить результат с вашей просьбой.

Два ломтика? Джем внутри? На тарелке? Отлично.

Банка, балансирующая на батоне? Креативно. Но не бутерброд.

А где тут ИИ?

Наша кухонная история выдуманная. Инструменты программного агента вместо хлеба могут читать файл, искать на странице, править документ или запускать тест.

В ИИ-агенте языковая модель помогает выбрать следующий шаг. Окружающая программа выполняет разрешённые вызовы инструментов и возвращает результаты. Затем модель получает новый ход — уже с этой информацией.

Представьте три разные роли:

ЧастьВоображаемая кухня PipПрограммная версия
ЦельСделать бутерброд с джемомПочинить сломанную ссылку
Кто решаетВыбрать следующий маленький шагМодель предлагает действие
ИнструментРуки и ложкаЧтение файлов, редактор или браузер
НаблюдениеКрышка всё ещё закрытаИнструмент возвращает ошибку или результат
Рабочие заметкиБанка открыта; хлеб готовНужная история задачи и результаты
Проверка финишаЗаказанный бутерброд готовУбедиться, что нужная ссылка работает

Модель, предложившая действие, — это ещё не выполненное действие. А выполненное действие — ещё не обязательно достигнутая цель.

«Файл сохранён» и «сохранён нужный файл с нужным содержимым» — это разные утверждения. Именно на проверке эта разница и важна.

Маленькое приключение: пропавшая картинка

Допустим, вы просите программного помощника починить пропавшую картинку на веб-странице.

Полезный цикл мог бы выглядеть так:

  1. Смотри: прочитать страницу и найти путь к изображению.
  2. Выбирай: проверить, существует ли указанное изображение.
  3. Действуй: изучить нужные файлы.
  4. Проверяй: страница запрашивает cat.png, а файл называется cat.jpg.
  5. Ещё круг: исправить ссылку, затем проверить, что страница загружает нужную картинку.
  6. Стоп: сообщить об изменении и о проверках, которые действительно были сделаны.

Если картинка всё ещё не появилась, «я отредактировал страницу» — недостаточно. Следующий шаг должен определяться результатом.

Обратите внимание, что делает это циклом: следующее действие зависит от того, что показало предыдущее. Это не просто повторение одного и того же.

Каждый ли круг делает лучше?

Нет. Больше активности не значит больше прогресса.

Вот выдуманный график бутербродной миссии. Даём роботу одно очко за каждый пройденный этап: банка открыта, джем намазан, бутерброд собран, итог сверен с просьбой.

Воображаемый график прогресса бутерброда За шесть попыток пройдено ноль, ноль, один, два, три и четыре этапа. Первые две попытки не дают прогресса, потому что банку заклинило. Эти выдуманные числа иллюстрируют обратную связь, а не измеренную эффективность агента. Прогресс — это не то же самое, что суета.Пройденные этапы · выдуманный пример, а не бенчмарк 01234123456Попытки Крышку заело!Помощь сработала.Проверено!
Выдуманные данные: 0, 0, 1, 2, 3, 4 пройденных этапа. Настоящая работа может застопориться, откатиться назад или оказаться невозможной с доступными инструментами.

Ровный участок важен. Если ничего не меняется, помощник должен это заметить, а не праздновать количество попыток.

Взрослым это подсказывает полезные вопросы: мы чему-нибудь научились? Состояние изменилось? Мы повторяем одно и то же неудачное действие? Стоит ли ещё одна попытка своих затрат?

Всем остальным: если на двери написано «НА СЕБЯ», толкать сильнее — это не стратегия.

Дайте помощнику забор, а не всю планету

Разумному агенту нужно больше, чем кнопка «повторить».

  • Чёткая финишная черта. «Найди три фотографии пингвинов» проверить проще, чем «сделай всё потрясающим».
  • Подходящие разрешения. Умение набросать письмо не должно автоматически означать право его отправить.
  • Бюджет на остановку. Ограничьте число попыток, время или расходы. Застрявшая задача не должна стать бесконечной.
  • Возможность спросить. Нехватка информации, доступа или важный выбор могут потребовать участия человека.
  • Честные проверки. Используйте доказательства, подходящие к цели. Не превращайте «инструмент ответил» в «всё правильно».

Это принципы проектирования, а не обещание, что каждый продукт их соблюдает. Цикл сам по себе не делает систему волшебным образом безопасной или надёжной.

На кухне Pip: сделай бутерброд, не заказывай грузовик джема и спроси разрешения, прежде чем включать взрослую технику.

Агентный цикл — это то же самое, что скрипт?

Не обязательно, но граница проходит не по линии «скрипты глупые, агенты умные». В скриптах тоже бывают циклы, условия и отличные проверки.

Различие, на которое стоит смотреть, — как выбирается следующее действие. В фиксированном процессе разработчик заранее проложил все маршруты. В агентном цикле, управляемом моделью, модель может выбирать среди доступных действий, исходя из задачи и последних наблюдений. Реальные системы могут сочетать оба подхода.

Для предсказуемой работы маленький скрипт может оказаться ровно тем, что нужно. Чтобы позвонить в колокольчик в полдень, не нужен робот-философ.

Для задачи с неизвестными препятствиями выбор следующего шага по свежим данным бывает полезен. Но из-за этой гибкости особенно важны ограничения и проверки.

Версия для магнита на холодильник

Агентный цикл — это:

Сделай полезный шаг. Посмотри, что вышло. Используй то, что узнал. Повторяй, только пока в этом есть смысл.

Это не магия. Это не гарантия. Это не «продолжай вечно».

Это способ связать цель, действие и реальный результат — снова и снова, пока помощник не закончит или не должен будет остановиться.

Pip объяснил бы проще:

«Смотри. Пробуй. Проверяй. И не говори „бутерброд“, пока нет бутерброда».