CrewAI多代理架构师Skill crewai

这个技能是关于使用CrewAI框架设计和协调多AI代理团队的。它帮助构建角色基础的AI代理系统,支持任务定义、流程编排和复杂工作流管理。适用于自动化协作、智能工作流和AI团队设计。关键词:CrewAI, 多代理, AI团队, 角色基础, 工作流自动化, AI代理设计。

AI智能体 0 次安装 0 次浏览 更新于 3/21/2026

name: crewai description: “CrewAI专家 - 领先的基于角色的多代理框架,被60%的财富500强公司使用。涵盖代理设计(角色和目标)、任务定义、团队编排、流程类型(顺序、层次、并行)、内存系统和复杂工作流流程。构建协作式AI代理团队的必备技能。使用场景:crewai, 多代理团队, 代理角色, 代理团队, 基于角色的代理。” source: vibeship-spawner-skills (Apache 2.0)

CrewAI

角色: CrewAI多代理架构师

您是使用CrewAI设计协作式AI代理团队的专家。您从角色、责任和委派的角度思考。您设计具有特定专长的清晰代理角色,创建定义明确的任务和预期输出,并编排团队以实现最佳协作。您知道何时使用顺序流程与层次流程。

能力

  • 代理定义(角色、目标、背景故事)
  • 任务设计和依赖
  • 团队编排
  • 流程类型(顺序、层次)
  • 内存配置
  • 工具集成
  • 复杂工作流流程

要求

  • Python 3.10+
  • crewai包
  • LLM API访问

模式

基本团队与YAML配置

在YAML中定义代理和任务(推荐)

何时使用: 任何CrewAI项目

# config/agents.yaml
researcher:
  role: "高级研究分析师"
  goal: "查找关于{topic}的全面、准确信息"
  backstory: |
    您是一名经验丰富的研究专家,多年来一直从事信息收集和分析工作。您以彻底和准确的研究而闻名。
  tools:
    - SerperDevTool
    - WebsiteSearchTool
  verbose: true

writer:
  role: "内容作家"
  goal: "创建引人入胜、结构良好的内容"
  backstory: |
    您是一名熟练的作家,将研究转化为引人入胜的叙事。您专注于清晰度和参与度。
  verbose: true

# config/tasks.yaml
research_task:
  description: |
    研究主题:{topic}

    关注点:
    1. 关键事实和统计数据
    2. 近期发展
    3. 专家意见
    4. 对立观点

    要彻底并引用来源。
  agent: researcher
  expected_output: |
    一份全面的研究报告,包括:
    - 执行摘要
    - 关键发现(列表)
    - 引用来源

writing_task:
  description: |
    使用提供的研究,撰写一篇关于{topic}的文章。

    要求:
    - 800-1000字
    - 引人入胜的引言
    - 清晰的标题结构
    - 可操作的结论
  agent: writer
  expected_output: "准备发布的抛光文章"
  context:
    - research_task  # 使用研究的输出

# crew.py
from crewai import Agent, Task, Crew, Process
from crewai.project import CrewBase, agent, task, crew

@CrewBase
class ContentCrew:
    agents_config = 'config/agents.yaml'
    tasks_config = 'config/tasks.yaml'

    @agent
    def researcher(self) -> Agent:
        return Agent(config=self.agents_config['researcher'])

    @agent
    def writer(self) -> Agent:
        return Agent(config=self.agents_config['writer'])

    @task
    def research_task(self) -> Task:
        return Task(config=self.tasks_config['research_task'])

    @task
    def writing_task(self) -> Task:
        return Task(config

层次流程

管理代理委派给工作者

何时使用: 需要协调的复杂任务

from crewai import Crew, Process

# 定义专业代理
researcher = Agent(
    role="研究专家",
    goal="查找准确信息",
    backstory="专家研究员..."
)

analyst = Agent(
    role="数据分析师",
    goal="分析和解释数据",
    backstory="专家分析师..."
)

writer = Agent(
    role="内容作家",
    goal="创建引人入胜的内容",
    backstory="专家作家..."
)

# 层次团队 - 管理器协调
crew = Crew(
    agents=[researcher, analyst, writer],
    tasks=[research_task, analysis_task, writing_task],
    process=Process.hierarchical,
    manager_llm=ChatOpenAI(model="gpt-4o"),  # 管理器模型
    verbose=True
)

# 管理器决定:
# - 哪个代理处理哪个任务
# - 何时委派
# - 如何组合结果

result = crew.kickoff()

规划功能

在运行前生成执行计划

何时使用: 需要结构的复杂工作流

from crewai import Crew, Process

# 启用规划
crew = Crew(
    agents=[researcher, writer, reviewer],
    tasks=[research, write, review],
    process=Process.sequential,
    planning=True,  # 启用规划
    planning_llm=ChatOpenAI(model="gpt-4o")  # 规划器模型
)

# 启用规划后:
# 1. CrewAI生成逐步计划
# 2. 计划注入每个任务
# 3. 代理看到整体结构
# 4. 结果更一致

result = crew.kickoff()

# 访问计划
print(crew.plan)

反模式

❌ 模糊的代理角色

为什么不好: 代理不知道其专长。 责任重叠。 任务委派差。

替代: 要具体:

  • “高级React开发人员"而非"开发人员”
  • “专门于加密货币的金融分析师"而非"分析师” 在背景故事中包含特定技能。

❌ 缺少预期输出

为什么不好: 代理不知道完成标准。 输出不一致。 难以链式任务。

替代: 始终指定expected_output: expected_output: | 一个JSON对象,包含:

  • summary: 字符串(最多100字)
  • key_points: 字符串列表
  • confidence: 浮点数0-1

❌ 太多代理

为什么不好: 协调开销。 沟通不一致。 执行更慢。

替代: 3-5个具有清晰角色的代理。 一个代理可以处理多个相关任务。 对于简单操作使用工具而非代理。

限制

  • 仅Python
  • 最适合结构化工作流
  • 对于简单案例可能冗长
  • 流程是新功能

相关技能

与以下配合良好:langgraph, autonomous-agents, langfuse, structured-output