ИИ-агенты и автоматизация

Как сделать ИИ-агента: цикл, права и расход

Как сделать ИИ-агента: цикл, права и расход

Агент — это цикл из трёх шагов: модель решает, какой инструмент вызвать, ваш код выполняет вызов, результат возвращается в модель следующим сообщением. Всё остальное — обвязка вокруг этого цикла: список инструментов, ограничение прав, счётчик шагов и лимит бюджета. В каталоге на 12 сентября 2026 года вызов функций проверен у позиций в диапазоне от 0 ₽ до 60 ₽ за миллион токенов, так что обкатать цикл можно на бесплатной модели и только потом переезжать на дорогую.

Ниже — из чего собирается агент, какие инструменты ему давать и какие нет, как устроены права и песочница, почему длинная сессия дорожает быстрее, чем растёт число шагов, и как ловить зацикливание до того, как оно съест баланс.

Цикл, из которого всё состоит

Механика проще, чем обещает слово «агент». Вы отправляете модели задачу и описание доступных инструментов. Модель отвечает не текстом, а запросом вида «вызови инструмент search_orders с аргументом status=unpaid». Ваш код выполняет этот вызов, получает результат и отправляет его модели следующим сообщением. Модель смотрит на результат и решает: вызвать ещё что-то или сформулировать окончательный ответ.

Всё. Ни на одном шаге модель ничего не выполняет сама — она только предлагает вызов. Выполняет ваш код, и это ключевой факт для всей дальнейшей безопасности: то, чего вы не написали, агент сделать не может.

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

Из чего собирается агент

Рабочих частей четыре, и каждая делается отдельно.

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

Описания инструментов. Имя, назначение, параметры, ограничения. Модель выбирает инструмент по описанию, поэтому расплывчатое «работа с данными» гарантирует неверные вызовы, а точное «возвращает список заказов пользователя за период, максимум 100 записей» — нет. Механика вызова разобрана в статье function calling в API.

Цикл-исполнитель. Код, который крутит «запрос — вызов — результат» и содержит все ограничители: счётчик шагов, тайм-аут, лимит расхода, обработку ошибок инструмента.

Журнал. Запись каждого шага: что решила модель, что вернул инструмент, сколько стоило. Без журнала отладка агента превращается в гадание, потому что воспроизвести сессию по памяти невозможно. Подробнее — логирование запросов к моделям.

Какие инструменты давать, а какие нет

Набор инструментов определяет и пользу агента, и масштаб возможного ущерба. Разумный отбор строится по трём правилам.

Узкие вместо универсальных. Инструмент «выполни SQL-запрос» даёт агенту всю базу разом. Инструмент «верни заказы клиента за период» решает ту же задачу и не позволяет ничего лишнего. Узкий инструмент ещё и проще описать, а значит, модель реже промахивается с выбором.

Чтение по умолчанию, запись — осознанно. Первую версию агента полезно собрать вообще без записывающих операций: пусть он находит, сопоставляет и предлагает, а изменения вносит человек. Это даёт неделю наблюдений почти без риска.

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

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

Стандартный способ подключать наборы инструментов — протокол MCP: что такое MCP и как подключить MCP-сервер.

Права и песочница

Ограничение прав — не финальная полировка, а часть архитектуры, которую закладывают до первого запуска.

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

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

Как именно раскладывать разрешения по уровням и какие типовые наборы прав работают на практике — в отдельном разборе права агента: что разрешать. Там же про то, почему «разрешить всё и посмотреть, что будет» — самый дорогой способ узнать про свою систему что-то новое.

Почему длинная сессия дорожает нелинейно

Это главная статья расхода, и она неочевидна по устройству.

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

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

Отсюда четыре приёма, которые реально режут счёт:

  • Обрезать вывод инструментов. Возвращайте двадцать строк и признак «есть ещё», а не всю выборку.
  • Сворачивать старые шаги. После десятого шага замените первые пять на короткий пересказ того, что уже выяснено.
  • Включить кэш промптов. Системный промпт и описания инструментов не меняются между шагами — это ровно тот случай, для которого кэш и сделан: кэш промптов: как экономить.
  • Ставить лимит бюджета на сессию. Не на месяц, а именно на одну сессию, с жёсткой остановкой.

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

Модели под агентов и цены

Для агента нужен проверенный вызов функций. Ставка одинакова на вход и на выход, указана за миллион токенов на 12 сентября 2026 года.

Модель₽ за 1M токеновЗаметка
gpt-oss-20b0бесплатная, годится для обкатки цикла
nemotron-3-ultra0бесплатная, тяжелее предыдущей
deepseek-v4-flash1самая дешёвая платная с проверенными вызовами
qwen-3-6-flash3новое семейство в каталоге
qwen-3-7-max3то же семейство, старше
grok-build-0-15ориентирована на инструментальные сценарии
gemini-3-flash6быстрая, картинки на входе тоже проверены
gpt-5-6-luna8недорогая универсальная
glm-5-315открытые веса
grok-4-620для более сложных цепочек
gpt-5-6-terra30рассуждающий режим
gpt-6-astra60самая дорогая с проверенными вызовами

