赞
踩
自2022年ChatGPT诞生以来,LLM获得了收获了大量关注和研究,但究其根本,技术还是要为应用服务,如何将LLM应用于实际的业务场景成为了诸多工程师思考的问题。
从ChatGPT引入强化学习以来,基于LLM的Agent(智能体)概念再次火爆起来,本文旨在对Agent的起源、发展、现状进行一定程度的探究。
Agent(智能体)概念最早由人工智能领域的研究者提出,旨在模拟人类的智能行为。最初的Agent系统主要集中在解决特定问题或领域,如专家系统、规则引擎等。
20世纪80年代末和90年代初,随着计算机和网络技术的发展,Agent开始融入到各种应用中,如搜索引擎、个人助理等。
强化学习等技术的兴起(2014年起,深度强化学习出现)使得Agent能够通过与环境的交互来学习和优化其行为。
直到现在,基于LLM和深度强化学习结合的Agent已经成为人工智能领域的核心研究方向之一,涉及到智能系统、机器人、游戏、自动化等多个领域。
简而言之,现在的Agent就是LLM + Planning + Memory + Tools,让大模型实现任务自动化,并且能够不断探索、规划和发展新技能。
下面举几个LLM Agent案例。
2023年3月,斯坦福制作了西部世界小镇Agent,构建出了一个虚拟小镇,让25个AI智能体在其中生存、从事复杂行为。
为了生成智能体,研究者提出了一种全新架构,它扩展了大语言模型,能够使用自然语言存储Agent的经历。随着时间的推移,这些记忆会被合成为更高级别的反射,智能体可以动态检索它们,来规划自己的行为。最终,用户可以使用自然语言和全镇的25个Agent都实现交互。
如上,生成式智能体的架构实现了一个记忆「检索」(Retrieve)功能,这一功能将智能体的当前情况/感知(Perceive)作为输入,并返回记忆流(Memory Stream)的一个子集(Retrieved Memories)传递给语言模型,而检索功能有多种可能的实现方式,具体取决于智能体在决定如何行动时考虑的重要因素。
生成式智能体架构面临一个核心挑战,就是如何管理大量必须保留的事件和记忆。为了解决这个问题,架构的核心是记忆流(Memory Stream),即一个记录智能体全部经验的数据库。智能体可以从记忆流中检索相关记忆,这有助于它规划行动,做出正确反应,并且每次行动都会反馈记录到记忆流中,以便递归地改进未来行动。
此外,研究还引入了第二种类型的记忆——反思(Reflect)。反思是智能体根据最近经历生成的高级抽象思考。反思是周期性触发的过程,只有当智能体判断最近一系列事件的重要性评分,累积超过设定阈值时,才会启动反思机制。
生成式智能体为了创建合理的规划(Plan),它们会自上而下递归生成更多的细节。这些规划最初只是粗略的描述了当日所要做的事情。在执行规划的过程中,生成智能体会持续感知周围环境,并将感知到的观察结果存储到记忆流中。通过利用观察结果作为提示,让语言模型决定智能体下一步行动:继续执行当前规划,还是做出其他反应。
作者对该框架采用了两种评估方式:控制评估,以及端到端的评估:
BabyAGI是一个智能个人任务管理和解决工具。
BabyAGI背后的脚本非常简单(不要让看似复杂的图表欺骗你)。它本质上是一个与任务列表交互的语言模型,目的是根据预定义的目标自动生成任务、确定任务的优先级和执行任务。
BabyAG结合了OpenAI GPT-4和Pinecone向量搜索引擎的力量,以自动完成和管理一系列任务
通过迭代这个过程,babyagi不断为用户解决问题,并生成新的相关任务,这使得用户可以更高效地解决复杂的问题,专注于实现更高层次的目标,同时,Pinecone向量搜索引擎的使用确保了解决方案的组织和快速检索。具体流程如下图:
使GPT-4能够自主完成任务,而无需人类干预(Prompt)。
過往我們在使用ChatGPT的時候,必須要一步一步的给出提示Prompt,于ChatGPT「对话」才能达到自己要的結果。AutoGPT无需人工一步步干预,第一次输入指令后,AutoGPT会自动学习并完成任务。
可以将Auto-GPT想象成一个足智多谋的机器人。
我们每分配一个任务,Auto-GPT都会给出一个相应的解决计划。比如,需要浏览互联网或使用新数据,它便会调整其策略,直到任务完成。这就像拥有一个能处理各种任务的私人助手,如市场分析、客户服务、市场营销、财务等。
AutoGPT 可以抓取网站、搜索信息、生成图像、创建和运行代码等。
Auto-GPT具备的几个功能:
Auto-GPT的缺点:
2023年4月,英伟达 AI 科学家 Jim Fan 等人把 GPT-4 整进了「我的世界」(Minecraft)—— 提出了一个全新的 AI 智能体 Voyager。
Voyager 的厉害之处在于,它不仅性能完胜 AutoGPT,而且还可以在游戏中进行全场景的终身学习!
真・数字生命
与其他 AI 研究中常用的游戏不同,Minecraft 并没有强加预定义的终点目标或固定的剧情线,而是提供了一个具有无尽可能性的游乐场。对于一个有效的终身学习智能体来说,它应该具有与人类玩家类似的能力,如:
根据其当前的技能水平和世界状态提出适当的任务,例如,如果它发现自己是在沙漠而不是森林中,就会在学习收集铁之前学习收集沙子和仙人掌
基于环境反馈来完善技能,并将掌握的技能记入记忆,以便在类似情况下重复使用(例如,与僵尸战斗与与蜘蛛战斗类似)
持续探索世界,以自我驱动的方式寻找新的任务。
为了让 Voyager 具有上述这些能力,来自英伟达、加州理工学院、得克萨斯大学奥斯汀分校和亚利桑那州立大学的团队提出了 3 个关键组件:
一个迭代提示机制(Iterative Prompting Mechanism),能结合游戏反馈、执行错误和自我验证来改进程序
一个技能代码库(Skill Library),用来存储和检索复杂行为
一个自动教程(Automatic Curriculum),可以最大化智能体的探索
首先,Voyager 会尝试使用一个流行的 Minecraft JavaScript API(Mineflayer)来编写一个实现特定目标的程序。
虽然程序在第一次尝试时就出错了,但是游戏环境反馈和 JavaScript 执行错误(如果有的话)会帮助 GPT-4 改进程序。
左:环境反馈。GPT-4 意识到在制作木棒之前还需要 2 块木板。
右: 执行错误。GPT-4 意识到它应该制作一把木斧,而不是一把「相思木」斧,因为 Minecraft 中并没有「相思木」斧。
通过提供智能体当前的状态和任务,GPT-4 会告诉程序是否完成了任务。此外,如果任务失败了,GPT-4 还会提出批评,建议如何完成任务。
其次,Voyager 通过在向量数据库中存储成功的程序,逐步建立一个技能库。每个程序可以通过其文档字符串的嵌入来检索。复杂的技能是通过组合简单的技能来合成的,这会使 Voyager 的能力随着时间的推移迅速增长,并缓解灾难性遗忘。
上:添加技能。每个技能都由其描述的嵌入索引,可以在将来的类似情况中检索。
下:检索技能。当面对自动课程提出的新任务时,会进行查询并识别前 5 个相关技能。
第三,自动课程会根据智能体当前的技能水平和世界状态,提出合适的探索任务。
例如,如果它发现自己在沙漠而非森林中,就学习采集沙子和仙人掌,而不是铁。具体来说,课程是由 GPT-4 基于「发现尽可能多样化的东西」这个目标生成的。
目前,Agent领域百花齐放,并且已经诞生了很多有有趣、有实际应用的产品,如微软的贾维斯(Microsoft JARVIS,也称为HuggingGPT)、全球首个AI软件工程师-Devin等等。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。