Как создать ИИ-агента
Команда агентов на CrewAI
Михаил Мозг6 минут чтения
CrewAI агенты работают командой: у каждого своя роль, цель и задача, а фреймворк передает результат одного следующему. CrewAI открыт по лицензии MIT, первый релиз вышел в декабре 2023 года. Ниже пример команды из исследователя, аналитика и редактора, которая готовит отчет, и шаги по документации.
Нужен разработчик
Роли и задачи
Фреймворк это каркас программы: готовые правила и код, в которые разработчик вписывает свою логику. CrewAI собирает из агентов команду (crew) и раздает им задачи.
У агента три обязательных поля: «role» (роль, например «аналитик рынка»), «goal» (цель, к которой он идет) и «backstory» (предыстория: опыт и манера работы). По ним модель понимает, как себя вести.
Остальные поля по желанию: «llm» (какая модель работает за агента), «tools» (инструменты), «max_iter» (сколько попыток у агента до итогового ответа, по умолчанию 20), «allow_delegation» (может ли агент передать работу другому, по умолчанию нет).
Еще одно полезное поле агента: «reasoning». Если его включить, агент перед задачей сначала составляет план и только потом действует. По умолчанию поле выключено.
Задача (task) описывает работу, а не исполнителя. Обязательные поля: «description» (что сделать) и «expected_output» (как выглядит готовый результат). Чем конкретнее второе поле, тем проще проверить работу.
У задачи есть поля для контроля: «context» (результаты каких задач взять за основу), «human_input» (показать итог человеку перед следующим шагом), «guardrail» (функция, которая проверяет результат; если проверка не прошла, по умолчанию до 3 повторных попыток) и «output_file» (куда сохранить итог).
Роль без задачи ничего не делает, а задача без проверяемого результата дает текст, который некому принять. Поэтому начинают с поля «expected_output»: какой документ нужен на выходе и кто его примет.
Пример команды
Соберем команду из трех агентов: исследователь собирает сведения по теме, аналитик делает выводы, редактор пишет отчет. Установка и сборка по документации CrewAI:
1. Проверьте версию Python командой python3 --version: нужен Python от 3.10 и ниже 3.14.
2. Поставьте менеджер пакетов uv, им пользуется CrewAI. На macOS и Linux: curl -LsSf https://astral.sh/uv/install.sh | sh.
3. Поставьте сам CrewAI: uv tool install crewai. Проверка: команда uv tool list, в списке должен быть crewai.
4. Создайте проект: crewai create crew otchet. Появится папка с файлом crew.jsonc (настройки команды и порядок задач), папкой agents (по файлу на агента), файлом .env (ключи и переменные), папками knowledge (файлы знаний) и tools (свои инструменты).
5. В папке agents создайте три файла: researcher.jsonc, analyst.jsonc и editor.jsonc. В каждом заполните «role», «goal» и «backstory». Например, цель редактора: «написать отчет на две страницы для руководителя, без жаргона».
6. В crew.jsonc перечислите трех агентов в массиве «agents», а в массиве «tasks» опишите три задачи: собрать сведения, сделать выводы, написать отчет. Тему отчета вынесите в подстановку в фигурных скобках, а значение по умолчанию задайте в разделе «inputs».
7. Установите зависимости проекта командой crewai install и запустите команду: crewai run. Если значения подстановки нет в «inputs», программа спросит его при запуске.
Так задачи команды могут выглядеть по сути, без синтаксиса файла:
Задача исследователя. Описание: найти открытые сведения по теме за последний год. Ожидаемый результат: список из 10 фактов, у каждого источник со ссылкой и датой.
Задача аналитика. Описание: по списку фактов сделать выводы для руководителя. Ожидаемый результат: 3 вывода, к каждому факты, на которых он стоит, и степень уверенности.
Задача редактора. Описание: написать отчет по выводам. Ожидаемый результат: текст на две страницы, без жаргона, в конце список источников. Поле «output_file» сохранит отчет в файл.
Обратите внимание: каждый ожидаемый результат можно проверить глазами за минуту. Если проверить нельзя, агент тоже не поймет, когда задача решена.
Чтобы данные не уходили во внешние сервисы, агентам дают открытую модель через Ollama. По документации CrewAI: установите Ollama, запустите модель, в описании модели (класс LLM) укажите ее имя с префиксом «ollama/» и адрес http://localhost:11434, затем добавьте зависимость командой uv add 'crewai[litellm]'.
Ключи внешних сервисов храните в файле .env, а не в тексте агентов: так советует документация, и так ключ не попадет в общий доступ вместе с проектом.
Порядок работы
Порядок работы команды CrewAI называет процессом (process). Процессов два, и выбирают их при создании команды.
Последовательный (sequential): задачи идут в порядке списка, результат каждой становится контекстом для следующей. Для отчета это естественный выбор: исследователь, потом аналитик, потом редактор.
Иерархический (hierarchical): задачи заранее не распределены. Агент-менеджер планирует работу, раздает задачи по способностям агентов, проверяет результаты и решает, готово ли. Для этого в команде задают модель менеджера («manager_llm») или своего агента-менеджера («manager_agent»).
Если аналитику нужен не только результат предыдущей задачи, укажите в его задаче поле «context» со списком задач, на которые он опирается. Так редактор может видеть и сведения исследователя, и выводы аналитика.
Начинайте с последовательного процесса. Его ход известен заранее, ошибку легко найти по шагу. Иерархический процесс добавляет участника, который сам тратит вызовы модели и сам может ошибиться в распределении работы.
Включите у агентов поле «verbose»: в подробном журнале видно, что делал каждый агент и на каком шаге команда ушла не туда. Как устроены команды агентов в целом и когда они нужны, разобрано в статье о мультиагентных системах.
Где это ломается
Gartner 25 июня 2025 года спрогнозировал, что больше 40% проектов агентного ИИ закроют к концу 2027 года из-за затрат, неясной пользы и слабого контроля рисков. Команда агентов попадает во все три риска сразу.
Затраты. Каждый агент вызывает модель несколько раз, и у каждого по умолчанию до 20 попыток. Три агента на одной задаче тратят в разы больше вызовов, чем один. Ограничьте «max_iter» и «max_execution_time» (время на задачу в секундах).
Ошибки передаются по цепочке. Если исследователь принес неверную цифру, аналитик сделает на ней вывод, а редактор аккуратно его оформит. Ставьте «guardrail» на задачи с цифрами и «human_input» перед итоговым отчетом.
Размытые роли. Если у двух агентов похожие цели, они дублируют работу. Разделяйте команду по результату: каждая задача дает свой документ, который можно проверить отдельно.
Делегирование. С включенным «allow_delegation» агенты передают работу друг другу, и ход процесса труднее предсказать. По умолчанию оно выключено, включайте его, только когда без этого задача не решается.
Проверку команды начинайте с тем, где вы заранее знаете правильный ответ: 5-10 штук хватит, чтобы увидеть, на каком агенте теряется качество. Делайте это до того, как отчеты уйдут руководителю, и повторяйте после каждой смены модели или инструкции. Как собрать такой набор проверок, описано на странице о тестировании агента.
Там же у Gartner: из тысяч поставщиков «агентов» настоящих около 130, остальные переименовали чат-боты и RPA, то есть программы-роботы, которые повторяют действия человека в интерфейсе. Команда из трех агентов на CrewAI собирается из открытых блоков. Если за нее просят как за уникальную разработку, спросите, из чего цена.
Часто задачу решает один агент с инструментами, собранный в коде без команды. Команду стоит собирать, когда у ролей действительно разные инструменты и разные проверки.
Источники и даты
Собрать просто. Решить, что собирать, сложнее
Команду из трех агентов на CrewAI разработчик соберет по документации без больших затрат. Сложнее решить, какой процесс в компании отдать команде агентов и кто будет принимать ее результат. Это решают до сборки, иначе команда агентов останется демонстрацией.
ИИ-департамент для крупной компании
Когда команд агентов становится несколько и они работают в разных отделах, нужны люди и правила, которые решают, что строить и как это проверять.

Контакты
Разберем, нужна ли вам команда агентов
Разбор 30 минут бесплатно в Telegram: найдем процесс, где команда агентов окупится.