CrewAI:构建 LLM 多智能体工作流的框架 2026 版

CrewAI 让你为 LLM 创建有序的智能体团队。从角色定义到任务规划到工具集成。2026 版完整实战指南。

  • ⭐ 24000
  • Python
  • MIT
  • 更新于 2026-05-18

什么是 CrewAI? #

CrewAI 是为 LLM 创建「有序智能体团队」的框架。把复杂任务拆解给不同专 Expertise 的 Agent。

核心概念 #

Agent(智能体) #

from crewai import Agent

researcher = Agent(
    role='科技研究员',
    goal='研究用户最新的 AI 趋势',
    backstory='你是一位专注于前沿技术的研究员',
    verbose=True
)

Task(任务) #

from crewai import Task

task = Task(
    description='分析 Ray 框架的最新应用场景',
    agent=researcher,
    expected_output='200字摘要'
)

Crew(舰队) #

from crewai import Crew

crew = Crew(
    agents=[researcher, writer],
    tasks=[task1, task2],
    verbose=True
)

result = crew.kickoff()

架构组件 #

工具集成(Tools) #

from crewai.tools import tool

@tool("Search Tool")
def search_tool(query: str) -> str:
    return search_web(query)

researcher = Agent(
    role='研究员',
    tools=[search_tool],
    ...
)

角色配置 #

组件说明
role智能体角色
goal目标
backstory背景故事
verbose输出详细程度
tools可用工具
memory是否记忆
cache任务缓存

多智能体协作 #

顺序工作流程 #

crew = Crew(
    agents=[planner, researcher, writer, reviewer],
    tasks=[plan_task, research_task, write_task, review_task],
    process=Process.sequential  # 默认顺序
)

并行工作流程 #

crew = Crew(
    agents=[analyst1, analyst2],
    tasks=[task1, task2],
    process=Process.hierarchical  # 树形协作
)

工具集成 #

内置工具 #

  • Search:SerpApi、DuckDuckGo
  • Code:Python REPL、文件读取
  • Database:SQL、MongoDB
  • API:REST、GraphQL
  • File:PDF、Word、Excel

自定义工具 #

from crewai.tools import tool

@tool("Custom Calculation")
def calculate(input_data: str) -> str:
    """执行自定义计算"""
    return eval(input_data)

实际案例 #

市场调研舰队 #

# 1. 规划师
planner = Agent(role='项目规划师', goal='规划调研计划')

# 2. 数据收集
collector = Agent(role='数据收集员', goal='收集目标市场数据')
collector.add_tool(web_search)
collector.add_tool(api_call)

# 3. 分析师
analyzer = Agent(role='数据分析师', goal='深度分析数据')
analyzer.add_tool(calculation)

# 4. 撰稿人
writer = Agent(role='撰稿人', goal='产出报告')
writer.add_tool(document_reader)

crew = Crew(agents=[planner, collector, analyzer, writer])
result = crew.kickoff()

软件开发舰队 #

coder = Agent(role='程序员', goal='编写代码')
tester = Agent(role='测试工程师', goal='编写测试')
reviewer = Agent(role='代码审查员', goal='审查代码')

coding_task = Task(description='实现用户登录功能')
testing_task = Task(description='编写登录测试用例')
review_task = Task(description='审查代码质量')

crew = Crew(agents=[coder, tester, reviewer])

配置选项 #

语言模型 #

from langchain_openai import ChatOpenAI

llm = ChatOpenAI(model='gpt-4', temperature=0.7)

agent = Agent(
    llm=llm,
    ...
)

记忆组件 #

from crewai.memory import LongTermMemory, ShortTermMemory

agent = Agent(
    long_term_memory=LongTermMemory(),
    short_term_memory=ShortTermMemory(),
    ...
)

性能优化 #

  1. Token 控制max_tokens 限制输出长度
  2. 温度调节temperature=0 保证确定性
  3. 缓存cache=True 重复任务复用
  4. 批处理:合并小任务批量执行

部署 #

本地部署 #

pip install crewai
export OPENAI_API_KEY=sk-xxx
python crew.py

云端部署 #

FROM python:3.10
RUN pip install crewai
CMD ["python", "main.py"]

优化服务器 #

建议 4GB+ RAM,GPU 推荐用于 OpenAI 模型。

常见问题 #

Q: CrewAI 需要哪些 API Key?

答:至少一个 LLM 提供商(OpenAI、Anthropic)。某些工具需要额外的搜索或计算 API。

Q: 多智能体会产生竞争吗?

答:不会。任务分配由框架调度,Agent 间通过共享记忆协作。

总结 #

CrewAI 让「AI 超级工程师团队」落地。按「人分工」思路设计 Agent,框架自动协调。


参考:crewai.ai 文档、GitHub 示例 更新:2026-05-18

📦 出现在以下合集中

💬 留言讨论