by crewAI Inc Python 3.10+, OpenAI, Anthropic, Ollama, LiteLLM
Фреймворк для оркестрации автономных AI-агентов, работающих совместно как команда. Каждый агент получает роль, цель и набор инструментов; CrewAI координирует их взаимодействие, делегирование задач и последовательность выполнения для решения комплексных проблем. Поддерживает последовательные и иерархические рабочие процессы, а также интеграцию с любым LLM через LiteLLM.
# pip
pip install crewai
# pip с дополнительными инструментами (поиск, scraping и т.д.)
pip install 'crewai[tools]'
# Проверка установки
crewai --version
# Создать новый проект
crewai create crew my_crew
cd my_crew
# Запустить команду агентов
crewai run
# Пример минимального кода
# pip install crewai langchain-openai
from crewai import Agent, Task, Crew, Process
researcher = Agent(
role='Researcher',
goal='Find and summarize information',
backstory='Expert at finding relevant information',
verbose=True
)
task = Task(
description='Research the latest trends in AI agents',
expected_output='A bullet-point summary of 5 key trends',
agent=researcher
)
crew = Crew(agents=[researcher], tasks=[task], process=Process.sequential)
result = crew.kickoff()
print(result)
Домашняя страница · Открытый исходный код · Документация · Начать пробный период облака · Блог · Форум
CrewAI — это фреймворк с открытым исходным кодом на Python с высокоуровневыми абстракциями и низкоуровневыми API для создания готовых к производству рабочих процессов с несколькими агентами. Он предоставляет разработчикам автономное сотрудничество агентов через «Экипажи» (Crews) и точное, управляемое событиями управление через «Потоки» (Flows).
Более 100 000 разработчиков прошли сертификацию через наши общественные курсы на learn.crewai.com, и CrewAI стремительно становится стандартом для готовой к производству агентной автоматизации.
Для организаций, которым необходим коммерческий панель управления для CrewAI, CrewAI AMP Suite добавляет управляемое развёртывание, наблюдаемость, управление, безопасность и корпоративную поддержку.
Вы можете попробовать одну часть набора, Панель управления Экипажем, бесплатно.
CrewAI AMP разработан для предприятий, ищущих мощное и надёжное решение для превращения сложных бизнес-процессов в эффективные, интеллектуальные автоматизации.
Используете ИИ-ассистента для кодирования? Научите его лучшим практикам CrewAI одной командой:
Claude Code:
/plugin marketplace add crewAIInc/skills
/plugin install crewai-skills@crewai-plugins
/reload-plugins
Четыре навыка, которые активируются автоматически при задании соответствующих вопросов о CrewAI:
| Навык | Когда запускается |
|---|---|
getting-started |
Создание каркаса новых проектов, выбор между LLM.call() / Agent / Crew / Flow, подключение crew.py / main.py |
design-agent |
Настройка агентов — роль, цель, предыстория, инструменты, LLM, память, ограничения |
design-task |
Написание описаний задач, зависимостей, структурированного вывода (output_pydantic, output_json), человеческой проверки |
ask-docs |
Запрос к работающему серверу MCP документации CrewAI для получения актуальных сведений об API |
Cursor, Codex, Windsurf и другие (skills.sh):
npx skills add crewaiinc/skills
Это устанавливает официальные Навыки CrewAI — структурированные инструкции, которые учат ассистентов для кодирования создавать каркасы для Потоков, настраивать Экипажи, проектировать агентов и задачи и следовать паттернам CrewAI.