Одна деталь по свежему семейству Qwen, приехавшему в каталог 12 сентября: у qwen-3-8-max и qwen-3-7-plus принудительный выбор инструмента в статусе unsupported. Если ваш цикл полагается на то, что модель обязана вызвать конкретную функцию, эти две позиции не подойдут — обычный вызов у них работает, а принуждение нет. Полный список позиций с проверенными вызовами — в статье какие модели поддерживают вызов функций.

Разумная схема — разные модели на разные шаги: дешёвая разбирает вывод инструмента и отсеивает мусор, дорогая принимает решения. Как это устроить — маршрутизация между моделями.

Как ловить зацикливание

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

Счётчик шагов. Жёсткий потолок на сессию. Для большинства задач хватает пятнадцати-двадцати; если упёрлись — значит, задача сформулирована плохо или инструментов не хватает.

Детектор повторов. Считайте хеш пары «инструмент + аргументы». Третий одинаковый вызов подряд — признак цикла: прерывайте сессию и сообщайте модели, что этот путь не работает.

Лимит расхода. Потолок в рублях на одну сессию, проверяемый после каждого шага. Это последняя линия, которая срабатывает, даже если первые две вы настроили неудачно.

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

Чем агент отличается от чат-бота

Различие не в сложности промпта, а в том, кто определяет число шагов и кто несёт последствия.

Чат-бот получает реплику и возвращает текст. Один вход — один выход, стоимость предсказуема, худший исход — неудачный ответ, который человек прочитает и проигнорирует.

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

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

Первый агент за вечер

Порядок, который экономит неделю.

  1. Один инструмент, только чтение. Не три и не десять. Проверьте, что цикл крутится и модель выбирает вызов осмысленно.
  2. Ограничители с самого начала. Пять шагов, минута тайм-аута, лимит бюджета. Ставятся до первого запуска, а не после первого неприятного счёта.
  3. Бесплатная модель на обкатку. gpt-oss-20b или nemotron-3-ultra — цикл, формат вызовов и обработка ошибок отлаживаются на них бесплатно.
  4. Журнал с первого запуска. Каждый шаг, каждый вызов, каждая цифра расхода.
  5. Второй инструмент только после того, как первый работает стабильно. И так далее.

Отдельно заложите поведение при отказе инструмента: сеть упала, сервис вернул ошибку, лимит запросов исчерпан. Агент должен получить внятное сообщение об ошибке и возможность попробовать иначе, а не молчание. Про отказы и запасные маршруты — отказы маршрута и fallback и лимиты запросов и что делать.

Чего мы не утверждаем

Мы не ранжируем модели по «агентности». Универсальной метрики нет: позиция, стабильно выбирающая правильный инструмент из трёх, может путаться при пятнадцати, и проверяется это только на вашем наборе.

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

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

Что нужно, чтобы попробовать

Ключ заводится за минуту на keydealer.ru/login: почта и пароль, без документов и без зарубежной карты. Оплата российской картой в рублях, один ключ на все позиции каталога, так что переключение агента с дешёвой модели на дорогую — замена одной строки в конфиге.

Бесплатные позиции открываются после первого пополнения. Этого достаточно, чтобы собрать цикл, отладить формат вызовов и увидеть, как ведёт себя ваш ограничитель шагов, ещё до того, как в счёте появится первая заметная цифра. Про хранение самого ключа в таком проекте — как хранить API-ключи.

Что держать в голове

Агент — это цикл и ограничители вокруг него. Сложность не в промпте и не в выборе модели, а в том, чтобы решить заранее, что агенту позволено, сколько шагов он может сделать и сколько денег потратить.

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

И начинайте с чтения. Агент, который находит и предлагает, приносит большую часть пользы почти без риска, а записывающие права добавляются позже и по одному. Как мы проверяем факты и почему у каждой цифры стоит дата — на странице о проекте. Завести ключ: keydealer.ru/login.

Частые вопросы

Что такое ИИ-агент простыми словами?

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

Чем агент отличается от чат-бота?

Чат-бот отвечает текстом на реплику. Агент совершает действия во внешних системах и сам решает, сколько шагов сделать. Отсюда и разница в рисках: ошибка бота — плохой ответ, ошибка агента — испорченные данные.

Какие модели подходят для агента?

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

Почему длинная сессия агента дорожает нелинейно?

История переотправляется на каждом шаге целиком. Десятый шаг оплачивает в себе все девять предыдущих, поэтому счёт растёт примерно как квадрат числа шагов, а не пропорционально им.

Как поймать зацикливание агента?

Ограничителем на число шагов, детектором повторяющихся вызовов с теми же аргументами и лимитом бюджета на сессию. Без этих трёх вещей агент способен крутиться до исчерпания баланса.

Какие права давать агенту?

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

Источники