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

Собрать «своего AI-агента» сейчас можно за вечер: берёте модель через API, даёте ей список инструментов, зацикливаете вызовы — и вот программа сама читает почту, дёргает CRM и что-то отвечает. Проблема в том, что демо на пять минут и рабочий агент на боевых данных — это два разных проекта. Первый радует на видео, второй молча тратит токены, зацикливается на одном инструменте и однажды удаляет то, что удалять было нельзя. Ниже — что стоит понять до того, как вы напишете первую строчку кода.
Чем агент отличается от обычного бота
Обычная интеграция с языковой моделью работает по схеме «вопрос — ответ»: вы шлёте текст, получаете текст. Агент отличается одним — он может вызывать инструменты и действовать по результату, а потом решать, что делать дальше. Модель не просто пишет «нужно проверить остаток на складе», а возвращает структурированный вызов функции get_stock(sku), ваш код его исполняет, отдаёт результат обратно — и цикл повторяется, пока задача не закрыта.
Из этого цикла и растут все сложности. Модель сама решает, сколько шагов сделать, какой инструмент выбрать и когда остановиться. Если не поставить ограничитель, агент способен крутиться в цикле десятки раз, сжигая контекст и деньги на каждом обороте.
Агент — это не «умный чат-бот», а автономный цикл принятия решений с доступом к вашим системам. Права, которые вы ему выдали, он использует буквально.
Из чего он собирается
Минимальный агент — это четыре части, и ни одну нельзя пропустить:
- Модель. То, что генерирует рассуждения и вызовы. GPT, Claude, Gemini, или открытые модели вроде Llama и Qwen, если данные нельзя выпускать наружу.
- Инструменты (tools). Функции, которые агент может вызвать: поиск по базе, запрос к API, отправка письма. Каждый инструмент вы описываете сами — имя, параметры, что делает.
- Оркестратор. Код, который крутит цикл «модель → вызов → результат → модель», следит за лимитом шагов и обрабатывает ошибки инструментов.
- Память и контекст. То, что агент помнит между шагами и между сессиями. От простого списка сообщений до внешнего хранилища с извлечением по запросу.
Писать оркестратор с нуля не обязательно. Готовые фреймворки — LangGraph, LlamaIndex, CrewAI, AutoGen — берут на себя цикл, историю и обвязку вокруг вызова инструментов. У крупных провайдеров есть и родные механизмы: function calling в OpenAI, tool use у Anthropic. Но фреймворк не спасёт от плохо описанных инструментов и отсутствия ограничителей — это по-прежнему ваша работа.
Где именно ломается первый проект
Типичные грабли, на которые наступают почти все:
- Нет лимита шагов. Агент зацикливается на одном инструменте и не выходит из петли. Ставьте жёсткий максимум итераций.
- Инструменты описаны туманно. Модель выбирает не тот инструмент или подставляет мусор в параметры. Описание функции — это тоже промпт, пишите его так же тщательно.
- Полный доступ на запись. Агент с правами удалять и менять данные на проде — это инцидент, который ждёт своего часа. Начинайте с прав только на чтение.
- Никакого логирования. Когда агент сделал не то, вы должны видеть всю цепочку его решений, иначе отлаживать нечего.
Что выбрать под задачу
Инструментов много, и все обещают «агентов из коробки». Разница — в том, сколько кода вы пишете сами и насколько контролируете логику. Грубое сравнение подходов:
| Подход | Кому подходит | Плюс | Минус |
|---|---|---|---|
| Родной function calling (OpenAI / Anthropic API) | Один-два инструмента, простой цикл | Меньше зависимостей, полный контроль | Оркестрацию пишете сами |
| Фреймворк (LangGraph, LlamaIndex) | Сложные ветвления, несколько шагов | Готовый цикл, память, отладка | Кривая обучения, лишние абстракции |
| Мультиагентный (CrewAI, AutoGen) | Задачи с ролями: «исследователь + писатель» | Разделение ответственности | Дороже по токенам, сложнее отлаживать |
| No-code платформы | Прототип без разработчика | Быстрый старт | Потолок по гибкости и приватности данных |
Конкретные возможности и цены API у провайдеров меняются регулярно — актуальные тарифы на токены и лимиты сверяйте на официальных страницах OpenAI, Anthropic и Google, а не по чужим скриншотам полугодовой давности.
Сколько это стоит на самом деле
Главная неожиданность первого проекта — счёт за токены. Агент платит не за один запрос, а за каждый оборот цикла, и вся история разговора уходит в модель заново на каждом шаге. Задача в десять шагов — это десять оплаченных запросов, где последний тащит весь накопленный контекст. Отсюда практические выводы:
- Ставьте лимит шагов и лимит бюджета на одну задачу — жёстко, в коде.
- Не грузите в контекст всё подряд. Чем длиннее контекстное окно* вы заполняете, тем дороже и медленнее каждый шаг.
- Для простых подзадач берите модель подешевле, дорогую оставьте для рассуждений. Не всякий шаг требует флагманской модели.
- Кэшируйте то, что не меняется: системный промпт, описания инструментов, справочные данные.
* Контекстное окно — максимальный объём текста (в токенах), который модель удерживает за один запрос: и ваш ввод, и история диалога, и ответ. Всё, что в него не влезло, модель «не видит».
Кому это пригодится, а кому нет
Агент оправдан там, где задача многошаговая, требует обращения к внешним системам и допускает автономность. Он лишний там, где хватает одного запроса к модели или где цена ошибки слишком высока.
Стоит браться, если вы делаете:
- ассистента поддержки, который сам ищет ответ в базе знаний и заводит тикет;
- агента-исследователя: собрать данные из нескольких источников и свести в отчёт;
- помощника разработчика, который читает репозиторий и предлагает правки под ревью человека.
Не связывайтесь, если:
- задача решается одним запросом «текст на входе — текст на выходе» — агент здесь только добавит стоимости и точек отказа;
- цена ошибки высокая, а надзора человека не будет: платежи, необратимые операции с данными, юридически значимые действия;
- вам нужен строго детерминированный результат — агент по природе вероятностный, один и тот же ввод может дать разные цепочки.
Начните с малого: один-два инструмента, только чтение, жёсткий лимит шагов и полное логирование каждого решения. Когда такой агент стабильно закрывает узкую задачу, расширять его безопасно. Обратный путь — сразу дать автономному циклу доступ на запись в прод — почти гарантированно приведёт к разбору того самого лога, который вы, возможно, не завели.
Prompt-инженер: Идеальные запросы для Midjourney, ChatGPT и других моделей.
Спросить за 15 ₽Источники: OpenAI — Function calling (документация), Anthropic — Tool use (документация)
Частые вопросы
Нужно ли уметь программировать, чтобы собрать агента?
Какую модель выбрать для первого агента?
Можно ли запустить агента полностью локально, без облака?
Как не разориться на токенах?
Что делать, если агент делает не то, что нужно?
Опасно ли давать агенту доступ к рабочим системам?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.