CrewAI 多智能体系统实战 2026:让多个 AI Agent 协同工作
从单Agent到多Agent团队:用CrewAI构建真正能协作的AI工作流
CrewAI 多智能体系统实战 2026:让多个 AI Agent 协同工作
从单Agent到多Agent团队:用CrewAI构建真正能协作的AI工作流
CrewAI完整入门指南:Agent角色设计、任务分配、工具集成、实战项目,构建能处理复杂任务的多Agent系统
为什么需要多 Agent 系统
单个AI Agent的局限:
CrewAI的解决思路:定义多个专业角色的Agent,像真实团队一样分工协作。
安装和基础概念
bash
pip install crewai crewai-tools
核心概念:
第一个多Agent项目:内容创作团队
python
from crewai import Agent, Task, Crew, Process
from crewai_tools import SerperDevTool工具
search_tool = SerperDevTool()定义Agent
researcher = Agent(
role='资深内容研究员',
goal='收集准确、最新的信息,为内容创作提供扎实的事实基础',
backstory='你是一位有10年经验的内容研究员,擅长快速找到可信来源,识别信息的准确性',
tools=[search_tool],
verbose=True,
allow_delegation=False
)writer = Agent(
role='专业内容写手',
goal='根据研究资料写出引人入胜、结构清晰的文章',
backstory='你是一位有15年经验的科技类内容写手,擅长将复杂概念变成易读的内容',
verbose=True,
allow_delegation=False
)
editor = Agent(
role='资深内容编辑',
goal='确保内容的质量、准确性和可读性达到发布标准',
backstory='你是有20年经验的内容编辑,以标准严格和对细节的关注著称',
verbose=True,
allow_delegation=True
)
定义任务
research_task = Task(
description='研究{topic}的最新进展,找到5-7个可信信息来源,整理关键数据和观点',
expected_output='一份包含来源链接、关键数据和核心观点的研究摘要',
agent=researcher
)write_task = Task(
description='基于研究摘要,写一篇1500字的文章,面向{audience},包含引言、3个主要部分和结论',
expected_output='完整的1500字文章初稿,Markdown格式',
agent=writer
)
edit_task = Task(
description='对文章初稿进行全面编辑:检查事实准确性、逻辑连贯性、语言质量,给出修改版本',
expected_output='经过编辑的最终文章版本,并附上修改说明',
agent=editor
)
创建Crew
crew = Crew(
agents=[researcher, writer, editor],
tasks=[research_task, write_task, edit_task],
process=Process.sequential, # 顺序执行
verbose=2
)运行
result = crew.kickoff(inputs={'topic': 'AI Agent 2026年最新进展', 'audience': '技术管理者'})
print(result)
并行执行(提高效率)
python
某些任务可以并行
crew = Crew(
agents=[researcher, writer, editor],
tasks=[research_task, write_task, edit_task],
process=Process.hierarchical, # 层级模式,Manager Agent自动分配
manager_llm="gpt-4o", # 管理Agent使用的模型
verbose=True
)
实战案例:自动化投资研究报告
python
角色:市场分析师 + 财务分析师 + 风险评估师 + 报告撰写师
任务:分析目标公司 → 财务健康度 → 风险评估 → 生成投资报告
工具:搜索 + 财务数据API + 文件写入
完整代码见GitHub示例(篇幅限制省略)
常见问题
Q: Agent经常陷入循环怎么办? A: 设置max_iter限制最大迭代次数,通常设为5-10就够。
Q: Agent之间沟通效率低怎么优化? A: 让任务的expected_output更具体,Agent根据明确的输出格式传递信息更高效。
Q: 如何控制成本? A: 简单Agent用gpt-4o-mini,复杂推理Agent用gpt-4o,管理Agent用更强的模型。
相关工具