对比5个最需要了解的AI多智能体编排框架【3】:角色扮演系的CrewAI
原创 曾经的毛毛 AI大模型应用实践 2024年12月02日 08:30 江苏
点击上方蓝字关注我们
在了解轻量级的Swam与重量级的LangGraph两个多智能体编排框架后,我们来了解另一个较早推出且专注于多智能体系统的开源框架CrewAI。本篇内容:
-
快速认识CrewAI
-
用CrewAI实现多智能体Demo
-
CrewAI新特性:更强大的Flows
-
CrewAI特点总结
1
快速认识CrewAI
CrewAI是一个基于角色扮演、天生为构建具备自主能力的多智能体系统而设计的高层Python开发框架。基于CrewAI你可以快速组建一个多智能体团队,并通过团队内多个智能体成员的自主决策与无缝协作来完成一系列任务。
CrewAI不是一个为了通用LLM应用而设计的底层框架,恰恰相反,它是基于底层框架LangChain之上的更高层抽象,提供了一组专用于多智能体系统构建所需要的模块与工具。因此如果你的应用场景不适合多智能体,并不建议使用CrewAI实现。
CrewAI的核心机制可以用下图表示,图中框内展示了最核心的CrewAI组件及其协作机制。
CrewAI的核心概念是Crew。简单的总结Crew:Crew就是多个智能体组成的小团队。团队中的多个智能体(Agent)根据设定的流程策略(Process),借助必要的工具(Tools),自主协作完成一系列任务(Task)。
与Crew相关的核心概念包括:
【Agent:智能体】
代表一个独立的智能体,在CrewAI中通过简单的定义即可创建,每个智能体有其扮演的角色、目标、背景、可以使用的工具与LLM等。Agent可以自主作出决策(借助LLM)以执行某个任务(Task)、必要时可以使用某个工具(Tool),还可以与其他智能体通信,比如转发任务。
【Tools:工具】
智能体可以借助工具来拓展自己的能力,比如调用外部函数与算法、访问外部API、访问数据库、检索必要的知识等。
【Task:任务】
任务是输入或拆分出的工作内容。比如“生成xx风格xx主题的小红书po文”,“搜索最新的前五名热点新闻”等。任务必须由某个Agent完成,这个Agent可以是直接指定,也可能由某个管理的Agent派发,你甚至可以指定任务需要的工具。
【Process:流程】
流程用来确保任务按照指定的策略被分配与执行。在CrewAI中,这里的流程(Process)是由CrewAI框架来负责协调,你只能指定流程的策略。最新的CrewAI中流程只能支持顺序与层级两种流程策略。
-
顺序流程<