赞
踩
本博客来自 CrewAI 维护者 Joao Moura。CrewAI 是一个基于 LangChain 构建的多智能体框架,我们非常高兴能够重点介绍这项前沿工作。
NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割
AI 代理正在成为改变游戏规则的因素,迅速成为解决问题、创造和创新的合作伙伴,而这正是 CrewAI 的作用所在。
想象一下,在短短几分钟内将一条思路变成一个全面的着陆页。这是我们今天用 CrewAI 创造的现实。
最近,我在一条推文中演示了这一点,使用 CrewAI 和 LangChain 与 OpenHermes2.5(由 Ollama 提供支持)将一行代码转换为完整的着陆页。结果揭示了 AI 协作中尚未开发的潜力,以及比以往任何时候都更快地对想法进行早期市场测试的能力,而这只是一个用例(使用 Replit 中的代码)。
CrewAI 的愿景很明确,即让工程师利用人工智能代理的集体力量,超越传统自动化,将代理整合在一起,简化决策,增强创造力并解决复杂的挑战。
CrewAI 倡导与每位工程师产生共鸣的原则:通过模块化实现简单性。这意味着它就像一组构建块(与 LangChain 非常相似)。
CrewAI 的主要组件:
我们相信简单的力量可以解锁复杂性。通过将复杂的代理世界分解为这些模块化组件,我们使其变得平易近人、易于管理且有趣。
虽然个人任务很重要,但当多个代理聚在一起组成一个团队时,CrewAI 才能真正发挥其优势。团队合作——代理协作、分享目标并遵循流程以实现共同目标——从平庸的结果到令人印象深刻的结果!
CrewAI 内部协作的一个例子是授权,借助授权,代理可以请求帮助或将部分任务分配给其他人,就像我们在工作场所所做的那样。这种自发协作的能力是这个库与众不同的一个例子。
我设计 CrewAI 是为了实际的、现实世界的使用。我们努力使它成为一个可以集成到您的应用程序中的库,并且使用它几乎就像调用函数一样容易。
完整的代码示例可在 Replit 上作为模板获得,你可以自己自定义并在云中运行,也可以在 Github 上获得。
让我们探索一个可以从一行想法构建着陆页面(landing page)的团队的想法。组建新团队的最佳方式是首先规划出你作为人类自己完成这项工作需要经历的过程,然后我们可以将其转化为团队。
我对着陆页面的需求来自于这样一个事实:我想快速试验各种想法,看看它们是否有吸引力,所以我希望能够快速构建一个着陆页面并衡量人们对它的兴趣,这样我才能花更多的时间在上面。除了着陆页面之外,我还需要很好地传达我提供的产品或服务,以确保它引人注目。
所以这是我作为人类会做的事情:
那么,如果我必须为此组建一个团队,我会雇佣什么样的人?
现在我们有了自己的团队,让我们看看如何将其中的一部分转化为初始的 CrewAI 团队,从而将我们的一句话扩展为一个成熟的研究想法(完整代码位于 Replit 和 Github)。
为此,你需要创建要使用的每个代理,创建你希望他们执行的任务,然后将它们组合成一个 Crew。
- # ... early imports, tools, setting OpenAI API key, etc
- from crewai import Agent, Task, Crew
-
- ## Create Agents with goal, role, backstory and tools
- idea_analyst = Agent(
- role="Senior Idea Analyst",
- goal= "Understand and expand upon the essence of ideas... [rest of it]",
- background_story="You're recognized as a thought leader... [rest of it]",
- verbose=True,
- tools=[
- SearchTools.search_internet,
- BrowserTools.scrape_and_summarize_website
- ]
- )
- # communications_strategist = Agent(...) another agent
-
- ## Create the tasks that will produce a fully formed idea proposal
- expand_idea_task = Task(
- description="THIS IS A GREAT IDEA! Analyze it and conduct... [rest of description]",
- agent=idea_analyst
- )
- # refine_idea_task = Task(...) another task
-
- ## Create the crew that will produce a fully formed idea proposal
- crew = Crew(
- agents=[idea_analyst, communications_strategist],
- tasks=[expand_idea_task, refine_idea_task],
- verbose=True
- )
-
- final_improved_idea = crew.kickoff() # returns the final idea proposal

