Articles
CrewAI когда и зачем использовать


Автор
Mikhail
Опубликовано 13.08.2025
0,0
CrewAI это оркестратор многоагентных пайплайнов.
Он помогает формализовать:
- роли (agents) с чёткими целями и инструментами,
- задачи (tasks) для этих ролей,
- процесс (process), по которому всё это исполняется.
CrewAI нужен, когда вы:
- хотите разделить ответственность: Writer / Editor / Critic / Planner / Coder / DevOps
- используете инструменты (tools): БД, веб-поиск, Telegram Bot API, RAG и т.д.
- делаете планирование и самопроверку (self-critique, debate, manager/worker),
- готовите масштабируемые и поддерживаемые пайплайны (CI/CD, тесты, Docker).
Если у вас одна линейная задача, например, "сгенерь текст", то LLM SDK + одна функция почти всегда быстрее, дешевле и проще.
Базовые сущности (очень коротко)
- Agent — роль с goal, backstory, инструментами и моделью.
- Task — конкретная работа, которая назначается агенту.
- Crew — собирает агентов и задачи; отвечает за процесс выполнения.
- Process — стратегия исполнения sequential, hierarchical, и др.
Когда CrewAI — это оверкилл
- У тебя 1 запрос к модели → просто вызови SDK (OpenAI, Gemini, Ollama).
- Отсутствуют инструменты, память, проверка качества, планирование.
- Нет нужды в поддерживаемом пайплайне (не продакшен, не CI/CD, не тесты).
Минимальный рабочий пример Crew AI
Если пользуешься uv
uv tool install crewai
или классика
python -m venv .venv
source .venv/bin/activate # (Windows: .venv\Scripts\activate)
pip install crewai
file: main.py
from crewai import Agent, Task, Crew, Process, LLM
def run():
llm = LLM(model="ollama/gemma3:latest", base_url="http://localhost:11434")
TOPIC = "локальные LLM: как выбрать между Ollama, vLLM и LM Studio (для новичков)"
writer = Agent(
role="Writer",
goal="Писать краткие, технически точные посты для Telegram",
backstory="""Ты технический автор и разработчик. Пишешь коротко, без воды, даёшь минимально достаточный код/аргументы.""",
verbose=True,
llm=llm,
)
task = Task(
description=f"Сделай пост для Telegram на тему: {TOPIC}",
expected_output="""Структурированный пост до 2500 символов, с TL;DR (3 буллета), и коротким выводом. Без упоминания CrewAI.""",
agent=writer,
)
crew = Crew(agents=[writer], tasks=[task])
print(crew.kickoff())
Запуск
uv run crewai run
Авторизуйтесь, чтобы оставить комментарий.
Комментариев: 0
Нет комментариев.