CrewAI: как пользоваться интеграцией в AI Flowi Workflow
Чтобы пользоваться CrewAI в AI Flowi Workflow, настройте компоненты для определения агентов, описания задач и создания групп. В каталоге описаны шесть компонентов для создания групп с последовательным выполнением задач или иерархическим управлением. Этот справочник сопоставляет их реальные поля и типы выходов, чтобы до попытки настройки можно было отличить объект задачи от итогового сообщения группы.
Шесть записей CrewAI, а также Language Model и Chat Output, используемые в примере с одной задачей, описаны в каталоге; Ai Flowi не проверяла их в рабочей среде. Источник — каталог AI Flowi Workflow 1.9.2, экспортированный 9 октября 2026 года; ссылка ведёт в категорию CrewAI каталога.
Шесть компонентов CrewAI
Таблицы CrewAI можно прокручивать по горизонтали. Переведите фокус на таблицу с помощью клавиатуры, чтобы читать столбцы за пределами видимой области.
| Компонент | Операция по каталогу | Имя и тип выхода |
|---|---|---|
| CrewAI Agent | Представляет агента CrewAI. | output: NoneType |
| Hierarchical Crew | Представляет группу агентов, определяя, как они должны взаимодействовать и какие задачи выполнять. | output: Message |
| Hierarchical Task | У каждой задачи должны быть описание, ожидаемый выход и агент, ответственный за выполнение. | task_output: HierarchicalTask |
| Sequential Crew | Представляет группу агентов с задачами, выполняемыми последовательно. | output: Message |
| Sequential Task Agent | Создаёт задачу CrewAI и связанного с ней агента. | task_output: SequentialTask |
| Sequential Task | Отдельная настройка задачи с обязательным подключением агента. | task_output: SequentialTask |
Sequential Task Agent объединяет настройку задачи и агента. Sequential Task, напротив, требует подключения agent. В описании Hierarchical Task упоминается агент, ответственный за выполнение, но в экспортированных входах нет поля agent: не придумывайте его ради соответствия описанию.
Входы агента, задачи и группы
| Компонент | Экспортированные входы | Обязательные поля |
|---|---|---|
| CrewAI Agent | allow_code_execution, allow_delegation, backstory, goal, kwargs, llm, memory, role, tools, verbose | Не отмечены |
| Hierarchical Crew | agents, function_calling_llm, manager_agent, manager_llm, max_rpm, memory, share_crew, tasks, use_cache, verbose | Не отмечены |
| Hierarchical Task | expected_output, task_description, tools | Не отмечены |
| Sequential Crew | function_calling_llm, max_rpm, memory, share_crew, tasks, use_cache, verbose | Не отмечены |
| Sequential Task Agent | agent_kwargs, allow_code_execution, allow_delegation, async_execution, backstory, expected_output, goal, llm, memory, previous_task, role, task_description, tools, verbose | Не отмечены |
| Sequential Task | agent, async_execution, expected_output, task, task_description, tools | agent |
Признаки обязательности выше описывают экспорт, а не полностью готовую к запуску группу. В частности, необязательные поля модели не предоставляют автоматически доступ к сервису, текст задачи или выбранную модель. Используйте руководство по подключениям для механизмов учётных данных и справочник Language Model для настройки модели.
Отделяйте инструкции участнику от задания
Укажите роль агента в role, а его цель — в goal; используйте backstory для относящегося к делу контекста. Поместите задание в task_description, а описание нужного результата — в expected_output. Оба текстовых поля задачи принимают подключения Message. Это инструкции, а не схема валидации или зафиксированный результат завершения.
kwargs в CrewAI Agent и agent_kwargs в Sequential Task Agent имеют тип поля dict; поддерживаемые ключи отсутствуют в экспорте. Не копируйте в них неописанные параметры. Подключение инструмента имеет тип Tool, но сам тип не описывает права инструмента, доступ к данным или внешние эффекты.
Трактуйте названия переключателей и ограничений буквально
allow_code_execution, allow_delegation и memory — логические поля в обоих компонентах настройки агента. async_execution имеет логический тип в двух компонентах последовательных задач. На уровне группы memory, share_crew и use_cache также логические; max_rpm — целочисленное поле. Не указаны значения по умолчанию, диапазоны частоты, срок жизни кэша и то, куда направляются данные при совместном использовании.
Тип поля verbose различается в зависимости от компонента: verbose имеет логический тип в узлах настройки агента и целочисленный в узлах группы. Не предполагайте, что одно сохранённое значение можно без изменений копировать между этими полями. Проверьте любой диагностический вывод на наличие содержимого задачи перед его передачей другим.
Типы задач и границы выходов
| Граница | Допустимые типы | Следствие для настройки |
|---|---|---|
| Инструкции агента | role, goal, backstory: Message | Эти поля описывают участника; инструкции задачи относятся к компоненту задачи. |
| Модель и инструменты | llm: LanguageModel; tools: Tool | Используйте настроенный объект модели, а не сгенерированный ответ. Проверяйте каждый предоставленный инструмент отдельно. |
| Последовательная зависимость | previous_task и task: SequentialTask | Поле предшествующей задачи находится в Sequential Task Agent; поле задачи — в Sequential Task. |
| Sequential Crew | tasks: SequentialTask | Используйте семейство последовательных задач; экспорт не описывает порядок элементов в коллекции. |
| Hierarchical Crew | agents, manager_agent: Agent; manager_llm, function_calling_llm: LanguageModel; tasks: HierarchicalTask | Иерархия имеет отдельные поля координации и другой тип задач. |
Выход CrewAI Agent отображается как Agent, но имеет тип NoneType. Это противоречит типу Agent, принимаемому Sequential Task и полями агентов иерархии. Пока не выяснено, совместимы ли эти интерфейсы. Отображаемое название не доказывает совместимость подключения. Sequential Task Agent избегает именно этого отдельного подключения агента в предложении ниже; при этом успешный запуск не подтверждён.
Обе группы экспортируют output как Message. Chat Output принимает Message в input_value, что даёт соответствие типов каталога для отображения. Выходы задач — объекты задач, а не готовые сообщения с ответами; типы иерархических и последовательных задач различаются.
Последовательная конфигурация с одной задачей для проверки
Пример конфигурации, а не зафиксированный тест
Подготовьте одну вымышленную заметку по обслуживанию с заголовком и контрольным списком. Нужны собственная учётная запись сервиса модели и ключ API выбранной модели; этот сервис оплачивается отдельно. Для предложенного упражнения только с текстом не нужен поисковый сервис или инструмент внешней записи.
- Настройте Language Model по существующему справочнику полей, затем подключите
model_outputк Sequential Task Agent.llm. - Задайте в Sequential Task Agent
roleкак «редактор заметки по обслуживанию»,goalкак «извлечь предоставленный контрольный список»,backstoryкак «работать только с предоставленной вымышленной заметкой»,task_descriptionкак заметку вместе с запросом на извлечение, аexpected_outputкак «пункты контрольного списка в виде обычного текста». - Примените общие ограничения задач и настройки группы из руководства по настройке многоагентной системы.
- Подключите этот единственный
task_outputк Sequential Crew.tasks; одна задача позволяет проверить границу объекта задачи без предположений о сборке коллекции из нескольких задач. - Подключите
outputгруппы к Chat Output.input_value. Перед запуском проверьте каждую границу в редакторе, затем сравните отображённый ответ с исходным контрольным списком.
Предполагаемый результат — контрольный список обычным текстом в Playground. Выход этой конфигурации не зафиксирован. Связный ответ всё равно нужно проверять на пропущенные или добавленные пункты; сбой шага модели или группы не является завершённым извлечением.
Для исходной заметки используйте: «Приведение мастерской в порядок: отключить лампу для осмотра от сети; вернуть динамометрический ключ в футляр». Поместите всю заметку в task_description с просьбой извлечь только два действия. Сохраните expected_output как описание результата, не помещая туда готовый контрольный список. Иначе нельзя отличить извлечение из источника от простого повторения ответа, уже заданного инструкциями. Предложенный список с добавлением «запереть мастерскую» содержал бы неподтверждённое действие; список без ключа был бы неполным. Это критерии ручной проверки примера, а не образцы результатов.
Выбор другого компонента задачи меняет проверку
Замена Sequential Task Agent на Sequential Task добавляет обязательное подключение agent и его неразрешённое несоответствие Agent/NoneType. Замена на Hierarchical Task меняет выход на HierarchicalTask, который относится к Hierarchical Crew, а не Sequential Crew. Ни одна замена не сводится к переименованию. Сначала разберитесь с изменившимся портом и совместимостью типов, затем проверьте текст задачи; изменение задания не исправит несовместимый тип объекта.
Ещё одно различие важно при переносе заметки в иерархию: Hierarchical Task имеет текст задачи и инструменты, но не вход модели. Поля выбора модели находятся в других компонентах этого семейства, поэтому копирование настройки llm последовательной задачи в иерархическую означало бы создание несуществующего поля.
Когда категория CrewAI не подходит?
Если контрольный список можно извлечь одним обычным вызовом модели, используйте этот более простой путь. Настройка группы добавляет границы объектов задач и переключатели прав, требующие независимой проверки. Руководство по многоагентным системам охватывает архитектуру и передачу работы; эта страница вместо этого предоставляет контракт настройки шести узлов.
Hierarchical Crew предоставляет и manager_agent, и manager_llm, но экспорт не задаёт правила выбора между ними или приоритета, если заполнены оба. Для входа agents также не описан формат коллекции. Решите эти вопросы иерархии до расширения предложения с одной задачей; добавление полей координации не устанавливает, как выбираются участники.
Автор: Ai Flowi · Опубликовано
Официальный источник: документация CrewAI
Использование рабочего процесса
Тарифы: Go от USD8 в месяц при годовой оплате (USD10 помесячно), Plus от USD16 (USD20 помесячно), Pro 100 от USD80 (USD100 помесячно), Pro 200 от USD160 (USD200 помесячно) и Pro 500 от USD400 (USD500 помесячно), от 5,000 до 250,000 Flowi Tokens в месяц с возможностью пополнения; 1 токен за каждый запуск узла; использование сторонних API и моделей не включено.