【智能体】Ch1-什么是Agents
目录
- 一、什么是Agent?
- 1、模型(The Model)
- 2、工具(The Tools)
- 3、编排层(The orchestration layer)
- 二、Agent vs. 模型(The Model)
- 三、认知架构(Cognitive architectures):Agent如何运行
一、什么是Agent?
Agent在其最基本形式上可以定义为一个应用程序,它试图通过观察世界并利用其可支配的工具来达到目标。Agent是自主的,可以独立于人为干预进行操作,特别是在提供了明确的目标或任务时。Agent还可以主动采取措施以达成其目标。即使在人类未明确指示的情况下,Agent也能推理出下一步应该做什么以实现最终目标。虽然AI中的Agent概念非常普遍和强大,这篇文章将重点关注生成式AI模型所能构建的特定类型的Agent。
为了理解Agent的内部工作机制,首先介绍驱动Agent行为、行动和决策的基础组件。这些组件的组合可以被描述为认知架构,有许多这样的架构可以通过混合和匹配这些组件来实现。专注于核心功能,Agent的认知架构中有三个重要组件,如图1所示。
1、模型(The Model)
在Agent的范围内,模型指的是作为集中决策者的语言模型(LM),用于Agent的处理过程。Agent可以使用一个或多个任何规模(小型/大型)的LM,这些LM能够遵循基于指令的推理和逻辑框架,如ReAct、Chain-of-Thought或Tree-of-Thoughts。模型可以是通用的、多模态的或根据特定Agent架构的需求进行微调的。为了获得最佳生产结果,应使用最适合最终应用的模型,并且理想情况下,这些模型已经在与您计划在认知架构中使用的工具相关的数据签名上进行了训练。需要注意的是,模型通常不是根据Agent的特定配置设置(如工具选择、编排/推理设置)进行训练。然而,通过提供展示Agent能力的例子,包括Agent在各种情境下使用特定工具或推理步骤的实例,可以进一步优化模型以适应Agent的任务。
2、工具(The Tools)
基础模型虽然在文本和图像生成方面表现出色,但仍然受限于无法与外界互动。工具弥补了这一差距,使Agent能够与外部数据和服务互动,并解锁超出基础模型自身能力范围的更广泛的行动。工具可以采取各种形式,复杂程度各异,但通常与常见的Web API方法一致,例如GET、POST、PATCH和DELETE。例如,工具可以更新数据库中的客户信息或获取天气数据,以影响Agent提供给用户的旅行推荐。通过工具,Agent能够访问并处理真实世界的信息,这使它们能够支持更专业化的系统,如检索增强生成(RAG),显著扩展了Agent的能力,超越基础模型单独能够实现的范围。我们将在下文更详细地讨论工具,但最重要的是理解工具在Agent的内部能力与外部世界之间架起了桥梁,解锁了更广泛的可能性。
3、编排层(The orchestration layer)
编排层描述了一个循环过程,决定Agent如何接收信息,进行内部推理,并利用这些推理来指导其下一步行动或决策。通常,这个循环将持续进行,直到Agent达到其目标或一个停止点为止。编排层的复杂性可以根据Agent及其执行的任务而大不相同。有些循环可能是简单的决策规则计算,而其他循环可能包含链式逻辑,涉及额外的机器学习算法,或实施其他概率推理技术。我们将在认知架构部分更详细地讨论Agent编排层的具体实现。
二、Agent vs. 模型(The Model)
为了更清楚地了解Agent与模型之间的区别,请参考以下图表:
这个图表展示了模型和Agent在知识范围、推理/预测能力、工具集成和逻辑层实现方面的不同。通过理解这些差异,可以更好地选择和应用生成式AI技术来满足特定需求。
三、认知架构(Cognitive architectures):Agent如何运行
想象一下,一个忙碌厨房里的厨师。他们的目标是为餐厅客人烹制美味的菜肴,这涉及一系列的规划、执行和调整循环。
他们收集信息,例如顾客的订单和厨房及冰箱里的食材。
他们进行内部推理,基于刚刚收集的信息思考可以制作的菜肴和味型。
他们采取行动制作菜肴:切菜、混合香料、煎肉。
在每个过程阶段,厨师都会根据需要进行调整,随着食材消耗或收到客户反馈而细化计划,并使用之前的结果来决定下一步的行动方案。这个信息摄取、规划、执行和调整的循环描述了厨师用来实现目标的独特认知架构。同样,Agent也可以使用认知架构通过迭代处理信息、做出明智决策,并基于之前的输出细化下一步行动以实现最终目标。
在Agent认知架构的核心是编排层,负责维护记忆状态、推理和规划。它利用快速发展的提示工程和相关框架来指导推理和规划,使Agent能够更有效地与环境互动并完成任务。提示工程框架和语言模型任务规划领域的研究迅速发展,产生了各种有前景的方法。以下列出一些最受欢迎的框架和推理技术:
ReAct:一种提示工程框架,为语言模型提供了一种思维策略,以处理用户查询并采取行动,无论是否有上下文例子。ReAct提示已被证明优于几个最先进的基准,并改善了大型语言模型(LLMs)的用户交互性和可信度。
Chain-of-Thought(CoT):一种提示工程框架,通过中间步骤启用推理能力。CoT有多种子技术,包括自一致性、主动提示和多模态CoT,每种技术在特定应用中都有各自的优缺点。
Tree-of-Thoughts(ToT):一种提示工程框架,适合探索或战略远见任务。它推广了Chain-of-Thought提示,使模型能够探索各种用于语言模型通用问题解决的思维链。
Agent可以利用上述推理技术之一或许多其他技术来选择针对特定用户请求的最佳行动。例如,考虑一个编程使用ReAct框架来选择正确行动和工具的Agent。事件序列可能如下:
1、用户发送查询给Agent。
2、Agent开始ReAct序列。
3、Agent向模型提供提示,要求生成下一步ReAct步骤及其对应的输出:
a. 问题:从用户查询中输入的问题,与提示一起提供。
b. 思考:模型关于下一步该做什么的思考。
c. 行动:模型决定下一步采取的行动。
i. 这是选择工具的步骤。
ii. 例如,行动可能是[航班、搜索、代码、无]之一,前三者代表模型可以选择的已知工具,最后一个代表“无工具选择”。
d. 行动输入:模型决定向工具(如果有的话)提供的输入。
e. 观察:行动/行动输入序列的结果。
i. 这种思考/行动/行动输入/观察循环可以按需重复N次。
f. 最终答案:模型给出原用户查询的最终答案。
ReAct循环结束,提供最终答案给用户。
这个过程展示了Agent如何利用认知架构通过迭代处理信息和做出决策来实现目标。
如图2所示,模型、工具和Agent配置协同工作,根据用户的原始查询提供一个有依据且简明的响应。虽然模型可以根据其已有知识猜测答案(幻想),但它选择使用一个工具(Flights)来搜索实时的外部信息。这些额外信息提供给模型,使其能够基于真实的事实数据做出更明智的决策,并将此信息总结返回给用户。
总而言之,Agent响应的质量与模型在处理各种任务时推理和行动的能力直接相关,包括选择正确工具的能力,以及工具定义的精确程度。就像厨师用新鲜食材制作菜肴并关注客户反馈一样,Agent依赖健全的推理和可靠的信息来提供最佳结果。在下一部分,我们将深入探讨Agent连接新鲜数据的各种方式。