SuperAPI AI 工具集

crewai-multi-agent

智能体与模型

查看项目

更新于 10-21 16:17

技能介绍

用途

CrewAI 是一个多智能体编排框架,用于构建由多个自主 AI 智能体组成的团队,让它们协作解决复杂任务。根据资料,适合在以下情况使用:构建具有专门角色的多智能体系统;需要智能体之间的自主协作;希望实现基于角色的任务委派(如研究员、写作者、分析师);需要顺序或层级流程执行;构建带记忆和可观测性的生产工作流;以及希望比 LangChain/LangGraph 更简单的搭建方式。

主要能力

  • 独立运行:不依赖 LangChain,占用精简。
  • 基于角色:智能体拥有角色、目标和背景故事。
  • 双范式:Crews(自主协作)与 Flows(事件驱动)。
  • 50+ 工具:网页抓取、搜索、数据库、AI 服务等。
  • 记忆:短期、长期和实体记忆。
  • 生产就绪:追踪、企业级特性。

核心概念包括:

  • Agents(智能体):自主工作者,可配置 role(角色)、goal(目标)、backstory(背景)、llm、tools、memory、verbose、allow_delegation、max_iter、max_rpm 等。
  • Tasks(任务):工作单元,可配置 description、expected_output、agent、context、output_file、async_execution、human_input 等。
  • Crews(团队):智能体团队,可配置 agents、tasks、process、verbose、memory、cache、max_rpm、share_crew 等,通过 kickoff 执行并传入 inputs,可访问 result.raw、result.tasks_output、result.token_usage。

流程类型:

  • Sequential(默认):任务按顺序执行,前一个智能体完成任务后下一个才开始。
  • Hierarchical:自动创建一个管理者智能体来委派和协调任务,可指定 manager_llm。

工具:

  • 内置工具(50+):安装 pip install 'crewai[tools]' 后可使用,如 SerperDevTool(网页搜索)、ScrapeWebsiteTool(网页抓取)、FileReadTool(读取文件)、PDFSearchTool(搜索 PDF)、WebsiteSearchTool(搜索网站)、CodeDocsSearchTool(搜索代码文档)、YoutubeVideoSearchTool(搜索 YouTube)等。
  • 自定义工具:继承 crewai.tools.BaseTool,定义 name、description 并实现 _run 方法。

Flows(事件驱动编排):用于带条件逻辑的复杂工作流,使用 crewai.flow.flow 中的 Flow、listen、start、router,配合 Pydantic 定义状态模型。

记忆系统:通过 memory=True 启用,可自定义 embedder。记忆类型包括短期(ChromaDB)、长期(SQLite)、实体(ChromaDB)。

LLM 提供方:支持 OpenAI(默认)、Anthropic、本地 Ollama、Azure 等,通过 crewai.LLM 配置模型与 base_url。

使用方式

安装:

# 核心框架
pip install crewai

# 含 50+ 内置工具
pip install 'crewai[tools]'

使用 CLI 创建项目:

# 创建新的 crew 项目
crewai create crew my_project
cd my_project

# 安装依赖
crewai install

# 运行 crew
crewai run

纯代码方式:定义智能体(Agent)、任务(Task),再创建 Crew 并指定 process,最后调用 crew.kickoff(inputs={...}) 执行并打印结果。

也推荐使用 YAML 配置方式组织较大项目(资料指向 references/yaml-configuration-recommended.md)。

适用场景

  • 需要角色分工与任务委派的多智能体协作。
  • 顺序或层级流程的生产工作流。
  • 需要记忆与可观测性的团队式任务。
  • 带条件逻辑的复杂事件驱动工作流(Flows)。

限制与注意事项

  • 资料建议每个智能体工具数量控制在 3-5 个以内。
  • 应设置 max_iter 防止无限循环(默认 15),并设置 max_rpm 避免触发 API 限流。
  • 任务未使用上下文时需显式传入 context。
  • 记忆错误可通过环境变量 CREWAI_STORAGE_DIR 指定存储目录。
  • 与替代方案对比:LangChain 适合通用 LLM 应用与 RAG 管道;LangGraph 适合带循环的复杂有状态工作流;AutoGen 适合微软生态的多智能体对话;LlamaIndex 适合文档问答与知识检索。

资源

  • GitHub:https://github.com/crewAIInc/crewAI
  • 文档:https://docs.crewai.com
  • 工具:https://github.com/crewAIInc/crewAI-tools
  • 示例:https://github.com/crewAIInc/crewAI-examples
  • 版本:1.2.0+
  • 许可证:MIT

关于具体收费、价格与平台支持范围,资料暂未提供。