SuperAPI AI 工具集

crewai

智能体与模型

查看项目

更新于 10-15 18:07

技能介绍

CrewAI 技能是一份围绕角色型多智能体框架 CrewAI 的专业指南。资料将其描述为领先的角色型多智能体框架,并称其被 60% 的财富 500 强公司使用。该技能的定位是“CrewAI 多智能体架构师”:以角色、职责和委派为核心思路,设计具备特定专长的智能体画像,创建有明确预期输出的任务,并编排智能体团队以实现最佳协作,同时判断何时采用顺序流程、何时采用层级流程。

主要能力 技能覆盖智能体定义(角色、目标、背景故事)、任务设计与依赖关系、智能体团队编排、流程类型(顺序、层级)、记忆配置、工具集成,以及用于复杂工作流的 Flows。

使用前提

  • Python 熟练度
  • 多智能体概念
  • 对委派机制的理解 必需条件:Python 3.10+、crewai 包、LLM API 访问。

适用范围与限制

  • 仅限 Python
  • 最适合结构化工作流
  • 对简单场景可能显得冗长
  • Flows 是较新的功能 仅当任务明确符合上述范围时才应使用该技能;不应将其输出视为环境特定验证、测试或专家评审的替代;若缺少必要输入、权限、安全边界或成功标准,应停止并请求澄清。

生态与集成 主要生态为 CrewAI 框架与 CrewAI Tools。常见集成包括 OpenAI / Anthropic / Ollama、SerperDev(搜索)、FileReadTool、DirectoryReadTool 以及自定义工具。可运行于 Python 应用、FastAPI 后端与企业部署环境。

典型模式

  1. 使用 YAML 配置的基础 Crew:推荐在 YAML 中定义智能体与任务,适用于任何 CrewAI 项目。示例中包含 config/agents.yaml 与 config/tasks.yaml,前者定义 researcher 与 writer 等智能体的 role、goal、backstory、tools、verbose,后者定义 research_task 与 writing_task 的描述、agent、expected_output,并通过 context 引用前序任务输出。crew.py 中使用 @CrewBase 类与 @agent、@task、@crew 装饰器组装,main.py 通过 crew.crew().kickoff(inputs={"topic": "AI Agents in 2025"}) 启动。
  2. 层级流程:由 manager 智能体向 worker 委派,适用于需要协调的复杂任务。示例中定义 researcher、analyst、writer,并将 process 设为 Process.hierarchical,通过 manager_llm=ChatOpenAI(model="gpt-4o") 指定管理模型,由 manager 决定任务分配、委派时机与结果合并。
  3. 规划功能:在运行前生成执行计划,适用于需要结构的复杂工作流。通过 planning=True 与 planning_llm 启用,CrewAI 会生成分步计划并注入每个任务,使智能体看到整体结构,从而获得更一致的结果,可通过 crew.plan 访问计划。
  4. 记忆配置:为智能体启用上下文记忆,适用于多轮或复杂工作流。记忆类型包括短期(任务执行内)、长期(跨执行)与实体(关于特定实体)。可通过 memory=True 启用全部类型,也可使用 LongTermMemory、ShortTermMemory 与自定义 storage、embedder 进行配置,帮助智能体记住先前交互、在过往工作基础上继续并保持一致性。
  5. 用于复杂工作流的 Flows:具备状态的事件驱动编排,适用于复杂的多阶段工作流。示例基于 crewai.flow.flow 的 Flow、listen、start、and_、or_、router,以 @start 收集需求、@listen 串联研究与写作步骤、@router 依据质量检查结果路由到 revise 或 publish,并通过 flow.kickoff(inputs={"topic": "AI Agents"}) 运行。
  6. 自定义工具:为智能体创建外部能力。方式一为基于类,继承 crewai.tools.BaseTool,使用 pydantic 的 BaseModel 与 Field 定义 args_schema,并实现 _run;方式二为使用 @tool 装饰器定义函数。随后可将工具实例或函数赋给智能体的 tools 列表。

协作与相关技能 委派触发:涉及 langgraph、状态机、图时转向 langgraph(需要明确状态管理);涉及可观测性、追踪时转向 langfuse(需要 LLM 可观测性);涉及结构化输出、JSON schema 时转向 structured-output(需要结构化响应)。示例协作包括:研究与写作团队(crewai + structured-output),流程为定义 researcher 与 writer、构建研究→分析→写作管道、用结构化输出规定研究格式、以 context 串联任务;可观测智能体团队(crewai + langfuse),流程为构建团队、加入 Langfuse 回调处理器、监控智能体交互、评估输出质量;使用 Flows 的复杂工作流(crewai + langgraph),流程为用 CrewAI Flows 设计工作流、用 LangGraph 模式管理状态、在流程步骤中组合多个 crew、处理分支与路由。相关技能:与 langgraph、autonomous-agents、langfuse、structured-output 配合良好。

使用时机 当用户提及或暗示 crewai、multi-agent team、agent roles、crew of agents、role-based agents、collaborative agents 时使用本技能。

限制说明 仅当任务明确匹配上述范围时使用;不要把输出当作环境特定验证、测试或专家评审的替代;若缺少必要输入、权限、安全边界或成功标准,应停止并请求澄清。

其它信息(如定价、平台支持细节、性能数据等)在资料中暂未提供。