CrewAI翻译站点

3天前更新 10 0 0

多智能体协作编排框架,角色分工与任务委派,MIT许可。

语言:
英文
收录时间:
2026-07-31
维护者:crewAI Inc.
产品定位:多智能体协作编排框架
开源协议:MIT
部署方式:本地部署
核心能力:多智能体,角色分工,任务委派,工具调用
特色功能:角色定义,顺序/层级流程,记忆,人机协作
支持模型:多模型兼容
工具调用方式:Function Calling,MCP
记忆机制:短期,向量记忆

CrewAI 是专为多智能体协作设计的 AI Agent 框架,允许开发者定义多个具有不同角色、目标和背景故事的智能体(Agent),将它们组成“团队”(Crew),通过任务委派和协作完成复杂工作流。CrewAI 的设计理念是“AI 团队协作”——每个 Agent 各司其职,像人类团队一样分工合作。

 

产品概述

CrewAI 由 João Moura 于 2023 年创立,采用 MIT 开源协议,迅速成为多智能体编排领域的明星项目。框架的核心概念包括:Agent(智能体,含角色、目标、背景故事)、Task(任务,含描述、预期输出、指派 Agent)、Crew(团队,含 Agent 列表、任务列表、执行流程)。CrewAI 支持两种执行流程:顺序流程(Sequential)——任务按顺序依次执行,上一个任务的输出作为下一个任务的上下文;层级流程(Hierarchical)——设一个“主管”Agent 自动协调任务分配。框架内置工具集成、记忆管理和人机协作能力,可与 LangChain 工具生态互通。

 

核心能力

  • 多智能体角色定义:为每个 Agent 设定角色(role)、目标(goal)和背景故事(backstory),塑造行为风格
  • 任务委派与协作:支持 Agent 之间相互委派任务,自动协调分工
  • 顺序与层级流程:Sequential 流程线性执行,Hierarchical 流程由主管 Agent 动态调度
  • 工具集成:内置搜索、文件读写、API 调用等工具,也可接入 LangChain 工具和自定义工具
  • 记忆管理:支持短期记忆(任务上下文)和向量记忆(基于检索的历史信息)
  • 人机协作:支持 Human-in-the-loop,任务执行过程中可请求人工输入
  • 输出自定义:支持 JSON、Pydantic 模型等结构化输出

 

优势亮点

  • 多智能体协作体验最自然:角色 + 目标 + 背景故事的设计让 Agent 行为更像真人团队成员
  • 上手快:API 设计简洁,几行代码即可定义一个多 Agent 团队
  • 顺序与层级双流程:简单任务用 Sequential,复杂任务用 Hierarchical,灵活适配
  • LangChain 生态兼容:可直接复用 LangChain 的工具和集成包
  • 社区活跃:GitHub 星标快速增长,Discord 社区响应积极

 

短板

  • 复杂任务稳定性待提升:层级流程中主管 Agent 的任务分配偶尔不够精准
  • 调试手段有限:相比 LangSmith,缺乏成熟的 trace 和可观测性工具
  • 性能开销:多 Agent 间频繁通信和上下文传递会增加 Token 消耗
  • 文档尚在完善中:部分高级用法(如自定义流程、记忆配置)文档不够详尽

 

适用企业/部门

AI 应用开发团队、R&D 部门、内容创作团队。适合需要多个 AI 角色协作完成的任务场景,如研究报告撰写(研究员 + 分析师 + 编辑)、市场调研(数据采集 + 分析 + 报告生成)、软件开发(需求分析 + 编码 + 测试)等。

 

安装教程

前提条件

  • Python 3.10 ~ 3.13
  • pip(Python 包管理器)

快速安装

# 安装 CrewAI 核心库
pip install crewai

# 安装工具包(可选,提供预置工具)
pip install 'crewai[tools]'

验证安装

from crewai import Agent, Task, Crew

# 定义 Agent
researcher = Agent(
    role="研究员",
    goal="收集和分析信息",
    backstory="你是一名资深研究员,擅长信息搜集与整理",
)

writer = Agent(
    role="撰稿人",
    goal="撰写清晰的文章",
    backstory="你是一名专业撰稿人,擅长将复杂信息转化为易读的文字",
)

# 定义任务
research_task = Task(
    description="研究 AI Agent 框架的发展趋势",
    expected_output="一份包含关键趋势的简要报告",
    agent=researcher,
)

write_task = Task(
    description="基于研究结果撰写一篇科普文章",
    expected_output="一篇 500 字的科普文章",
    agent=writer,
)

# 组建团队并执行
crew = Crew(
    agents=[researcher, writer],
    tasks=[research_task, write_task],
    verbose=True,
)

result = crew.kickoff()
print(result)

配置 LLM

# 默认使用 OpenAI,也可切换为其他模型
import os
os.environ["OPENAI_API_KEY"] = "your-api-key"

# 使用 Ollama 本地模型
from crewai import LLM
llm = LLM(model="ollama/llama3.1", base_url="http://localhost:11434")

researcher = Agent(
    role="研究员",
    goal="收集和分析信息",
    backstory="你是一名资深研究员",
    llm=llm,
)

 

相关导航