[AI CrewAI] 你来当老板,组建AI团队,协作AI Agent完成任务

简介: [AI CrewAI] 你来当老板,组建AI团队,协作AI Agent完成任务

为什么要使用CrewAI?

AI协作的力量不容小觑。CrewAI旨在让AI代理能够扮演角色、共享目标并作为一个协调的单元运作——就像一支训练有素的团队。无论您是在构建智能助手平台、自动化客户服务组合,还是多代理研究团队,CrewAI都提供了复杂多代理交互的基础。

开始

安装

pip install crewai
pip install crewai[tools]

代码

import os
from crewai import Agent, Task, Crew, Process
from crewai_tools import SerperDevTool

os.environ["OPENAI_API_KEY"] = "YOUR_API_KEY"
os.environ["SERPER_API_KEY"] = "Your Key" # serper.dev API key

# You can choose to use a local model through Ollama for example. See https://docs.crewai.com/how-to/LLM-Connections/ for more information.

# os.environ["OPENAI_API_BASE"] = 'http://localhost:11434/v1'
# os.environ["OPENAI_MODEL_NAME"] ='openhermes'  # Adjust based on available model
# os.environ["OPENAI_API_KEY"] ='sk-111111111111111111111111111111111111111111111111'

# You can pass an optional llm attribute specifying what model you wanna use.
# It can be a local model through Ollama / LM Studio or a remote
# model like OpenAI, Mistral, Antrophic or others (https://docs.crewai.com/how-to/LLM-Connections/)
#
# import os
# os.environ['OPENAI_MODEL_NAME'] = 'gpt-3.5-turbo'
#
# OR
#
# from langchain_openai import ChatOpenAI

search_tool = SerperDevTool()

# Define your agents with roles and goals
researcher = Agent(
  role='Senior Research Analyst',
  goal='Uncover cutting-edge developments in AI and data science',
  backstory="""You work at a leading tech think tank.
  Your expertise lies in identifying emerging trends.
  You have a knack for dissecting complex data and presenting actionable insights.""",
  verbose=True,
  allow_delegation=False,
  # You can pass an optional llm attribute specifying what model you wanna use.
  # llm=ChatOpenAI(model_name="gpt-3.5", temperature=0.7),
  tools=[search_tool]
)
writer = Agent(
  role='Tech Content Strategist',
  goal='Craft compelling content on tech advancements',
  backstory="""You are a renowned Content Strategist, known for your insightful and engaging articles.
  You transform complex concepts into compelling narratives.""",
  verbose=True,
  allow_delegation=True
)

# Create tasks for your agents
task1 = Task(
  description="""Conduct a comprehensive analysis of the latest advancements in AI in 2024.
  Identify key trends, breakthrough technologies, and potential industry impacts.""",
  expected_output="Full analysis report in bullet points",
  agent=researcher
)

task2 = Task(
  description="""Using the insights provided, develop an engaging blog
  post that highlights the most significant AI advancements.
  Your post should be informative yet accessible, catering to a tech-savvy audience.
  Make it sound cool, avoid complex words so it doesn't sound like AI.""",
  expected_output="Full blog post of at least 4 paragraphs",
  agent=writer
)

# Instantiate your crew with a sequential process
crew = Crew(
  agents=[researcher, writer],
  tasks=[task1, task2],
  verbose=2, # You can set it to 1 or 2 to different logging levels
  process = Process.sequential
)

# Get your crew to work!
result = crew.kickoff()

print("######################")
print(result)

关键特性

  • 基于角色的代理设计:根据特定角色、目标和工具定制代理。
  • 自主代理间委托:代理可以自主地委托任务并在彼此之间进行询问,提高问题解决效率。
  • 灵活的任务管理:使用可定制工具定义任务,并动态地将它们分配给代理。
  • 流程驱动:目前仅支持顺序任务执行和层次化流程,但更复杂的流程(如共识和自主流程)正在开发中。
  • 保存输出为文件:将单个任务的输出保存为文件,以便您稍后使用。
  • 解析输出为Pydantic或Json:可以将单个任务的输出解析为Pydantic模型或Json,如果您愿意的话。
  • 与开源模型兼容:使用Open AI或开源模型运行您的团队,请参阅将crewAI连接到LLMs页面,了解有关配置代理与模型连接的详细信息,甚至包括在本地运行的模型!

crewAI-mindmap

CrewAI与其它产品的比较

  • Autogen:虽然Autogen在创建能够协同工作的对话代理方面做得很好,但它缺乏固有的流程概念。在Autogen中,协调代理之间的交互需要额外的编程,随着任务规模的增长,这可能会变得复杂和笨重。
  • ChatDev:ChatDev将流程的概念引入到AI代理领域,但其实现相当僵硬。ChatDev的定制化有限,并不适合生产环境,这可能会阻碍现实世界应用中的可扩展性和灵活性。

