(1)智能体介绍
1. 为什么要有智能体
- 幻觉:模型可能生成与现实不符的信息。
例如:问:鲁迅与周树人是同一个人吗?答:鲁迅与周树人不是同一个人。
- 时效性:模型训练数据过时,可能无法反映最新趋势和信息。
例如:问:今年是哪一年?答:今年是2023年。
- 可靠性:面对复杂任务时,可能频发错误输出,影响信任度。
例如:如图所示
2. 什么是智能体
-
感知:能够感知环境中的动态条件。
-
动作:能采取动作影响环境。
-
推理:运用推理能力理解信息、解决问题、产生推断、决定动作。
3. 智能体组成
-
大脑:作为控制器,负责记忆、思考和决策,接受感知模块的信息并采取相应动作。
-
感知:感知和处理外部环境的多模态信息,如图像、音频、视频、传感器等。
-
动作:利用工具执行动作以影响环境,工具包括文本检索、调用API、操控机械臂等。
4. 智能体范式
5. AutoGPT
用户将目标和任务输入给整个系统后,任务的列表将会将任务发送给相应的智能体,智能体在执行后,会将相关结果以及任务存入到记忆中,并且把相关的结果发送给另一个智能体,由这个智能体在创建新的任务,由此不断循环,直到完成最终任务
6. ReWoo
将用户的输入进行拆分,将各种工具之间的依赖形成一个有向无环图,并且在途中进行计划执行,直到达到最终的结果。Planner作为一个决策,将输入拆分成了多步骤,其中每一步都对应着相应的一些任务,然后将其中需要执行的部分发送给Worker进行执行,最终两部分的结果一并发送给Solver,得到最终的结果
7. ReAct
在接受用户的输入后,会选择相对应的工具进行执行,在拿到工具的结束条件后,模型会进一步思考,他是否应该选择下一个工具并执行,直到达到结束条件及完成用户的输入为止。ReAct结合了推行和行为两部分,更好地实现了智能体的思维模式
(2)Lagent & AgentLego(重点)
Lagent:
其中的大语言模型模块可以接受人类的反馈、人类指令以及外部观察,会在相对应地做出规划和行动后交付给Action(动作执行器),Action包括各种动作(比如:Python的解释器、搜索)
AgentLego:
其提供了大量视觉、多模态领域前沿算法, 提供可拓展的工具接口、灵活的适配方法、工具检索、部署以及各种智能体的案例,还可以方便接入Lagent、LangChain、Transformers Agents
两者的关系:![](https://img-blog.csdnimg.cn/direct/2540abfa71984c55bfef32a7c1b5e1fb.png)
经过上面的介绍,我们可以发现,Lagent 是一个智能体框架,而 AgentLego 与大模型智能体并不直接相关,而是作为工具包,在相关智能体的功能支持模块发挥作用。