Abstract

Crew — команда агентов в CrewAI. Не один универсальный LLM, а набор специалистов: каждый со своей ролью, целью, инструментами. Решают задачу последовательно — результат одного агента кормится следующему. Оркестрация без хардкода — просто описываешь кто что делает.

Зачем crew

Один агент пытается сделать всё — и делает плохо. Context window разматывается, модель теряет фокус, инструменты конфликтуют. Crew делит задачу: Researcher ищет, Writer пишет, Reviewer проверяет. Каждый агент вызывает LLM со своим промптом, своим набором tools, своим контекстом. Результат — чище и точнее.

Как устроено

Три уровня: Agent → Task → Crew. Agent — LLM + role + goal + backstory + tools. Task — описание + expected_output + assigned_agent. Crew — список агентов + список задач + process (sequential или hierarchical).

researcher = Agent(
    role="Researcher",
    goal="Find relevant information",
    backstory="Expert at web search",
    tools=[search_tool],
    llm=my_vllm
)
 
writer = Agent(
    role="Writer",
    goal="Write a summary",
    backstory="Concise technical writer",
    llm=my_vllm
)
 
crew = Crew(
    agents=[researcher, writer],
    tasks=[research_task, write_task],
    process=Process.sequential
)

Researcher отрабатывает → результат попадает в контекст Writer → финальный output.

Реальный пример

ИИбан-бот в Telegram — crew из двух агентов. Первый отвечает за对话 и memory retrieval, второй — за tool execution и форматирование. Разделение оправдано: один агент в context window 8K не вмещает и диалог, и инструменты, и системный промпт.

Проблемы

Токены. Каждый агент — отдельный LLM вызов. Crew из 3 агентов = 3x расход токенов. На локальном vLLM это бесплатно, но медленнее — sequential = сумма latency всех агентов.

Tool loops. Модель зацикливается на tool calls — вызывает инструмент, получает результат, вызывает снова. Фикс: убирать tools из запроса, если в истории уже есть tool-result message.

Souls. Роли в crew — это souls. Researcher и Writer должны звучать по-разному, иначе разница только в промпте, не в поведении.

Связанные

  • CrewAI — техническая статья: подключение, tools, memory
  • ИИбан-бот — реализация crew в продакшене
  • Hermes — альтернатива CrewAI с другим подходом к агентам