Сибирь AI

Как создать ИИ-агента: порядок шагов

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

Обновлено . Текст подготовил ООО «ФИИ», источники в конце страницы.

Шаг 1. Проверьте, нужен ли агент

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

Anthropic разделяет два вида систем. Если порядок шагов задан кодом, это workflow, сценарий. Если порядок шагов и выбор инструментов определяет сама модель, это агент. Та же компания советует искать самое простое решение и усложнять только при необходимости, вплоть до отказа от агента вовсе.

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

Практический тест: выпишите шаги задачи. Если список получился и он не меняется от случая к случаю, стройте сценарий. Агент нужен там, где список заранее не пишется.

Шаг 2. Опишите задачу, роль и условие остановки

В OpenAI Agents SDK агент задается именем, инструкцией и, при желании, конкретной моделью. В LangChain то же самое называется системным промптом: он задает роль и поведение агента, и документация просит писать его конкретно и по делу. Как формулировать такие инструкции, разобрано на странице о промпте для нейросети.

В инструкцию стоит записать три вещи.

  • Цель и границы: что агент делает и чего не делает.
  • Условие завершения: как агент понимает, что задача решена.
  • Что делать при неясности: спросить человека, а не угадывать.

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

Шаг 3. Выберите модель: облако или локальная

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

Модель не обязана быть облачной. В примерах LangChain среди поставщиков есть Ollama с пометкой, что для локального варианта Ollama должна быть запущена. Как поставить ее, описано на странице об Ollama, а общая картина локального запуска, память и квантование, на странице о локальной нейросети. Для пробы в окне подойдет и LM Studio: у нее есть сервер, совместимый с клиентами OpenAI.

Выбор влияет на цену и на данные. Облачная модель считает каждый вызов в токенах, и описания инструментов входят в счет. Локальная модель ничего не отправляет наружу, но слабее и требует памяти.

Шаг 4. Опишите инструменты

Инструмент это функция, которую модель может попросить вызвать: поиск, запрос к базе, отправка письма. У Anthropic это называется tool use, или вызов функций. Модель решает, когда вызвать инструмент, по запросу пользователя и по описанию инструмента, и возвращает структурированный вызов. Выполняет его ваше приложение и отправляет результат обратно.

Во всех трех библиотеках описание инструмента состоит из одного и того же: имя, текст описания и схема входных параметров. В OpenAI Agents SDK и LangChain описание берется из докстринга функции, а схема из ее аргументов и аннотаций типов. LangChain предупреждает: имя, описание и названия аргументов попадают в промпт модели, поэтому их нужно писать как документацию.

Советы Anthropic из двух статей об инструментах:

  • Поставьте себя на место модели: очевидно ли по описанию и параметрам, как пользоваться инструментом.
  • Хорошее описание включает пример вызова, крайние случаи, формат входа и границы с соседними инструментами.
  • Меняйте аргументы так, чтобы ошибиться было труднее. Для своего агента по задачам из SWE-bench Anthropic потратила на инструменты больше времени, чем на весь промпт.
  • Больше инструментов не значит лучше. Если инструменты пересекаются по смыслу или их назначение размыто, агент путается, какой выбрать. Начинайте с нескольких инструментов под самые важные сценарии.
  • Ошибку инструмента возвращайте словами, что именно исправить, а не кодом ошибки или трассировкой.

Еще одна деталь из документации Anthropic: если в запросе не хватает данных для обязательного параметра, модель может подставить значение сама. Значит, обязательные параметры лучше проверять кодом, а не надеяться на модель. Если инструментов много и они нужны нескольким приложениям, их удобно вынести на MCP-сервер.

Шаг 5. Соберите цикл

В документации Anthropic и OpenAI цикл агента описан одинаково. Модель получает задачу вместе с системным промптом, описаниями инструментов и историей разговора. Она отвечает текстом, запросом на вызов инструментов или тем и другим. Программа выполняет каждый запрошенный вызов и возвращает результаты модели, а модель решает, что делать дальше. Один такой круг Anthropic называет ходом, turn. Цикл кончается, когда модель отвечает без вызова инструментов. В OpenAI Agents SDK это ответ, который признан окончательным. Чередование рассуждения и действий описала еще в 2022 году статья ReAct.