我们刚刚探索的示例是 CrewAI 中最基本的设置之一,看看它有多强大!但这只是冰山一角。想象一下当你开始自定义事物时的可能性(我将在文章后面链接到一些完全可行示例)
考虑在你的团队中混合和匹配不同的 AI 大脑 (LLM)。有些可能基于云,其他则直接在你的计算机上,由你决定。如果你面临独特的挑战怎么办?没问题,你始终可以拥有一个经过微调的模型作为代理之一的大脑。与外部系统的集成怎么样?你可以制作自己的工具或利用 LangChain 提供的大量工具,例如以下示例:
- # !pip install yfinance
-
- from langchain.chat_models import ChatOpenAI
- from langchain.llms import Ollama
- from langchain.tools.yahoo_finance_news import YahooFinanceNewsTool
-
- from crewai import Agent, Task, Crew
-
- stock_analyst = Agent(
- role="Senior Stock Analyst",
- goal= "Report on stocks and analysis with suggestions ...",
- background_story="You're recognized as a major trader...",
- llm = Ollama(model="openhermes2.5-mistral") # Using local model with Ollama
- tools=[ YahooFinanceNewsTool() ], # Using a LangChain tool
- verbose=True,
- )
-
- # Create Other Agents, Tasks and Crew

对于那些深入研究本地模型的人来说,请注意:它们可能有点棘手,尤其是较小的模型。为了充分利用它们,你可能需要调整一些设置。你应该将“观察”添加为停用词,并使用“top_p”、“repeat_last_n”和“temperature”等参数来使其按你的需要工作。这些小调整可以对你的 AI 代理的性能产生巨大的影响。
在幕后,每个 CrewAI 代理本质上都是一个 LangChain
代理,但通过 ReActSingleInputOutputParser
进行了增强。该解析器经过特别修改,可以更好地支持角色扮演,包含用于上下文焦点的绑定停用词,并集成记忆机制(使用 LangChain 的 ConversationSummaryMemory
)以实现任务的连续性。
代理建立在 LangChain
之上这一事实产生了飞轮效应,最主要的是你可以立即访问所有 LangChain
工具和工具包,仅此一项就已经解锁了许多用例。
在当前迭代中,代理自主运行,进行自我对话以确定工具的使用。然而,CrewAI 的未来版本计划引入多种流程类型。这将使各种组设置中的协作执行成为可能,允许在运行时在代理之间进行动态任务分配
任务从当前版本创建时就分配给代理,并提供了覆盖代理在执行工作时可用的工具的能力,这使得引导同一个代理执行略有不同的任务变得更容易,同时不会让太多工具压倒它。
Crew 是一个封装代理和任务的框架,促进它们按顺序执行工作。在实践中,你可能会发现部署多个独立的 Crew 更有效,每个 Crew 都有一些代理。这种模块化方法允许每个团队产生不同的结果,而不是由一个单一的大型团队处理多项任务,或由代理处理单一输出。
除了构建着陆页面之外,我还将 Crews 用于许多其他案例,其中一些案例在下面,其中包含其 Replit 模板的链接,你可以自行修改和尝试。
目前,CrewAI 倡导“顺序”流程。 可以将其视为接力赛,每个代理完成自己的部分,然后将工作交给下一个代理。 它很简单但有效。
但这并没有充分利用 AI 代理可以协同工作的所有不同方式,因此我们不会止步于此——我们正在努力引入更复杂的流程,如“共识”和“分层”,以解锁更多潜在用途。
CrewAI 代表了 AI 代理的转变,它提供了一个基于多功能性和效率的薄框架,利用协作和角色扮演。它是工程师和创意人员的工具,使 AI 代理能够无缝组装成有凝聚力、高效的团队。
无论是将单一想法转化为成熟的着陆页面,还是进行复杂的想法分析,CrewAI 都擅长通过其流程处理各种任务。
从提升社交媒体影响力到构建交互式着陆页面,CrewAI 的实际应用凸显了其实用性和适应性。展望未来,CrewAI 将进一步发展,引入更复杂的流程,并继续重新定义 AI 团队合作的格局。凭借其用户友好的集成和自定义选项,CrewAI 不仅仅是一个概念,而是一个利用 AI 代理功能的有形、强大的工具。
原文链接:CrewAI 简明教程 - BimAnt
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。