Как создать многагентную систему с помощью CrewAI в 2026 году
TL;DR
Полезная система CrewAI начинается с границ задач, а не персоналий агентов. Дайте каждому агенту разные входные данные, инструменты, ожидаемые результаты и условия неудачи.
Используйте Crew для открытого сотрудничества и Flow для детерминированного управления приложением. Большинство производственных систем нуждаются в Flow вокруг одной или нескольких небольших Crew.
Минимальный рабочий шаблон — Агент → Задача → Crew → запуск. Начните с последовательного выполнения, чтобы выходные данные и неудачи было легко проверить.
Не давайте каждому агенту каждый инструмент. Доступ к инструментам с минимальными привилегиями снижает стоимость, экспозицию инъекций и трудные для отладки побочные эффекты.
Добавьте структурированные выходные данные, ограничительные меры, трассировки и человеческое одобрение перед масштабированием команды. Большое количество агентов увеличивает накладные расходы на координацию и не гарантирует лучшего ответа.
Для веб-исследовательских команд отделите получение данных от рассуждений. Nstproxy Crawl может подготовить ограниченный контент сайта, в то время как агенты CrewAI его анализируют и представляют отчеты.
Что вы строите с CrewAI?
Мультиагентная система CrewAI — это набор агентов с определенными ролями, назначенных для выполнения задач в рамках определенного процесса. Crew координирует этих агентов и задачи; Flow может обернуть команду, когда окружающее приложение нуждается в явном состоянии, ветвлении, неизменности или восстановлении. Если агентам нужны утвержденные доказательства с сайта, Nstproxy Crawl может предоставить уровень получения, вместо того чтобы разрешать каждому агенту просматривать без границ.
Руководство по концепциям CrewAI различает автономные Crew и управляемые событиями Flow. Это важно, потому что многие учебные материалы моделируют фиксированный бизнес-процесс как разговор между агентами. На практике детерминированный код должен решать, когда начинается работа, какое состояние является допустимым и требуется ли одобрение; агенты должны обрабатывать те части, которые действительно нуждаются в интерпретации.
Попробуйте Nstproxy - Начните бесплатный тест сегодня
Этот учебник создает небольшую последовательную исследовательскую команду из двух агентов:
Исследователь превращает предоставленный исходный материал в краткое изложение доказательств.
Редактор преобразует это краткое изложение в меморандум о решении и должен сохранять неопределенности.
В примере намеренно избегаются инструменты для реального просмотра. Веб-инструмент можно добавить позже, после тестирования его политики домена, контракта на выходные данные и поведения ошибок.
Почему проектирование задач важнее, чем количество агентов
Агент должен существовать только тогда, когда у него есть другая ответственность, контекст или граница инструментов. Разделение «исследование», «анализ» и «письмо» между тремя агентами полезно, если каждый из них производит проверяемый артефакт. Это нецелесообразно, если все трое получают один и тот же большой запрос и повторяют один и тот же поиск.
Краткий меморандум с указанными утверждениями и открытыми вопросами
Условие неудачи
Отсутствие поддержки или недоступный источник
Необоснованное утверждение или скрытая неопределенность
Человеческий контроль
Политика источника
Окончательная публикация или бизнес-действие
Этот дизайн напоминает надежный агентский каркас: роли менее важны, чем разрешения, состояние, трассировки и проверки приема.
Предварительные условия и создание проекта
Используйте версию Python, поддерживаемую CrewAI, учетные данные поставщика модели, хранящиеся вне контроля версий, и текущий путь установки на базе uv. Главная документация CrewAI ссылается на поддерживаемые страницы установки и быстрого доступа; следуйте этим страницам для текущего диапазона совместимости Python и команд CLI, а не полагайтесь на старый урок по pip.
После установки создайте проект с помощью CLI CrewAI и проверьте сгенерированную структуру. Стандартный проект отделяет YAML-конфигурацию для агентов и задач от кода сборки на Python. Храните секреты в переменных окружения или в утвержденном менеджере секретов, никогда не в YAML, зафиксированном в Git.
Сгенерированная структура полезна, потому что изменения в запросах легко отслеживать:
Самая маленькая обучающая реализация сохраняет определения в одном файле. Это делает поток данных видимым, прежде чем команда введет декораторы, YAML, пользовательские инструменты или Flows.
Шаг 1: Определите двух агентов
Создайте crew_demo.py со следующим кодом. Имя модели передается через переменную окружения, чтобы пример не замораживал идентификатор, который может быть снят с эксплуатации.
import os
from crewai import Agent, Crew, Process, Task
model_name = os.environ["CREWAI_MODEL"]researcher = Agent( role="Исследователь доказательств",```python
goal="Создать отслеживаемое досье с доказательствами по запрашиваемой теме", backstory="Вы разделяете поддерживаемые утверждения, конфликты и неизвестное.", llm=model_name, allow_delegation=False, verbose=True,)editor = Agent( role="Редактор мемо-решений", goal="Превратить досье с доказательствами в краткую, обоснованную рекомендацию", backstory="Вы сохраняете ссылки и никогда не скрываете неопределенность.", llm=model_name, allow_delegation=False, verbose=True,)
role, goal, and backstory влияют на поведение, но важные параметры — это модель, доступные инструменты и настройки делегирования. Начните с отключенной делегации. Неограниченная делегация между агентами затрудняет предсказание использования токенов и завершения.
Шаг 2: определить результаты перед инструкциями
Добавьте две задачи. Вторая задача ссылается на первую через context, что делает зависимость явной.
research_task = Task( description=("Исследовать {topic} с использованием только предоставленного исходного пакета в {source_path}. ""Составьте список поддерживаемых утверждений, цитат, противоречий и неизвестных."), expected_output=("Досье с доказательствами в формате Markdown с разделами для утверждений, источников, ""конфликтов и неотвеченных вопросов."), agent=researcher,)memo_task = Task( description=("Создайте мемо-решение из досье с доказательствами. Сохраняйте ссылки на источники, ""уточняйте неопределенность и рекомендуйте следующий тест."), expected_output=("Мемо в формате Markdown, содержащее рекомендацию, доказательства, риски, ""неизвестное и следующее действие."), agent=editor, context=[research_task],)
expected_output является целью для принятия, а не гарантией. Производственный код должен проверять требуемые разделы или использовать структурированный результат Pydantic, где задача это поддерживает.
Шаг 3: собрать и запустить команду
Добавьте команду и вызов запуска:
crew = Crew( agents=[researcher, editor], tasks=[research_task, memo_task], process=Process.sequential, verbose=True,)result = crew.kickoff( inputs={"topic":"Нужно ли принять новую модель извлечения","source_path":"data/approved-sources.md",})print(result.raw)
Запустите его только после настройки селектора модели и учетных данных, требуемых этим поставщиком. Код этой статьи был проверен на синтаксис, но реальный запуск требует поддерживаемой среды Python, пакета CrewAI, учетной записи поставщика и настоящего исходного пакета. Эти внешние требования не могут быть проверены статической сборкой статьи.
Метод 2: переместить стабильную команду в YAML и аннотации
Как только прототип будет работать, переместите длинные описания ролей и задач в config/agents.yaml и config/tasks.yaml. Затем соберите их в crew.py с помощью @CrewBase, @agent, @task и @crew. Руководство по аннотациям CrewAI объясняет, что ключи конфигурации и декорированные имена методов должны соответствовать.
Эта структура лучше подходит для проверки, потому что изменения в запросах не смешиваются с изменениями в оркестрации. Это также упрощает выбор модели, специфичной для окружения. Соблюдайте три правила:
Дайте ключам конфигурации стабильные названия; переименование только одной стороны разрушает отображение.
Сохраняйте создание инструментов на Python, где можно применять учетные данные и белые списки.
Протестируйте финальный порядок собранных задач; порядок объявления и зависимости контекста могут производить различное поведение.
Дайте вашей команде контролируемый уровень доказательств
Используйте Nstproxy Crawl для подготовки ограниченного содержимого веб-сайта, пока агенты CrewAI сосредоточены на анализе, верификации и отчетности.
Добавляйте веб-данные, не давая агентам неограниченный доступ к браузеру
Исследовательской команде нужны свежие доказательства, но прямой доступ к просмотру страниц не является единственной архитектурой. Более безопасным подходом является предварительное получение одобренных страниц, сохранение происхождения и предоставление доступа только для чтения исследователю. Nstproxy Crawl может ограничивать сбор по глубине сайта, количеству страниц и правилам маршрутизации, обрабатывать JavaScript и возвращать выбранные выводы, такие как Markdown, HTML, JSON, ссылки или PDF.
Определенная работа проверяет целевые домены на соответствие политике.
Паутина собирает авторизованные страницы и записывает URL и время доступа.
Парсер сохраняет чистый контент и метаданные в хранилище доказательств.
Исследовательский агент получает доступ только для чтения к этому хранилищу.
Редактор видит краткое содержание доказательств, а не необработанные инструкции по просмотру.
Это та же граница, используемая во многих проектах AI-агентов: инструменты получают или преобразуют данные, в то время как агент решает, как их использовать. Ознакомьтесь с руководством по веб-индексу перед добавлением встраиваний, чтобы сначала определить идентичность документа, свежесть и дедупликацию.
Когда окружать команду в поток
Используйте поток, когда выполнение должно ветвиться, приостанавливаться, возобновляться или обновлять долговечное состояние. Примеры включают маршрутизацию меморандумов с низкой степенью уверенности на проверку, переоценку неудачного шага получения и остановку работы после нарушения политики. Документация CrewAI Flows описывает шаги, основывающиеся на событиях, состояние, маршрутизацию и постоянство.
Разумная граница производства:
Flow проверяет запрос и политику источника.
Flow начинает работу по приобретению и обрабатывает повторяемые сбои.
Небольшая команда анализирует полученные доказательства.
Детерминированная проверка валидирует вывод команды.
Flow запрашивает одобрение человека перед публикацией или осуществлением внешнего действия.
Не используйте агента, чтобы решить, прошел ли его собственный вывод проверку. Структурные проверки, правила допустимых доменов, обязательные цитаты и максимальные бюджеты запуска должны находиться в детерминированном коде.
Протестируйте систему перед добавлением большего количества агентов
Оценка должна измерять всю задачу, а не то, насколько убедительно звучит транскрипт. Создайте небольшой тестовый набор с ожидаемыми доказательствами и известными случаями отказов, затем отслеживайте:
коэффициент поддержки и действительность цитат;
недостающие или противоречивые доказательства;
действительность структурированного вывода;
вызовы инструментов за пределами предусмотренного объема;
общее использование модели и инструментов на каждую завершенную записку;
повторы, истечение времени и причины отказа человека.
Проверьте враждебный текст источника, который говорит агенту игнорировать свою задачу, неправильные ответы инструментов, пустую выборку и дублированные документы. Если версия с двумя агентами не может последовательно пройти эти случаи, агент-менеджер или большая команда добавят больше путей отказа, а не решат недостаток дизайна.
Политика автоматизированного сбора данных также должна определять срок хранения, интервалы обновления, права доступа и удаление. Технический доступ к странице сам по себе не устанавливает разрешение на сбор или повторное использование.
Окончательный вердикт: начните с одной явной передачи
Чтобы создать многогрупповую систему с CrewAI, начните с двух агентов, двух наблюдаемых выходов задач и последовательного процесса. Переместите детерминированную проверку и контроль жизненного цикла в Flow, предоставьте каждому агенту только необходимые инструменты и добавляйте агентов только тогда, когда новая роль создает реальный контекст или границу разрешений.
Следующий шаг — запустить минимальную команду против небольшого утвержденного пакета доказательств, сохранить ее след и написать утверждения о сбоях перед подключением рабочих инструментов. Для исследований, поддерживаемых веб-сайтами, Nstproxy Crawl может предоставить ограниченные, повторно используемые исходные материалы, пока команда сосредоточена на анализе.
Подготовьте отслеживаемые веб-доказательства для вашей системы CrewAI
Используйте Nstproxy Crawl, чтобы превратить авторизованные сайты в контролируемые исходные артефакты для получения, оценки и цитирования вместо того, чтобы предоставлять каждому агенту независимый доступ к браузеру.
CrewAI — это фреймворк на Python для создания агентов, основанных на ролях, задачах, командах и событийных потоках. Команды поддерживают автономное сотрудничество, в то время как потоки обеспечивают более явный контроль приложения.
Q: Сколько агентов следует использовать в первом проекте CrewAI?
Двух агентов обычно достаточно для первого проекта, когда у них есть значимая передача, такая как исследователь к рецензенту. Добавьте другого агента только в том случае, если ему нужен отдельный контекст, инструменты, разрешения или критерии оценки.
Q: Должен ли процесс CrewAI быть последовательным или иерархическим?
Начинайте последовательно, когда порядок задач известен, так как это легче отслеживать и тестировать. Рассматривайте иерархическую координацию только тогда, когда динамическое делегирование дает измеримые выгоды, которые оправдывают дополнительные вызовы модели и способы отказа.
Q: Может ли CrewAI просматривать интернет?
Агенты CrewAI могут использовать веб-инструменты, когда эти инструменты настроены, но доступ должен быть ограничен доменом, в режиме только для чтения, где это возможно, и защищен от недоверенных инструкций. Отдельный уровень приобретения может предложить более строгий контроль.
Глубокие исследовательские продукты не все решают одну и ту же задачу. Этот гид отделяет управляемый веб-поиск от автономного синтеза и выбирает пять вариантов по случаям использования в производстве.
Lena Zhou
Sep. 2nd 2026
110M+ реальных IP с 99.9% успешных доступов
Средний отклик ~0.5с для задач высокой конкуренции
Всего от $0.1/GB
Мгновенный доступ к премиальным residential, datacenter, IPv6 и ISP пулам.