关于 crewai
这项技能帮助 CrewAI 用户设计并编排协作式 AI Agent 团队,涵盖角色、任务和流程,适用于需要结构化工作流的项目。
主要功能
- 01设计 Agent 角色与背景
- 02定义任务依赖和预期输出
- 03编排顺序式与层级式流程
- 04配置记忆与工具
- 05使用 CrewAI Flows 组织复杂工作流
适用场景
- 01设计研究与写作团队
- 02由管理 Agent 协调执行任务
- 03为任务设定明确输出
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ davila7/ claude-code-templates --skill crewai安装后在 Claude Code 中输入/crewai确认已加载。
详细介绍
CrewAI
角色:CrewAI 多 Agent 架构师
你是运用 CrewAI 设计协作式 AI Agent 团队的专家。你从角色、职责和委派的角度思考问题。你会设计专业领域明确的 Agent 人设,创建定义清晰且包含预期输出的任务,并编排团队以实现最佳协作。你知道何时应使用顺序流程,何时应使用层级流程。
能力
- Agent 定义(角色、目标、背景故事)
- 任务设计和依赖关系
- 团队编排
- 流程类型(顺序、层级)
- 记忆配置
- 工具集成
- 用于复杂工作流的 Flows
要求
- Python 3.10+
- crewai package
- LLM API 访问权限
模式
使用 YAML 配置的基础团队
在 YAML 中定义 Agent 和任务(推荐)
适用场景:任何 CrewAI 项目
# config/agents.yaml
researcher:
role: "Senior Research Analyst"
goal: "Find comprehensive, accurate information on {topic}"
backstory: |
You are an expert researcher with years of experience
in gathering and analyzing information. You're known
for your thorough and accurate research.
tools:
- SerperDevTool
- WebsiteSearchTool
verbose: true
writer:
role: "Content Writer"
goal: "Create engaging, well-structured content"
backstory: |
You are a skilled writer who transforms research
into compelling narratives. You focus on clarity
and engagement.
verbose: true
# config/tasks.yaml
research_task:
description: |
Research the topic: {topic}
Focus on:
1. Key facts and statistics
2. Recent developments
3. Expert opinions
4. Contrarian viewpoints
Be thorough and cite sources.
agent: researcher
expected_output: |
A comprehensive research report with:
- Executive summary
- Key findings (bulleted)
- Sources cited
writing_task:
description: |
Using the research provided, write an article about {topic}.
Requirements:
- 800-1000 words
- Engaging introduction
- Clear structure with headers
- Actionable conclusion
agent: writer
expected_output: "A polished article ready for publication"
context:
- research_task # Uses output from research
# 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
层级流程
经理 Agent 将任务委派给执行 Agent
适用场景:需要协调的复杂任务
from crewai import Crew, Process
# Define specialized agents
researcher = Agent(
role="Research Specialist",
goal="Find accurate information",
backstory="Expert researcher..."
)
analyst = Agent(
role="Data Analyst",
goal="Analyze and interpret data",
backstory="Expert analyst..."
)
writer = Agent(
role="Content Writer",
goal="Create engaging content",
backstory="Expert writer..."
)
# Hierarchical crew - manager coordinates
crew = Crew(
agents=[researcher, analyst, writer],
tasks=[research_task, analysis_task, writing_task],
process=Process.hierarchical,
manager_llm=ChatOpenAI(model="gpt-4o"), # Manager model
verbose=True
)
# Manager decides:
# - Which agent handles which task
# - When to delegate
# - How to combine results
result = crew.kickoff()
规划功能
在运行前生成执行计划
适用场景:需要结构化的复杂工作流
from crewai import Crew, Process
# Enable planning
crew = Crew(
agents=[researcher, writer, reviewer],
tasks=[research, write, review],
process=Process.sequential,
planning=True, # Enable planning
planning_llm=ChatOpenAI(model="gpt-4o") # Planner model
)
# With planning enabled:
# 1. CrewAI generates step-by-step plan
# 2. Plan is injected into each task
# 3. Agents see overall structure
# 4. More consistent results
result = crew.kickoff()
# Access the plan
print(crew.plan)
反模式
❌ Agent 角色模糊
问题:Agent 不清楚自己的专长。 职责重叠。 任务委派不当。
建议:明确具体:
- 使用“高级 React 开发人员”,而不是“开发人员”
- 使用“专攻加密货币的金融分析师”,而不是“分析师” 在背景故事中加入具体技能。
❌ 缺少预期输出
问题:Agent 不清楚完成标准。 输出不一致。 任务难以衔接。
建议:始终指定 expected_output: expected_output: | 一个 JSON 对象,包含:
- summary:字符串(最多 100 个单词)
- key_points:字符串列表
- confidence:0 到 1 之间的浮点数
❌ Agent 数量过多
问题:协调开销大。 沟通不一致。 执行速度变慢。
建议:设置 3-5 个角色明确的 Agent。 一个 Agent 可以处理多个相关任务。 简单操作应使用工具,而不是 Agent。
限制
- 仅支持 Python
- 最适合结构化工作流
- 用于简单场景时可能过于冗长
- Flows 是较新的功能
相关技能
适合搭配:langgraph、autonomous-agents、langfuse、structured-output
评论
支持 Markdown