Ответ без вызовов это естественная остановка, но рассчитывать только на нее не стоит. В Agent SDK у Anthropic есть ограничения на число ходов и на расход, и по умолчанию оба сняты. Документация предупреждает, что без ограничений цикл на открытой задаче может идти долго, и называет бюджет хорошей настройкой по умолчанию для рабочих агентов. В OpenAI Agents SDK при превышении max_turns запуск прерывается исключением. Это то же условие остановки, о котором писала статья Anthropic 2024 года: например, максимальное число итераций.

На каждом шаге агенту нужна правда от среды, результат вызова или выполненного кода, а не его собственное предположение. Поэтому результат инструмента возвращается в цикл, даже если это ошибка или отказ. В Agent SDK запрещенный вызов приходит модели как сообщение об отказе на месте результата, и она обычно пробует другой путь или сообщает, что продолжить не может. В Managed Agents упавшая песочница тоже возвращается модели как ошибка вызова инструмента. Anthropic описывает цикл агента как сбор контекста, действие, проверку работы и повтор, и советует давать агенту явные правила для результата с объяснением, какое правило нарушено и почему. Для кода такую проверку дает линтер.

Цикл можно написать самому или взять готовый. Anthropic сравнивает свои средства так.

  • Прямые вызовы API. Цикл вы пишете сами или отдаете его tool runner клиентской библиотеки, он в бета-версии. Этот путь Anthropic называет вариантом для своего цикла и тонкого контроля.
  • Agent SDK. Библиотека для Python и TypeScript с тем же циклом, инструментами и управлением контекстом, что у Claude Code. Работает в процессе, которым управляете вы.
  • Managed Agents. Цикл, выполнение инструментов и среду ведет Anthropic, сессии идут в облачной песочнице Anthropic или в песочнице на вашей инфраструктуре. Сервис в бета-версии.

Готовый цикл есть и у других: в OpenAI Agents SDK его ведет Runner, который сам выполняет вызовы инструментов и передачи между агентами, в LangChain create_agent. Но готовый цикл подходит не всегда. В документации tool runner сказано: если нужно подтверждение человека, свое журналирование или выполнение по условию, пишите цикл вручную. В Agent SDK для этого есть hooks, перехватчики, которые могут изменить или заблокировать вызов инструмента до выполнения.

Что осталось в силе из статьи Anthropic 2024 года. Сама Anthropic пометила ее: набор инструментов для агентов с декабря 2024 года сильно изменился. Но устройство цикла в новых материалах то же. В статье о контексте 2025 года Anthropic ссылается на ту статью и определяет агента как модель, которая сама вызывает инструменты в цикле, и пишет, что отрасль сходится на этой схеме. Условие остановки осталось, теперь это настройки ограничений. Совет начинать с прямых вызовов API не отменен: прямой доступ к модели по-прежнему предлагается для своего цикла. Меняется обвязка вокруг цикла. В статье о Managed Agents 2026 года Anthropic пишет, что обвязка закрепляет предположения, которые устаревают по мере роста моделей.

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

Шаг 6. Ограничьте права и добавьте подтверждение человека

Агент читает письма, сайты и файлы, и в них может лежать чужая инструкция. Что из этого следует, разобрано в разделе о рисках на странице об ИИ-агентах. Здесь только то, что делается кодом.

  • Минимум прав. Инструмент получает доступ только к тому, что нужно для задачи. Удаление, отправка и платежи либо не доступны агенту, либо требуют подтверждения.
  • Подтверждение человека. В LangChain это готовый слой: когда модель предлагает действие, требующее проверки, например запись в файл или выполнение SQL, выполнение ставится на паузу. Человек может одобрить действие, изменить его аргументы или отклонить с пояснением. Для паузы нужен чекпоинтер, который хранит состояние.
  • Проверки на входе и выходе. В OpenAI Agents SDK это guardrails: проверки пользовательского ввода и ответа агента. Если проверка видит злоупотребление, она сразу останавливает запуск, не тратя время и деньги на основную модель.
  • Песочница. Anthropic рекомендует обширное тестирование в изолированной среде с подходящими ограничителями до того, как агент получит настоящие данные.