CrewAI раскрывает истинный потенциал автоматизации с несколькими агентами, обеспечивая скорость, гибкость и управляемость с помощью Экипажей ИИ-агентов и управляемых событиями Потоков:
CrewAI даёт разработчикам и командам возможность создавать интеллектуальные автоматизации, сочетающие простоту, гибкость и контроль промышленного уровня.
Настройте и запустите ваших первых агентов CrewAI, следуя этому руководству.
Ресурсы для обучения
Изучайте CrewAI с помощью наших всеобъемлющих курсов:
CrewAI предлагает два мощных, дополняющих друг друга подхода, которые бесперебойно работают вместе для создания сложных AI-приложений:
Экипажи (Crews): Команды AI-агентов с подлинной автономией и инициативностью, работающие вместе для выполнения сложных задач на основе ролевого взаимодействия. Экипажи обеспечивают:
Естественное, автономное принятие решений между агентами
Гибкие подходы к решению задач
Потоки (Flows): Готовые к использованию в продакшене, управляемые событиями рабочие процессы, обеспечивающие точный контроль над сложной автоматизацией. Потоки предоставляют:
Детальный контроль над путями выполнения для реальных сценариев
Настоящая мощь CrewAI проявляется при объединении Экипажей и Потоков. Эта синергия позволяет вам:
Для начала работы с CrewAI, выполните следующие простые шаги:
Убедитесь, что в вашей системе установлен Python >=3.10 <3.14. CrewAI использует UV для управления зависимостями и обработки пакетов, обеспечивая бесшовную настройку и опыт выполнения.
Сначала установите CrewAI:
uv pip install crewai
Если вы хотите установить пакет 'crewai' вместе с его опциональными функциями, включающими дополнительные инструменты для агентов, вы можете сделать это с помощью следующей команды:
uv pip install 'crewai[tools]'
Вышеуказанная команда устанавливает базовый пакет и также добавляет дополнительные компоненты, которые требуют больше зависимостей для работы.
Если вы столкнетесь с проблемами во время установки или использования, вот несколько общих решений:
ModuleNotFoundError: No module named 'tiktoken'
Явно установите tiktoken: uv pip install 'crewai[embeddings]'
Если вы используете embedchain или другие инструменты: uv pip install 'crewai[tools]'
Не удалось собрать (building) wheel для tiktoken
Убедитесь, что установлен компилятор Rust (см. шаги установки выше)
uv pip install --upgrade pipuv pip install tiktoken --prefer-binaryЧтобы создать новый проект CrewAI, выполните следующую CLI (командную строку) команду:
crewai create crew <имя_проекта>
Эта команда создает новую папку проекта со следующей структурой:
my_project/
├── .gitignore
├── pyproject.toml
├── README.md
├── .env
└── src/
└── my_project/
├── __init__.py
├── main.py
├── crew.py
├── tools/
│ ├── custom_tool.py
│ └── __init__.py
└── config/
├── agents.yaml
└── tasks.yaml
Теперь вы можете начать разработку вашего экипажа, редактируя файлы в папке src/my_project. Файл main.py является точкой входа в проект, файл crew.py — это место, где вы определяете свой экипаж, файл agents.yaml — это место, где вы определяете своих агентов, а файл tasks.yaml — это место, где вы определяете свои задачи.
src/my_project/config/agents.yaml для определения ваших агентов.src/my_project/config/tasks.yaml для определения ваших задач.src/my_project/crew.py, чтобы добавить свою собственную логику, инструменты и специфические аргументы.src/my_project/main.py, чтобы добавить пользовательские входные данные для ваших агентов и задач..env.Инстанцируйте ваш экипаж:
crewai create crew latest-ai-development
При необходимости измените файлы для соответствия вашему варианту использования:
agents.yaml
# src/my_project/config/agents.yaml
researcher:
role: >
Старший исследователь данных по теме {topic}
goal: >
Выявить новейшие разработки в области {topic}
backstory: >
Вы — опытный исследователь, обладающий талантом к выявлению новейших
разработок в области {topic}. Известны своей способностью находить самую актуальную
информацию и представлять её в ясном и лаконичном виде.
reporting_analyst:
role: >
Аналитик по отчётности по теме {topic}
goal: >
Создавать подробные отчёты на основе анализа данных и результатов исследования {topic}
backstory: >
Вы — тщательный аналитик с вниманием к деталям. Известны своей
способностью превращать сложные данные в ясные и лаконичные отчёты, делая
понятной информацию для других и помогая им действовать на её основе.
tasks.yaml
# src/my_project/config/tasks.yaml
research_task:
description: >
Провести всестороннее исследование по теме {topic}
Убедитесь, что вы находите любую интересную и актуальную информацию, учитывая,
что текущий год — 2025.
expected_output: >
Список из 10 пунктов с самой актуальной информацией о {topic}
agent: researcher
reporting_task:
description: >
Просмотрите полученный контекст и расширите каждую тему в полноценный раздел отчёта.
Убедитесь, что отчёт подробный и содержит всю актуальную информацию.
expected_output: >
Полноценный отчёт с основными темами, каждая из которых представлена полноценным разделом информации.
Отформатирован как markdown без '```'
agent: reporting_analyst
output_file: report.md
crew.py
# src/my_project/crew.py
from crewai import Agent, Crew, Process, Task
from crewai.project import CrewBase, agent, crew, task
from crewai_tools import SerperDevTool
from crewai.agents.agent_builder.base_agent import BaseAgent
from typing import List
@CrewBase
class LatestAiDevelopmentCrew():
"""LatestAiDevelopment crew"""
agents: List[BaseAgent]
tasks: List[Task]
@agent
def researcher(self) -> Agent:
return Agent(
config=self.agents_config['researcher'],
verbose=True,
tools=[SerperDevTool()]
)
@agent
def reporting_analyst(self) -> Agent:
return Agent(
config=self.agents_config['reporting_analyst'],
verbose=True
)
@task
def research_task(self) -> Task:
return Task(
config=self.tasks_config['research_task'],
)
@task
def reporting_task(self) -> Task:
return Task(
config=self.tasks_config['reporting_task'],
output_file='report.md'
)
@crew
def crew(self) -> Crew:
"""Creates the LatestAiDevelopment crew"""
return Crew(
agents=self.agents, # Автоматически создается декоратором @agent
tasks=self.tasks, # Автоматически создается декоратором @task
process=Process.sequential,
verbose=True,
)
main.py
#!/usr/bin/env python
# src/my_project/main.py
import sys
from latest_ai_development.crew import LatestAiDevelopmentCrew
def run():
"""
Run the crew.
"""
inputs = {
'topic': 'AI Agents'
}
LatestAiDevelopmentCrew().crew().kickoff(inputs=inputs)
Перед запуском экипажа убедитесь, что у вас установлены следующие ключи в качестве переменных окружения в файле .env:
OPENAI_API_KEY=sk-...SERPER_API_KEY=ВАШ_КЛЮЧ_СЮДАЗафиксируйте зависимости и установите их с помощью CLI-команды, но сначала перейдите в каталог вашего проекта:
cd my_project
crewai install (По желанию)
Для запуска вашего экипажа выполните следующую команду в корне вашего проекта:
crewai run
или
python src/my_project/main.py
Если произошла ошибка из-за использования poetry, пожалуйста, выполните следующую команду для обновления вашего пакета crewai:
crewai update
Вы должны увидеть вывод в консоли, и файл report.md должен быть создан в корне вашего проекта с полным окончательным отчётом.
В дополнение к последовательному процессу, вы можете использовать иерархический процесс, который автоматически назначает менеджера определённому экипажу для надлежащей координации планирования и выполнения задач через делегирование и валидацию результатов. Узнайте больше о процессах здесь.
CrewAI предоставляет разработчикам практическую основу для создания агентных систем, переходящих от прототипа к продакшену: автономное сотрудничество там, где это помогает, явное управление рабочими процессами там, где это важно, и кастомизация на Python на протяжении всего пути.
Выбирайте CrewAI для создания мощных, адаптивных и готовых к продакшену ИИ-автоматизаций.
Вы можете протестировать различные реальные примеры ИИ-экипажей в репозитории CrewAI-examples:
Посмотрите код для этого примера или посмотрите видео ниже:
Посмотрите код для этого примера или посмотрите видео ниже:
Посмотрите код для этого примера или посмотрите видео ниже:
Мощность CrewAI по-настоящему раскрывается при комбинировании Экипажей с Потоками для создания сложных автоматизированных конвейеров.
Потоки CrewAI поддерживают логические операторы or_ и and_ для комбинирования множественных условий. Это можно использовать с декораторами @start, @listen или @router для создания сложных условий срабатывания.
or_: Срабатывает, когда выполнено любое из указанных условий.and_: Срабатывает, когда выполнены все указанные условия.Вот как вы можете оркестрировать несколько Экипажей в рамках Потока:
from crewai.flow.flow import Flow, listen, start, router, or_
from crewai import Crew, Agent, Task, Process
from pydantic import BaseModel
# Define structured state for precise control
class MarketState(BaseModel):
sentiment: str = "neutral"
confidence: float = 0.0
recommendations: list = []
class AdvancedAnalysisFlow(Flow[MarketState]):
@start()
def fetch_market_data(self):
# Demonstrate low-level control with structured state
self.state.sentiment = "analyzing"
return {"sector": "tech", "timeframe": "1W"} # These parameters match the task description template
@listen(fetch_market_data)
def analyze_with_crew(self, market_data):
# Show crew agency through specialized roles
analyst = Agent(
role="Senior Market Analyst",
goal="Conduct deep market analysis with expert insight",
backstory="You're a veteran analyst known for identifying subtle market patterns"
)
researcher = Agent(
role="Data Researcher",
goal="Gather and validate supporting market data",
backstory="You excel at finding and correlating multiple data sources"
)
analysis_task = Task(
description="Analyze {sector} sector data for the past {timeframe}",
expected_output="Detailed market analysis with confidence score",
agent=analyst
)
research_task = Task(
description="Find supporting data to validate the analysis",
expected_output="Corroborating evidence and potential contradictions",
agent=researcher
)
# Demonstrate crew autonomy
analysis_crew = Crew(
agents=[analyst, researcher],
tasks=[analysis_task, research_task],
process=Process.sequential,
verbose=True
)
return analysis_crew.kickoff(inputs=market_data) # Pass market_data as named inputs
@router(analyze_with_crew)
def determine_next_steps(self):
# Show flow control with conditional routing
if self.state.confidence > 0.8:
return "high_confidence"
elif self.state.confidence > 0.5:
return "medium_confidence"
return "low_confidence"
@listen("high_confidence")
def execute_strategy(self):
# Demonstrate complex decision making
strategy_crew = Crew(
agents=[
Agent(role="Strategy Expert",
goal="Develop optimal market strategy")
],
tasks=[
Task(description="Create detailed strategy based on analysis",
expected_output="Step-by-step action plan")
]
)
return strategy_crew.kickoff()
@listen(or_("medium_confidence", "low_confidence"))
def request_additional_analysis(self):
self.state.recommendations.append("Gather more data")
return "Additional analysis required"
Этот пример демонстрирует, как:
CrewAI поддерживает использование различных LLM через множество вариантов подключения. По умолчанию ваши агенты будут использовать API OpenAI при запросе к модели. Однако существует несколько других способов подключить ваших агентов к моделям. Например, вы можете настроить агентов для использования локальной модели через инструмент Ollama.
Пожалуйста, обратитесь к странице Подключение CrewAI к LLM для получения подробной информации о настройке подключения ваших агентов к моделям.
Используйте CrewAI, когда вам нужно большее, чем один промпт или чатбот: многошаговая работа, специализированные агенты, использование инструментов, структурированный вывод, проверка человеком или рабочие процессы, объединяющие автономное рассуждение и явную бизнес-логику.
CrewAI особенно полезен, когда вы хотите:
CrewAI является проектом с открытым исходным кодом, и мы приветствуем вклад. Если вы хотите внести свой вклад, пожалуйста:
Сайт docs.crewai.com публикуется из директории
docs/ с помощью Mintlify. Документация использует версионирование по директориям: правки в docs/edge/<lang>/... (например,
docs/edge/en/concepts/agents.mdx) сразу попадают под селектор версии Edge и замораживаются в новый версионный снимок в директории
docs/v<X.Y.Z>/ при следующем выпуске. Замороженные снимки неизменяемы — CI
отклоняет PR, модифицирующие их без префикса [docs-freeze] в заголовке. Инструмент
для выпуска (devtools release) обрабатывает заморозку автоматически; полное руководство для контрибьюторов см. в
AGENTS.md, а
руководство по процессу выпуска — в RELEASING.md.
uv lock
uv sync
uv venv
pre-commit install
uv run pytest .
uvx mypy src
uv build
uv pip install dist/*.tar.gz
CrewAI использует анонимную телеметрию для сбора данных об использовании, основная цель которых — помочь нам улучшать библиотеку, сосредоточив наши усилия на наиболее востребованных функциях, интеграциях и инструментах.
Важно понимать, что НЕ собираются данные, касающиеся промптов, описаний задач, предысторий или целей агентов, использования инструментов, вызовов API, ответов, любых данных, обрабатываемых агентами, а также секретов и переменных окружения, за исключением упомянутых условий. Когда функция share_crew включена, собираются подробные данные, включая описания задач, предыстории или целей агентов, а также другие специфические атрибуты, для предоставления более глубокой аналитики с учетом конфиденциальности пользователей. Пользователи могут отключить телеметрию, установив переменную окружения OTEL_SDK_DISABLED в значение true.
Собранные данные включают:
Пользователи могут отказаться от дополнительной телеметрии, передавая полные данные телеметрии, установив атрибут share_crew в значение True у своих команд. Включение share_crew приводит к сбору подробных данных о команде и выполнении задач, включая цель, предысторию, контекст и результат задач. Это обеспечивает более глубокое понимание моделей использования с учетом выбора пользователя относительно предоставления данных.
CrewAI распространяется под лицензией MIT.
О: CrewAI — это лёгкий и быстрый Python-фреймворк, специально созданный для оркестрации автономных агентов ИИ и готовых к производству агентных рабочих процессов.
О: Установите CrewAI с помощью pip:
uv pip install crewai
Для дополнительных инструментов используйте:
uv pip install 'crewai[tools]'
О: Да. CrewAI — это автономный Python-фреймворк с собственными примитивами для агентов, задач, команд, потоков, инструментов и оркестрации.
О: Да. CrewAI отлично справляется как с простыми, так и с Highly complex реальными сценариями, предлагая глубокие возможности настройки как на высоком, так и на низком уровне — от внутренних промптов до сложной оркестрации рабочих процессов.
О: Безусловно! CrewAI поддерживает различные языковые модели, включая локальные. Инструменты, такие как Ollama и LM Studio, позволяют обеспечить бесшовную интеграцию. Подробности смотрите в документации по подключению LLM.
О: Команды обеспечивают автономное взаимодействие агентов, что идеально подходит для задач, требующих гибкого принятия решений и динамичного взаимодействия. Потоки предлагают точное, управляемое событиями управление, идеально подходящее для детального управления путями выполнения и безопасного управления состоянием. Вы можете бесшовно комбинировать оба подхода для максимальной эффективности.
О: Да, CrewAI является проектом с открытым исходным кодом и активно поощряет вклад сообщества и сотрудничество.
О: CrewAI собирает анонимные данные телеметрии строго для целей улучшения. Чувствительные данные, такие как промпты, задачи или ответы API, никогда не собираются, если пользователь явно не включил эту функцию.
О: Ознакомьтесь с практическими примерами в репозитории CrewAI-examples, охватывающих сценарии использования, такие как планировщики поездок, анализ акций и публикации вакансий.
О: Мы приветствуем вклад! Сделайте форк репозитория, создайте свою ветку, реализуйте свои изменения и отправьте pull request. Подробные инструкции см. в разделе «Вклад» в README.
О: CrewAI AMP предоставляет расширенные функции, такие как единая панель управления, наблюдаемость в реальном времени, безопасные интеграции, расширенные средства безопасности, аналитические данные и выделенная круглосуточная корпоративная поддержка.
О: Да, CrewAI AMP поддерживает как облачные, так и локальные варианты развертывания, позволяя предприятиям удовлетворять свои конкретные требования к безопасности и соответствию.
О: Да, вы можете изучить часть набора CrewAI AMP, бесплатно получив доступ к панели управления командой (Crew Control Plane).
О: Да, CrewAI может интегрироваться с пользовательскими обученными или дообученными моделями, позволяя вам улучшить своих агентов с помощью доменных знаний и точности.
О: Безусловно! Агенты CrewAI могут легко интегрироваться с внешними инструментами, API и базами данных, что позволяет им использовать реальные данные и ресурсы.
О: Да, CrewAI разработан с использованием производственных шаблонов, обеспечивающих надежные, стабильные и масштабируемые агентные рабочие процессы.
О: CrewAI highly scalable, поддерживает как простую автоматизацию, так и масштабные рабочие процессы с участием множества агентов и сложных задач одновременно.
О: Да, CrewAI AMP включает расширенные функции отладки, трассировки и наблюдаемости в реальном времени, упрощая управление и устранение неполадок в ваших автоматизациях.
О: CrewAI в основном основан на Python, но легко интегрируется с сервисами и API, написанными на любом языке программирования, благодаря своим гибким возможностям интеграции API.
О: Да, CrewAI предоставляет обширные уроки, курсы и документацию для начинающих через learn.crewai.com, поддерживая разработчиков всех уровней навыков.
О: Да, CrewAI полностью поддерживает рабочие процессы с участием человека, позволяя бесшовное сотрудничество между экспертами-людьми и агентами ИИ для улучшения принятия решений.