Articles

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

CrewAI когда и зачем использовать
Mikhail
Автор
Mikhail
Опубликовано 13.08.2025
0,0
Views 16

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

Нет комментариев.