Агенты как роботы: как ИИ-системы повторяют задачи без переплаты и ошибок
Первичный запуск ИИ-агента для сверки прайс-листа часто требует десятка шагов планирования и анализа. Повторить эту же задачу на следующий понедельник без лишних затрат токенов и изменения формата отчёта — ключевая инженерная проблема. Обзор четырёх архитектурных решений: от простого сохранённого промпта до детерминированных кодовых скриптов и графовых сценариев.
# Как ИИ-агенты повторяют задачу: промпт, скилл, граф или код
В понедельник сотрудник отдела закупок просит агента сверить новый прайс-лист поставщика с рыночными ценами и собрать отчёт. Агент выполняет задачу за десяток шагов: читает Excel, ищет рыночные цены, считает отклонения, пишет выводы. Через неделю приходит следующий файл, и задачу нужно повторить.
При повторном запуске агент заново выбирает инструменты и порядок шагов, и за это планирование каждый раз приходится платить токенами. Отчёт приходит в другом формате, потому что модель пишет его с нуля, а иногда в нём пропущен шаг, который агент выполнил неделю назад. Агентные системы решают эту проблему четырьмя способами.
Кто составляет план при повторном запуске
Системы различаются тем, что сохраняют после успешного прогона: текст запроса, инструкцию, граф шагов или программу. Чем большая часть плана вынесена из модели, тем меньше токенов уходит на повторный запуск и тем ближе его результат к предыдущему.
Условный расчёт для задачи из примера показывает разницу. Системный промпт занимает 8 000 токенов, каждый шаг добавляет в контекст 1 500 токенов. При 10 шагах суммарный вход по всем вызовам модели огромен. Если тот же процесс зафиксирован графом, модель вызывается один раз в узле анализа и получает уже собранные данные. При входе в 6 000 токенов разница получается примерно в 25 раз, а 10 последовательных вызовов превращаются в один.
Сохранённый промпт и скиллы
Уровень 1. Сохранённый промпт Система хранит текст запроса и условие запуска. По расписанию она открывает новую сессию агента и передаёт этот текст.
* ChatGPT Scheduled Tasks: В документации OpenAI описаны три режима: разовая или повторяющаяся задача, мониторинг изменений и задача по событию (например, новое письмо в Gmail или активность на GitHub). Состояние между запусками есть у задач мониторинга: они используют информацию из предыдущих прогонов и останавливаются, когда выполнено условие. * Claude Cowork: Задачи по расписанию появились в феврале 2026 года. Можно описать задачу с нуля или превратить выполненную задачу в повторяющуюся командой /schedule. В последнем случае Claude составляет промпт по выполненной задаче, и пользователь подтверждает его. Каждый запуск идёт отдельной сессией Cowork.
Однако в этом подходе при повторе агент проходит весь цикл. Если поставщик переименовал колонку в прайс-листе, агент обработает новую структуру как любой незнакомый файл. Формат результата меняется от запуска к запуску.
Уровень 2. Скиллы (Agent Skills)
Скилл — это папка с файлом SKILL.md, содержащая описание, инструкцию, скрипты и шаблоны. Формат поддерживают Codex, ChatGPT, Gemini CLI и другие агенты.
Загрузка работает по принципу progressive disclosure: скилл попадает в контекст частями. Спецификация закладывает около 100 токенов на скилл в шапке, тело файла агент читает только когда задача подходит под описание.
Ключевая идея: скрипты выполняются в песочнице, и в контекст попадает только их вывод. Код скрипта токенов не расходует, поэтому детерминированную работу выгодно выносить в скрипты: парсинг файла, расчёты, сборку отчёта. Повторный запуск — обычный агентный прогон, где порядок шагов модель выбирает снова, но скрипты дают предсказуемый результат.
Граф шагов и код
Уровень 3. Граф шагов Задача описывается направленным ациклическим графом (DAG). У каждого узла фиксированы тип, входы и выходы. Граф выполняет движок, модель вызывается только в узлах, где нужна интерпретация данных.
Пример сценария сверки прайс-листа включает узлы: чтение файла, поиск рыночных цен, вычисление отклонений, анализ и генерация отчёта. Узлы read и market независимы и выполняются параллельно. Числа в отчёт попадают из вычислительных узлов, а модель в узле анализа пишет только интерпретацию.
Движок раскладывает граф на слои и выполняет их параллельно. Чекпоинтер сохраняет состояние на границе каждого шага: если узел упал, при возобновлении успешно завершённые узлы повторно не выполняются. Правки создают новую версию графа.
Обеспечение детерминизма: * Ответ узла модели ограничивается JSON-схемой. * Температуру ставят в 0, хотя полной воспроизводимости это не даёт из-за особенностей ядра при температуре 0. * Числа считаются в узлах расчёта и передаются модели готовыми. * Версия модели фиксируется в описании узла.
Платформы вроде n8n (AI Workflow Builder с октября 2025 года), Microsoft Copilot Studio (agent flows) и Айва (сценарии в чате) используют этот подход. В Айва, например, сценарий сверки прайс-листа состоит из запуска, инструментов, расчётов, модели и результата. Если входные данные не проходят проверку, сценарий останавливается с ошибкой.
Уровень 4. Код и кэш действий Агент решает задачу один раз и записывает решение программой. Далее скрипт запускается без модели. Близкий приём — кэш действий.
Stagehand: При первом вызове модель получает инструкцию и снимок дерева доступности страницы и возвращает действие (клик, ввод). Действие выполняется детерминировно через Chrome DevTools Protocol и сохраняется в кэш. Ключ кэша складывается из инструкции, URL и состояния страницы. Пока ключ совпадает, следующие вызовы проигрывают сохранённый селектор без обращения к модели. Если записанный селектор больше не находится, Stagehand возвращается к полному вызову модели.
Что это значит на практике
Если использовать фиксированный граф, как в сценариях Айва или потоках Copilot Studio, структура и числа воспроизводятся точно на каждом запуске. Текст анализа узел модели генерирует заново, поэтому формулировки меняются, но итоговый отчёт остаётся сопоставимым. Подбор инструментов и планирование выполняются один раз.
В агентах с промптом или скиллом при изменении входа (например, новый формат файла) система попытается обработать его заново, что может привести к пропуску шагов или изменению формата вывода. Процессы, где следующий шаг определяется найденным на предыдущем, в заранее собранный граф укладываются плохо, но такие задачи удобнее оставлять агенту.
Таким образом, выбор между промптом, скиллом, графом или кодом зависит от необходимости стабильности повторяющихся процессов и готовности платить за гибкость в каждом новом запуске.
*Авторский комментарий: в мире, где каждое перепланирование стоит токенов, превращение хаотичного диалога с ИИ в предсказуемый конвейер — это не просто оптимизация, а необходимость для бизнеса.