ИИ-агенты и автоматизация
Как сделать ИИ-агента: цикл, права и расход
Агент — это цикл из трёх шагов: модель решает, какой инструмент вызвать, ваш код выполняет вызов, результат возвращается в модель следующим сообщением. Всё остальное — обвязка вокруг этого цикла: список инструментов, ограничение прав, счётчик шагов и лимит бюджета. В каталоге на 12 сентября 2026 года вызов функций проверен у позиций в диапазоне от 0 ₽ до 60 ₽ за миллион токенов, так что обкатать цикл можно на бесплатной модели и только потом переезжать на дорогую.
Ниже — из чего собирается агент, какие инструменты ему давать и какие нет, как устроены права и песочница, почему длинная сессия дорожает быстрее, чем растёт число шагов, и как ловить зацикливание до того, как оно съест баланс.
Цикл, из которого всё состоит
Механика проще, чем обещает слово «агент». Вы отправляете модели задачу и описание доступных инструментов. Модель отвечает не текстом, а запросом вида «вызови инструмент search_orders с аргументом status=unpaid». Ваш код выполняет этот вызов, получает результат и отправляет его модели следующим сообщением. Модель смотрит на результат и решает: вызвать ещё что-то или сформулировать окончательный ответ.
Всё. Ни на одном шаге модель ничего не выполняет сама — она только предлагает вызов. Выполняет ваш код, и это ключевой факт для всей дальнейшей безопасности: то, чего вы не написали, агент сделать не может.
Из этой же механики следует, почему агенты ошибаются иначе, чем обычные запросы. Неверное решение на третьем шаге попадает в историю и влияет на все последующие. Ошибка не исчезает, она накапливается. Базовое определение и обзор применений — в статьях что такое ИИ-агент и ИИ-агенты для бизнеса: примеры.
Из чего собирается агент
Рабочих частей четыре, и каждая делается отдельно.
Системный промпт. Задаёт роль, границы задачи и правила остановки. Сюда же идёт главное указание, которое часто забывают: что делать, когда данных не хватает. Без него агент додумывает. Как писать такие инструкции — в статье как написать системный промпт.
Описания инструментов. Имя, назначение, параметры, ограничения. Модель выбирает инструмент по описанию, поэтому расплывчатое «работа с данными» гарантирует неверные вызовы, а точное «возвращает список заказов пользователя за период, максимум 100 записей» — нет. Механика вызова разобрана в статье function calling в API.
Цикл-исполнитель. Код, который крутит «запрос — вызов — результат» и содержит все ограничители: счётчик шагов, тайм-аут, лимит расхода, обработку ошибок инструмента.
Журнал. Запись каждого шага: что решила модель, что вернул инструмент, сколько стоило. Без журнала отладка агента превращается в гадание, потому что воспроизвести сессию по памяти невозможно. Подробнее — логирование запросов к моделям.
Какие инструменты давать, а какие нет
Набор инструментов определяет и пользу агента, и масштаб возможного ущерба. Разумный отбор строится по трём правилам.
Узкие вместо универсальных. Инструмент «выполни SQL-запрос» даёт агенту всю базу разом. Инструмент «верни заказы клиента за период» решает ту же задачу и не позволяет ничего лишнего. Узкий инструмент ещё и проще описать, а значит, модель реже промахивается с выбором.
Чтение по умолчанию, запись — осознанно. Первую версию агента полезно собрать вообще без записывающих операций: пусть он находит, сопоставляет и предлагает, а изменения вносит человек. Это даёт неделю наблюдений почти без риска.
Необратимое — через подтверждение. Удаление, отправка писем, платежи, публикация. Такие инструменты либо не даются вовсе, либо возвращают не результат, а черновик действия, который человек утверждает отдельно.
Чего давать не стоит почти никогда: произвольного выполнения команд оболочки, неограниченного доступа к файловой системе, неконтролируемого обхода внешних сайтов. Последнее особенно опасно, потому что текст на чужой странице попадает в контекст и может содержать инструкции — про это отдельный разговор в статье промпт-инъекция: как защититься.
Стандартный способ подключать наборы инструментов — протокол MCP: что такое MCP и как подключить MCP-сервер.
Права и песочница
Ограничение прав — не финальная полировка, а часть архитектуры, которую закладывают до первого запуска.
Работает это на трёх уровнях. На уровне инструмента: сам код проверяет, что запрошенная операция допустима, и отказывает независимо от того, что решила модель. На уровне учётной записи: агент ходит в базу и в сторонние сервисы под своим ограниченным доступом, а не под административным. На уровне окружения: процесс запускается в изолированном контейнере с ограниченным списком сетевых адресов и без доступа к чужим каталогам.
Третий уровень нужен именно потому, что первые два пишет человек и в них бывают ошибки. Изоляция — страховка на случай, когда проверка в инструменте оказалась дырявой. Практические побеги из плохо настроенной изоляции мы разбирали в статье побеги агентов из песочницы.
Как именно раскладывать разрешения по уровням и какие типовые наборы прав работают на практике — в отдельном разборе права агента: что разрешать. Там же про то, почему «разрешить всё и посмотреть, что будет» — самый дорогой способ узнать про свою систему что-то новое.
Почему длинная сессия дорожает нелинейно
Это главная статья расхода, и она неочевидна по устройству.
Модель не помнит предыдущие шаги — память держите вы. На каждом шаге вся история отправляется заново: системный промпт, описания инструментов, все прошлые решения модели и все результаты вызовов. На десятом шаге вы оплачиваете десятую копию системного промпта и девять копий накопленной истории.
Счёт поэтому растёт не пропорционально числу шагов, а примерно как их квадрат. Сессия из двадцати шагов стоит не вдвое дороже сессии из десяти, а примерно вчетверо. И самый тяжёлый вклад дают не решения модели, а результаты инструментов: если поиск вернул простыню в пятьдесят тысяч символов, эта простыня поедет в каждый следующий запрос до конца сессии.
Отсюда четыре приёма, которые реально режут счёт:
- Обрезать вывод инструментов. Возвращайте двадцать строк и признак «есть ещё», а не всю выборку.
- Сворачивать старые шаги. После десятого шага замените первые пять на короткий пересказ того, что уже выяснено.
- Включить кэш промптов. Системный промпт и описания инструментов не меняются между шагами — это ровно тот случай, для которого кэш и сделан: кэш промптов: как экономить.
- Ставить лимит бюджета на сессию. Не на месяц, а именно на одну сессию, с жёсткой остановкой.
Расчёт месячного счёта на реальной нагрузке — в статье сколько стоит агент в месяц, а общая механика подсчёта — в как считать токены.
Модели под агентов и цены
Для агента нужен проверенный вызов функций. Ставка одинакова на вход и на выход, указана за миллион токенов на 12 сентября 2026 года.
| Модель | ₽ за 1M токенов | Заметка |
|---|---|---|
gpt-oss-20b | 0 | бесплатная, годится для обкатки цикла |
nemotron-3-ultra | 0 | бесплатная, тяжелее предыдущей |
deepseek-v4-flash | 1 | самая дешёвая платная с проверенными вызовами |
qwen-3-6-flash | 3 | новое семейство в каталоге |
qwen-3-7-max | 3 | то же семейство, старше |
grok-build-0-1 | 5 | ориентирована на инструментальные сценарии |
gemini-3-flash | 6 | быстрая, картинки на входе тоже проверены |
gpt-5-6-luna | 8 | недорогая универсальная |
glm-5-3 | 15 | открытые веса |
grok-4-6 | 20 | для более сложных цепочек |
gpt-5-6-terra | 30 | рассуждающий режим |
gpt-6-astra | 60 | самая дорогая с проверенными вызовами |
Одна деталь по свежему семейству Qwen, приехавшему в каталог 12 сентября: у qwen-3-8-max и qwen-3-7-plus принудительный выбор инструмента в статусе unsupported. Если ваш цикл полагается на то, что модель обязана вызвать конкретную функцию, эти две позиции не подойдут — обычный вызов у них работает, а принуждение нет. Полный список позиций с проверенными вызовами — в статье какие модели поддерживают вызов функций.
Разумная схема — разные модели на разные шаги: дешёвая разбирает вывод инструмента и отсеивает мусор, дорогая принимает решения. Как это устроить — маршрутизация между моделями.
Как ловить зацикливание
Агент, попавший в цикл, не жалуется — он бодро повторяет одно и то же, пока что-нибудь его не остановит. Ловится это тремя независимыми ограничителями.
Счётчик шагов. Жёсткий потолок на сессию. Для большинства задач хватает пятнадцати-двадцати; если упёрлись — значит, задача сформулирована плохо или инструментов не хватает.
Детектор повторов. Считайте хеш пары «инструмент + аргументы». Третий одинаковый вызов подряд — признак цикла: прерывайте сессию и сообщайте модели, что этот путь не работает.
Лимит расхода. Потолок в рублях на одну сессию, проверяемый после каждого шага. Это последняя линия, которая срабатывает, даже если первые две вы настроили неудачно.
Отдельно полезно логировать причину остановки: решил сам, упёрся в шаги, поймали повтор, кончился бюджет. Распределение этих причин по сессиям — самая честная метрика качества агента. Реальный случай, когда агент остановился сам и почему это стоило заметить, разобран в статье агент остановился сам.
Чем агент отличается от чат-бота
Различие не в сложности промпта, а в том, кто определяет число шагов и кто несёт последствия.
Чат-бот получает реплику и возвращает текст. Один вход — один выход, стоимость предсказуема, худший исход — неудачный ответ, который человек прочитает и проигнорирует.
Агент получает цель и сам решает, сколько шагов сделать и какие действия совершить во внешних системах. Стоимость сессии заранее неизвестна, а худший исход — изменённые данные, отправленное письмо или удалённый файл.
Отсюда практическое следствие для проектирования: если задача решается одним запросом, не делайте агента. Извлечение данных из текста, классификация обращений, генерация описания — это чат-бот или просто запрос. Агент оправдан, когда число шагов заранее неизвестно и зависит от того, что обнаружится по дороге. Типовой случай простого сценария — чат-бот для сайта с нейросетью.
Первый агент за вечер
Порядок, который экономит неделю.
- Один инструмент, только чтение. Не три и не десять. Проверьте, что цикл крутится и модель выбирает вызов осмысленно.
- Ограничители с самого начала. Пять шагов, минута тайм-аута, лимит бюджета. Ставятся до первого запуска, а не после первого неприятного счёта.
- Бесплатная модель на обкатку.
gpt-oss-20bилиnemotron-3-ultra— цикл, формат вызовов и обработка ошибок отлаживаются на них бесплатно. - Журнал с первого запуска. Каждый шаг, каждый вызов, каждая цифра расхода.
- Второй инструмент только после того, как первый работает стабильно. И так далее.
Отдельно заложите поведение при отказе инструмента: сеть упала, сервис вернул ошибку, лимит запросов исчерпан. Агент должен получить внятное сообщение об ошибке и возможность попробовать иначе, а не молчание. Про отказы и запасные маршруты — отказы маршрута и fallback и лимиты запросов и что делать.
Чего мы не утверждаем
Мы не ранжируем модели по «агентности». Универсальной метрики нет: позиция, стабильно выбирающая правильный инструмент из трёх, может путаться при пятнадцати, и проверяется это только на вашем наборе.
Мы не обещаем, что ограничители гарантируют безопасность. Счётчик шагов и песочница снижают ущерб от ошибки, но не отменяют необходимости отдельно думать о правах и о содержимом, которое попадает в контекст извне.
Ставки и статусы — снимок каталога на 12 сентября 2026 года. Каталог растёт, статус возможности меняется по мере проверок, актуальное состояние всегда в живой выдаче списка моделей.
Что нужно, чтобы попробовать
Ключ заводится за минуту на keydealer.ru/login: почта и пароль, без документов и без зарубежной карты. Оплата российской картой в рублях, один ключ на все позиции каталога, так что переключение агента с дешёвой модели на дорогую — замена одной строки в конфиге.
Бесплатные позиции открываются после первого пополнения. Этого достаточно, чтобы собрать цикл, отладить формат вызовов и увидеть, как ведёт себя ваш ограничитель шагов, ещё до того, как в счёте появится первая заметная цифра. Про хранение самого ключа в таком проекте — как хранить API-ключи.
Что держать в голове
Агент — это цикл и ограничители вокруг него. Сложность не в промпте и не в выборе модели, а в том, чтобы решить заранее, что агенту позволено, сколько шагов он может сделать и сколько денег потратить.
Расход растёт нелинейно, потому что история переотправляется целиком на каждом шаге. Короткие сессии, обрезанный вывод инструментов, свёрнутая история и включённый кэш промптов дают экономию в разы, а не в проценты.
И начинайте с чтения. Агент, который находит и предлагает, приносит большую часть пользы почти без риска, а записывающие права добавляются позже и по одному. Как мы проверяем факты и почему у каждой цифры стоит дата — на странице о проекте. Завести ключ: keydealer.ru/login.
Частые вопросы
Что такое ИИ-агент простыми словами?
Это цикл: модель получает задачу и список доступных инструментов, решает, какой вызвать, ваш код выполняет вызов и возвращает результат обратно в модель. Цикл повторяется, пока задача не решена или пока не сработал ограничитель.
Чем агент отличается от чат-бота?
Чат-бот отвечает текстом на реплику. Агент совершает действия во внешних системах и сам решает, сколько шагов сделать. Отсюда и разница в рисках: ошибка бота — плохой ответ, ошибка агента — испорченные данные.
Какие модели подходят для агента?
Те, у которых проверен вызов функций. На 12 сентября 2026 года такие позиции есть во всех ценовых уровнях каталога, включая бесплатные — на них удобно обкатывать цикл до перехода на платную модель.
Почему длинная сессия агента дорожает нелинейно?
История переотправляется на каждом шаге целиком. Десятый шаг оплачивает в себе все девять предыдущих, поэтому счёт растёт примерно как квадрат числа шагов, а не пропорционально им.
Как поймать зацикливание агента?
Ограничителем на число шагов, детектором повторяющихся вызовов с теми же аргументами и лимитом бюджета на сессию. Без этих трёх вещей агент способен крутиться до исчерпания баланса.
Какие права давать агенту?
Минимально необходимые для задачи и по умолчанию только на чтение. Записывающие и необратимые операции стоит выносить за подтверждение человека, а всё остальное запускать в песочнице.