大语言模型 vs 人类
大语言模型很强大,就像人类的大脑一样拥有思考的能力。如果人类只有大脑,没有四肢,没有工具,是没办法与世界互动的。如果我们能给大模型配备上四肢和工具呢?大模型是不是就会打破次元壁,从数字世界走向现实世界,与现实世界实现梦幻联动呢?
大语言模型(后文将用 LLM 指代)可以接受输入,可以分析&推理、可以输出文字\代码\媒体。然而,其无法像人类一样,拥有规划思考能力、运用各种工具与物理世界互动,以及拥有人类的记忆能力。
-
LLM:接受输入、思考、输出
-
人类:LLM(接受输入、思考、输出)+ 记忆 + 工具 + 规划
如果我们给 LLM 配备上:与物理世界互动的工具、记忆能力、规划思考能力。LLM 是否就可以像人类一样,能够自主思考并规划完成任务的过程,能检索记忆,能使用各种工具提高效率,最终完成某个任务。
智能体是什么
智能体的英文是 Agent,AI 业界对智能体提出了各种定义。个人理解,智能体是一种通用问题解决器。从软件工程的角度看来,智能体是一种基于大语言模型的,具备规划思考能力、记忆能力、使用工具函数的能力,能自主完成给定任务的计算机程序。
图 1. 由 LLM 驱动的智能体系统
如图 1 所示,在基于 LLM 的智能体中,LLM 的充当着智能体的“大脑”的角色,同时还有 3 个关键部分:
-
规划(Planning) : 智能体会把大型任务分解为子任务,并规划执行任务的流程;智能体会对任务执行的过程进行思考和反思,从而决定是继续执行任务,或判断任务完结并终止运行。
-
记忆(Memory): 短期记忆,是指在执行任务的过程中的上下文,会在子任务的执行过程产生和暂存,在任务完结后被清空。长期记忆是长时间保留的信息,一般是指外部知识库,通常用向量数据库来存储和检索。
-
工具使用(Tool use) 为智能体配备工具 API,比如:计算器、搜索工具、代码执行器、数据库查询工具等。有了这些工具 API,智能体就可以是物理世界交互,解决实际的问题。
智能体能做什么
相信看到这里,我们已经对智能体有了基本的认知。如果你还觉得智能体这个概念有点抽象,没关系,现在我们来点好玩的,一起来看看智能体能玩出什么花样?
智能体之调研员
调研员智能体,可以根据用户的调研问题,从搜索引擎上搜索资料并总结,然后生成调研报告。这里使用 MetaGPT 框架中的调研员 示例来展示一个智能体的实际作用及其构成。
运行一下试试
`~ python3 -m metagpt.roles.researcher "特斯拉FSD vs 华为ADS"`
- 智能体执行调研
图2. 从搜索引擎进行搜索并获取Url地址列表
(图左为冯·诺依曼;右为奥本海默;背后是世界上第一台冯·诺依曼架构的“现代”计算机)
图3. 浏览网页并总结网页内容
图4.生成调研报告
- 输出调研报告metaGPT 生成并保存了调研报告
文件:特斯拉FSD vs 华为ADS.md
图5
拆解调研员
调研员智能体构成
回到前文所说的,如果仅有 LLM 这个大脑,是无法完成整个调研流程的。在调研员智能体中,为 LLM 大脑配备了规划、工具、记忆的能力,使得他能独立完成调研任务,下面列出其基本构成,构成分三部分:角色、工具、记忆。在角色中,会注册各种工具,定义思考规划的方式,以及本身具备的短期记忆能力。
图解调研员智能体
图6
智能体的关键构成
智能体 如上图所示,在基于 LLM 的智能体中,LLM 的充当着智能体的“大脑”的角色,同时还有 3 个关键部分:规划(Planning)、记忆(Memory)、工具使用(Tool use)
规划(Planing)
规划,可以为理解观察和思考。如果用人类来类比,当我们接到一个任务,我们的思维模式可能会像下面这样:
-
我们首先会思考怎么完成这个任务。
-
然后我们会审视手头上所拥有的工具,以及如何使用这些工具高效地达成目的。
-
我们会把任务拆分成子任务(就像我们会使用 TAPD 做任务拆分)。
-
在执行任务的时候,我们会对执行过程进行反思和完善,吸取教训以完善未来的步骤
-
执行过程中思考任务何时可以终止
这是人类的规划能力,我们希望智能体也拥有这样的思维模式,因此可以通过 LLM 提示工程,为智能体赋予这样的思维模式。在智能体中,最重要的是让 LLM 具备这以下两个能力:
子任务分解
通过 LLM 使得智能体可以把大型任务分解为更小的、更可控的子任务,从而能够有效完成复杂的任务。