Шаг 7. Испытайте и измерьте

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

Что считать: долю задач, решенных верно, число шагов на задачу, число вызовов инструментов и ошибок, расход токенов. Если после правки одно из чисел выросло, а другое упало, правка не улучшение, а размен, и его нужно решать осознанно.

Когда одного агента мало

Anthropic описывает несколько составных схем, и большинство из них не агенты, а сценарии с моделью внутри.

  • Цепочка промптов. Задача делится на шаги, каждый вызов модели обрабатывает результат предыдущего.
  • Маршрутизация. Первый вызов классифицирует запрос и направляет его специализированной ветке.
  • Оркестратор и исполнители. Центральная модель разбивает задачу на части, раздает их моделям-исполнителям и собирает результат.
  • Оценщик и улучшатель. Одна модель отвечает, другая оценивает и дает замечания по кругу.

OpenAI Agents SDK предлагает два способа связать несколько агентов. Передача: специалист перенимает разговор на эту часть хода. Агент как инструмент: оркестратор сохраняет управление и вызывает специалистов как инструменты. Выбор зависит от того, кто должен отвечать за итоговый ответ.

Сколько это стоит

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

У нас

Конструктора агентов у нас нет. Есть три вещи, которые пригодятся на шагах 3 и 4.

  • Сибирь.ИИ строит русскоязычные языковые модели с нуля, наибольшая обученная модель 1 млрд параметров. При обучении и выводе программа не обращается к внешним службам, наборы и контрольные точки хранятся у пользователя. Корпоративная лицензия предусматривает развертывание в инфраструктуре лицензиата, нужен ускоритель NVIDIA с CUDA от 12 ГБ видеопамяти.
  • Сибирь.Диалог включает справочного помощника по базе знаний организации: поиск по загруженным документам и ответ с указанием источников. Данные эксплуатанта размещаются в его инфраструктуре. Среди интеграций коннекторы к 1С.
  • Генерация текста бесплатно и без регистрации: отвечают открытые модели Qwen в нашем дата-центре в Новосибирске, ни один шаг не обращается наружу. Модель ошибается в фактах, проверяйте даты и цифры. Служба может быть временно на обслуживании, тогда ответа не будет.

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

Можно ли создать ИИ-агента без программирования

Конструкторы есть, но на этой странице их нет: она про устройство. Без кода не обойтись там, где агент должен вызывать ваши системы: инструмент это функция, которую кто-то должен написать.

Какую библиотеку выбрать для ИИ-агента

Anthropic различает три пути: прямые вызовы API со своим циклом, библиотеку Agent SDK с готовым циклом и Managed Agents, где цикл и песочницу ведет Anthropic. Готовые циклы есть и в OpenAI Agents SDK и LangChain. Если нужно подтверждение человека перед вызовом инструмента, документация tool runner советует писать цикл вручную, а в Agent SDK для этого есть hooks. Без замера на своих задачах выбор между ними не решить.

Можно ли сделать агента на локальной модели

Да. LangChain среди поставщиков моделей называет Ollama, у LM Studio есть сервер, совместимый с клиентами OpenAI. Локальная модель слабее облачной и требует памяти, но данные не покидают машину.

Как не дать агенту удалить лишнее

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

Сколько стоит создать ИИ-агента

Готовой цифры нет. Облачная модель берет плату за токены, и описания инструментов отправляются с каждым запросом, а агент делает много запросов. Поэтому сначала стоит проверить, не хватит ли сценария без агента.