面试经验专栏
本篇总结了大模型面经中关于Agent部分相关的知识和内容。
LLM(大型语言模型) Agent 是一种能产出不单是简单文本的 AI 系统,使用 LLM 的能力,作为其计算引擎,让自己能够对话、任务执行、推理,实现一定程度的自主行动
可以说,在这个大模型 AI 时代下,大模型应用 or AI Power + 的应用就是大模型 Agent,等同于移动互联时代的 APP。
本篇将开启一个新系列,尽量细节的讲讲大模型中关于Agent的相关知识内容,因为Agent目前尚未完全流行起来,但是已经有人讨论Agent是目前阶段实现AGI的最优方式。
下面是一个快捷目录:
1.什么是大模型(LLM)Agent?
2.LLM Agent应用例子。
3.LLM Agent流程之一:拆解子目标和任务分解。
什么是大模型(LLM)Agent?
Agent(智能体)概念最早由人工智能领域的研究者提出,旨在模拟人类的智能行为。最初的Agent系统主要集中在解决特定问题或领域,如专家系统、规则引擎等。
20世纪80年代末和90年代初,随着计算机和网络技术的发展,Agent开始融入到各种应用中,如搜索引擎、个人助理等。
强化学习等技术的兴起(2014年起,深度强化学习出现)使得Agent能够通过与环境的交互来学习和优化其行为。
直到现在,基于LLM和深度强化学习结合的Agent已经成为人工智能领域的核心研究方向之一,涉及到智能系统、机器人、游戏、自动化等多个领域。
简而言之,现在的Agent就是LLM + Planning + Memory + Tools,让大模型实现任务自动化,并且能够不断探索、规划和发展新技能。
LLM Agent应用例子
1.西部世界小镇Agent
2023年3月,斯坦福制作了西部世界小镇Agent,构建出了一个虚拟小镇,让25个AI智能体在其中生存、从事复杂行为。如下图所示:
为了生成智能体,研究者提出了一种全新架构,它扩展了大语言模型,能够使用自然语言存储Agent的经历。随着时间的推移,这些记忆会被合成为更高级别的反射,智能体可以动态检索它们,来规划自己的行为。最终,用户可以使用自然语言和全镇的25个Agent都实现交互。
如上,生成式智能体的架构实现了一个记忆「检索」(Retrieve)功能,这一功能将智能体的当前情况/感知(Perceive)作为输入,并返回记忆流(Memory Stream)的一个子集(Retrieved Memories)传递给语言模型,而检索功能有多种可能的实现方式,具体取决于智能体在决定如何行动时考虑的重要因素。
2.BabyAGI
BabyAGI是一个智能个人任务管理和解决工具,它背后的脚本虽然看似简单,但实质上是一个与任务列表交互的语言模型。利用OpenAI GPT-4和Pinecone向量搜索引擎的强大功能,它能自动生成任务、确定任务优先级并执行任务,从而实现任务的自动化管理。
-
BabyAGI从初始任务出发,利用GPT4生成解决方案和新任务,并将这些解决方案存储在Pinecone中以备后续检索。
-
BabyAGI根据先前任务的成果和预设目标制定新任务,并运用Pinecone存储并检索任务结果的上下文。
LLM Agent流程之一:拆解子目标和任务分解
1.规划
生成式智能体通过自上而下递归生成规划,以便创建合理的行动计划。这些规划最初是对当日任务的粗略描述。在执行规划时,智能体持续感知周围环境,并将观察结果存储到记忆流中。利用这些观察结果作为提示,语言模型决定智能体下一步的行动:是继续执行当前规划,还是采取其他反应。规划是Agent重要组成部分,而拆解子目标和任务分解属于规划中的一部分。
2.拆解子目标和任务分解
拆解子目标和任务分解意味着智能体能够将复杂的大型任务拆分成小而易管理的子目标,以实现高效处理。
3.拆解子目标方法
-
Chain of thought要求模型按步骤思考,花更多时间计算,将复杂任务分解成小、简单的步骤。CoT将大任务转化为多个易管理的任务,并解释了模型的思维过程。
-
Tree of Thoughts是对CoT的进一步扩展,通过在每一步骤中探索多种推理可能性来创建一个树形结构。它将问题分解为多个思考步骤,并在每个步骤中生成多个思考。搜索过程可以是BFS或DFS,每个状态由分类器或多数投票原则来决定。
-
Graph of Thoughts支持多种结构的Prompt方案,包括多链、树形和任意图形结构。它实现了各种基于图形的思考转换,如聚合、回溯和循环,这是CoT和ToT无法表达的。通过将复杂问题建模为操作图,以LLM作为引擎自动执行,GoT提供了解决复杂问题的能力,某种程度上,GoT包含了单线条的CoT和多分枝的ToT。
4.任务分解方法
-
给LLM一个简单的提示词“Steps for XYZ.”,“What are the subgoals for achieving XYZ?”
-
使用针对具体任务的指令,例如对一个写小说的任务先给出“Write a story outline.”指令;
-
使用者直接输入;
附上技术清单
在这里,我们想要强调的是:成功求职并不是一件难事,关键在于你是否做好了充分的准备。通过学习和掌握AI技术的相关知识和技能,了解面试中可能出现的问题和技巧,你就能够在面试中展现出自己的专业素养和实力,赢得面试官的青睐和认可。因此,让我们一起努力,用知识和技能武装自己,迎接AI时代的挑战和机遇吧!
有需要的朋友可以扫描下方二维码,免费获取更多相关资料!
最后,祝愿所有转行、求职的同学都能够在AI产品面试中取得优异的成绩,找到心仪的工作!加油!