CrewAI的优势:CrewAI是专为生产环境设计的。它提供了与Autogen对话代理相当的灵活性,以及ChatDev的结构化流程方法,但却没有那种僵硬。CrewAI的流程旨在动态和适应性强,无缝融入开发和生产工作流程中。

亮点

我们只需要写一些如上的代码,定义一些角色代理(agent)和任务(task),然后让CrewAI来协调他们,完成任务,达到目的。

这样我们就可以专注于任务本身,而不是代理之间的交互。这是一个非常有趣的概念,我很期待看到CrewAI在未来的发展中能够发挥出更大的作用。


相关文章
|
人工智能 文字识别 监控
|
人工智能 物联网 调度
边缘大型AI模型:协作部署与物联网应用——论文阅读
论文《边缘大型AI模型:协作部署与物联网应用》系统探讨了将大模型(LAM)部署于边缘网络以赋能物联网的前沿框架。针对传统云端部署高延迟、隐私差的问题,提出“边缘LAM”新范式,通过联邦微调、专家混合与思维链推理等技术,实现低延迟、高隐私的分布式智能。
1594 6
边缘大型AI模型:协作部署与物联网应用——论文阅读
|
人工智能 监控 算法
人群计数、行人检测数据集(9000张图片已划分、已标注) | AI训练适用于目标检测任务
本数据集包含9000张已标注、已划分的行人图像,适用于人群计数与目标检测任务。支持YOLO等主流框架,涵盖街道、商场等多种场景,标注精准,结构清晰,助力AI开发者快速训练高精度模型,应用于智慧安防、人流统计等场景。
人群计数、行人检测数据集(9000张图片已划分、已标注) | AI训练适用于目标检测任务
|
人工智能 边缘计算 API
AI协作的四大支柱:协议详解与应用场景全解析​
本文深入解析Agentic AI协议的四大核心协议——MCP、A2A、ACP与ANP,涵盖技术特性、应用场景及选型指南,助你掌握多代理协作系统构建要点。
1159 6
|
机器学习/深度学习 人工智能 算法
用于实验室智能识别的目标检测数据集(2500张图片已划分、已标注) | AI训练适用于目标检测任务
本数据集包含2500张已标注实验室设备图片,涵盖空调、灭火器、显示器等10类常见设备,适用于YOLO等目标检测模型训练。数据多样、标注规范,支持智能巡检、设备管理与科研教学,助力AI赋能智慧实验室建设。
用于实验室智能识别的目标检测数据集(2500张图片已划分、已标注) | AI训练适用于目标检测任务
|
机器学习/深度学习 人工智能 监控
面向智慧牧场的牛行为识别数据集(5000张图片已划分、已标注) | AI训练适用于目标检测任务
本数据集包含5000张已标注牛行为图片,涵盖卧、站立、行走三类,适用于YOLO等目标检测模型训练。数据划分清晰,标注规范,场景多样,助力智慧牧场、健康监测与AI科研。
面向智慧牧场的牛行为识别数据集(5000张图片已划分、已标注) | AI训练适用于目标检测任务
|
存储 人工智能 监控
LangGraph实战:从零构建智能交易机器人,让多个AI智能体像投资团队一样协作
如今的量化交易已远超传统技术指标,迈向多智能体协作的新时代。本文介绍了一个基于 **LangGraph** 构建的多智能体交易系统,模拟真实投资机构的运作流程:数据分析师收集市场情报,研究员展开多空辩论,交易员制定策略,风险团队多角度评估,最终由投资组合经理做出决策。系统具备记忆学习能力,通过每次交易积累经验,持续优化决策质量。
2073 8
LangGraph实战:从零构建智能交易机器人,让多个AI智能体像投资团队一样协作
|
人工智能 分布式计算 自然语言处理
多智能体系统设计:5种编排模式解决复杂AI任务
本文探讨了多AI智能体协作中的关键问题——编排。文章指出,随着系统从单体模型向多智能体架构演进,如何设计智能体之间的通信协议、工作流程和决策机制,成为实现高效协作的核心。文章详细分析了五种主流的智能体编排模式:顺序编排、MapReduce、共识模式、分层编排和制作者-检查者模式,并分别介绍了它们的应用场景、优势与挑战。最后指出,尽管大模型如GPT-5提升了单体能力,但在复杂任务中,合理的智能体编排仍不可或缺。选择适合的编排方式,有助于在系统复杂度与实际效果之间取得平衡。
2484 10
多智能体系统设计:5种编排模式解决复杂AI任务

热门文章

最新文章