上一篇博客中主要使用了crewai官网中的云端试用功能,今天来试试开源的crewai通过代码配置构建多智能体的功能。
官方推荐的使用方法是:
使用步骤:
1.安装python库
pip install crewai
- 在文件夹中自动创建项目
crewai create crew <project_name>
-
然后修改agents.yaml,tasks.yaml,crewpy,main.py来配置智能体角色,智能体的任务。
-
运行main.py
crewai run
crewai核心就是from crewai import Agent, Crew, Task,然后进行角色任务的配置,决定如何完成任务。
这里我创建了个示例项目latest-ai-development,里面的提示词都写好了,配了.env就能运行。只有两个智能体,一个是研究员,一个是报告分析师。
crewai create crew latest-ai-development
crewai run
官方也给出了很多示例,有个单独的github仓库 https://github.com/crewAIInc/crewAI-examples
这里我试用了游戏开发的示例 game-builder-crew
这个示例在试用前,需要安装一个python的项目环境管理库,poetry
我是windows系统,清华源,直接开代理用pip安装了
pip install poetry -i https://pypi.org/simple
看了一下提示词,是做一个吃豆人的游戏,有三个智能体,一个是开发,一个是软件质量控制工程师,一个是首席软件质量控制工程师
相对应的,三个任务,python开发游戏,检查代码,保证代码完整。
这些agent和task共同构成了这个crew,运行完后在控制台给出代码。
不过在我看来,开源的这个功能,实用性有待考证,因为为了获得这个游戏的代码,需要用crewai生成项目,配置角色,配置任务,写好提示词,配置需要用的依赖,最后配置.env运行,仅仅是获得了一段代码,或者可以获得一个报告。但如果直接同大模型对话,也可以获得类似的效果。可能多智能体的优势在需要重复完成复杂的任务时,才能显现出来,简单的任务直接对话就行。
把生成的游戏代码粘贴出来,试一下,明明应该做的是吃豆人,但做出来的代码是贪吃蛇。这样生成的代码还没有给出需要的依赖,仅仅是用大模型检验了两遍生成的代码有没有错误。
再比较一下crewai代码配置多智能体和从官网企业版配置多智能体。
代码配置的话,很多方面代码都要自己写,要写提示词,要配置工具,还只能在控制台输出结果(也可以写后端代码把结果传递到前端),想实现复杂的功能都要自己改,所以多智能体带来的效率提升还是有限,因为大模型只能输入提示词然后做出回答,更多的代码工作要人来完成。
官网企业版倒是可以和ai对话沟通需求,给出提示词和信息,然后自动生成,自动部署前端,但是很多细节都是大模型自由发挥,不好满足需求。