一、分类
自动agent、半自动agent、领域、自定义sop和支持人为干预的agent。
先泼个冷水,目前这些agent项目都是实验品,发展还没有做知识库问答相关开源项目那么成熟,
二、全自动agent
autoGPT、loopGPT、babyAGI
全自动agent就是人类不可控制,生成结果的流程也无法干预、调整,规则、流程都是封闭起来的,用户能做的只是输入一个问题
AutoGPT
用户能做的就是改个名字,流程完全不可控,大模型需要openai的api key,好多朋友评论说autoGPT就是个openai api的印钞机,实际生产效果并不好,更像一个玩具
loopGPT
也是autoGPT,在以下方面做了升级:
-
在使用token上做了优化,让它不费太多的token
-
允许人类中间稍稍纠正方向
-
中断回答时能保留当前模型状态的记忆
babyAGI
跟camel一样,都能根据用户指令来拆解。不过camel只是把用户指令说得更清楚,而babyAGI则拆解成一个个任务,用大模型一个一个地把这些任务执行完。而不是像camel没有把任务分得那么细,让2个甚至3个智能体自动在对话中执行任务,由此看来,这两个在逻辑框架都不一样,另外,babyAGI需要向量数据库来存储,除了llm的api,还需要向量数据库的api
个人感觉camel要比babyagi好些,可以自定义的地方稍稍多点,适合不复杂、对准确性要求并不太高、发散性的应用场景,我都想部署部署camel用作标题、选题等灵感生成
三、半自动agent
半自动agent在程序调用、agent角色设定、甚至sop至少可以部分修改,不是全封闭好的
camel
camel的可部署性、部署价值要比上面提到的 autoGPT、loopGPT强,社区也更成熟
引入了2个机器人角色来交流对话角色扮演,用户除了设定目标,可以设定这两个机器人的角色(具体角色除了框架已经提供的,自己修改增加角色数量)
添加:
可以添加专门负责api工具调用的agent-----可以浏览互联网、阅读文档、创建图像、音频和视频、图像识别等内容,甚至可以直接执行代码这个就需要有开发经验,自己根据这个框架做增添,在代码里改,也可以加上向量数据库等
四、领域agent:
chatDev、metaGPT
目前agent流程只适用于特定领域,尤其是代码生成和编程,这两个开源项目都是让一群agent程序员来构建软件。角色已经设定:
chatDev
包括执行官,产品官,技术官,程序员 ,审查员,测试员,设计师 等。这些智能体形成了一个多智能体组织结构,其使命是“通过编程改变数字世界”。ChatDev内的智能体通过参加专业的功能研讨会来 协作,包括设计、编码、测试和文档编写等任务
MetaGPT
输入一句话的老板需求,输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等 MetaGPT内部包括产品经理 / 架构师 / 项目经理 / 工程师,它提供了一个软件公司的全过程与精心调配的SOP
这两个项目亮眼的还是sop的引进,可以自定义sop,即使自局限于他们提供的这些角色,是对camel的一个发展
五、自定义agent:
superAGI、autoGen、agents、swarms,可自定义模型、知识库和工具
superAGI
要比上面提到的哪个都成熟,目前已经有了根据superAGI开发的商用产品了,可惜就是国外的,对国产模型和应用支持不好。国产想要可自定义模型、知识库和工具,可以去看fastGPT,虽然主要是针对知识库调用的,也是有自定义模型、工具甚至sop自定义的,我个人部署过,效果要比autoGen、agents好多了
superAGI功能:
-
提供、生成和部署自主 AI agent
-
使用工具调用
-
无缝运行并发代理
-
图形用户界面
-
操作控制台
-
多向量数据库
-
多模式代理
-
代理轨迹微调
-
性能遥测
-
优化token使用,更节省token
-
代理内存存储
-
循环检测启发式
-
并发代理
-
资源管理器
支持Notion 、twitter、duckduckgo、slack、Instagram等
配置agent时,可以自定义知识库、工具调用、model和基本的description、name和goals。国产的fastGPT上也见过,工具调用没有superAGI方便
autoGen
自定义模型、知识库、工具,可以sop自定义和人为中间干预
大家可以试试autoGen,玩好了能做很多有实际价值的应用
aiwaves波形智能的agents
这个复杂点,不仅可以设定自定义数量的自定义角色,还可以自己修改这些角色之间的对话关系,加入人类纠正在里面也行,很自定义的开源项目。
不过现在也已经有人根据这个项目在做销售机器人了
项目提供的代码实例就有很多个,包括类似chatDEV和metaGPT的IT机器人,也有单个的电商机器人
swarms
自定义模型、工具调用、sop停止条件、回答循环次数,像agents一样既可以只有一个agent,也可以有多个agent
多个agent设置,代码要比agents简单很多、缺点是这个项目比较新,社区不成熟,可以关注关注
综上、aiwaves可以试试,但不是成熟。
下面的4个自定义agent最有应用价值,
autogen社区更成熟,superAGI又是国外的,aiwaves的agents和swarms又不太成熟
ps:上面的agent都在github中