AI-агенты · автоматизация · LLM · инженерия ИИ · планирование · оптимизация токенов16 октября в 01:02 · 5 мин

Агенты как роботы: как ИИ-системы повторяют задачи без переплаты и ошибок

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

# Как ИИ-агенты повторяют задачу: промпт, скилл, граф или код

В понедельник сотрудник отдела закупок просит агента сверить новый прайс-лист поставщика с рыночными ценами и собрать отчёт. Агент выполняет задачу за десяток шагов: читает 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, структура и числа воспроизводятся точно на каждом запуске. Текст анализа узел модели генерирует заново, поэтому формулировки меняются, но итоговый отчёт остаётся сопоставимым. Подбор инструментов и планирование выполняются один раз.

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

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

*Авторский комментарий: в мире, где каждое перепланирование стоит токенов, превращение хаотичного диалога с ИИ в предсказуемый конвейер — это не просто оптимизация, а необходимость для бизнеса.

Первоисточники

Habr AI ↗
← Вернуться в эфир