LLM 之后的下一个热点是 AI 智能体?Karpathy 直言:现在 OpenAI 内部对于 AI Agent 的论文十分追捧,或许这就是 OpenAI 的新方向。
最近,AI Agent 忽然再次爆火。
什么是 AI 智能体?
它们是一种自动的智能体,以最简单的形式中在循环中运行,每次迭代时,它们都会生成自我导向的指令和操作。因此,它们不依赖人类来指导对话,并且是高度可扩展的。
大语言模型的出现,无疑给 AI 智能体的发展带来了全新的想象力。
这也引起了无数 AI 大佬和科技巨头的兴趣。今年加入 OpenAI 的大牛、前特斯拉 AI 总监 Karpathy 近日就在一次开发者活动上表示:AI 智能体,代表了 AI 的一种未来!
其实,早在今年三、四月,就有过一轮 AI 智能体的大爆发,仿佛巧合一样,在短短两周内,斯坦福西部世界小镇、BabyAGI、AutoGPT 等多个智能体,就如雨后春笋一般冒出来。
甚至有人发出号召:别卷大语言模型了,咱们是卷不过 OpenAI 的,但要说起 AI 智能体,他们并不比我们有经验多少。
说不定,一不小心自己就能卷成 AI 智能体赛道上的「OpenAI」!
今天,就让我们回顾一下几个月前的这股 AI Agent 大爆发。
这些智能体出现的时间,都非常接近。
3 月 21 日,Camel 发布。
3 月 30 日,AutoGPT 发布。
4 月 3 日,BabyAGI 发布。
4 月 7 日,西部世界小镇发布。
5 月 27 日,英伟达 AI 智能体 Voyager 接入 GPT-4 后,直接完胜了 AutoGPT。通过自主写代码,它完全独霸了《我的世界》,可以在游戏中进行全场景的终身学习,根本无需人类插手。
就在同一时间,商汤、清华等共同提出了通才 AI 智能体 Ghost in the Minecraft (GITM),它同样能够通过自主学习解决任务,表现优异。
这些表现优异的 AI 智能体,简直让人看到了 AGI + 智能体的雏形。
对于前几个 AI 智能体,Anacondainc 数据科学家、Sophia Yang 博士,就曾在博客中给出过全面分析。
这几个 AI 智能体中,最吸引眼球的,无疑就是一经推出就爆火的,斯坦福和谷歌的研究者共同创建的西部世界小镇了。
这是一个交互式的沙盒环境,在小镇上,生活着 25 个可以模拟人类行为的生成式 AI 智能体。
它们会在公园里散步,在咖啡馆喝咖啡,和同事分享当天的新闻。
而这些 AI 智能体表现出的社交行为,简直让人类惊掉了下巴 ——
比如,从一个简单的用户指定概念(一个智能体想举办情人节派对)开始,这些智能体在接下来的两天里,会自动传播派对邀请的消息,结识新朋友,互相约对方一起去派对,还会彼此协调时间,在正确的时间一起出现在派对上。
这些可信的人类行为模拟之所以成为可能,正是因为下图中的这个智能体架构。
它用三个重要的架构基本要素 —— 记忆、反思和规划,将一个大语言模型做了扩展。
记忆流包含每个智能体的观察列表,其中,每个观察都有自己的时间戳。
观察可以是智能体执行的行为,也可以是智能体从其他人那里感知到的行为。记忆流很长,但并不是所有观察都是重要的。
为了检索最重要的记忆以传递给语言模型,有三个因素需要考虑:
1. 最近性:近期的记忆更重要。
2. 重要性:智能体认为重要的记忆。例如,与某人分手比吃早餐更重要。
3. 相关性:与情境相关的记忆,即查询记忆。例如,在讨论如何为化学考试学习时,学校作业记忆更重要。
记忆流包含大量的观察,检索过程会确定应该传递给语言模型的这些观察的子集
反思是一种高层次的抽象思考,可以帮助智能体进行概括和推理。
反思会定期产生以下两个问题:「关于陈述中的主题,我们可以回答哪 3 个最突出的高层次问题?,你能从上述陈述中推断出哪 5 个高层次的见解?」
规划很重要,因为行动不仅应该集中在当下,而且应该集中在更长的时间范围内,这样,行动才能够连贯和可信。
规划同样存储在记忆流中。智能体可以根据规划创建行动,并根据记忆流中的其他观察结果做出反应和更新计划。
这种应用具有无限潜力,甚至让人有点害怕。
想象一下,一个 AI 助手一直在观察着你的一举一动,为你制定计划,甚至还能替你执行。
它会自动调整灯光、冲泡咖啡,你还没开口,它就已经把晚餐订好了。
Camel 以「角色扮演」而闻名。
作为一个探索大语言模型社会「心智」的交流智能体,它提出了一个角色扮演智能体框架,可以实现两个人工智能智能体的交流:
1)AI 用户智能体:向 AI 助手提供指令,目标是完成任务
2)AI 助手智能体:遵循 AI 用户的指令,并以解决任务的方法进行回应
3)任务指定智能体:这个智能体的作用,是为 AI 用户和 AI 助手构思一个具体的任务。这样,它就可以自主编写一个具体的任务提示,而不用用户去花时间定义了。
下面这个例子,展示的就是如何利用 Camel 来开发一个交易机器人。
其中,AI 用户是一个股票交易员,AI 助手是一个 Python 程序员。
任务指定智能体首先提出一个具体的任务,并给出任务的详细信息(根据情感分析结果监控社交媒体情感,并根据情感分析结果进行股票交易)。
然后,AI 用户智能体成为任务规划者,AI 助手智能体成为任务执行者,并在一个循环中相互提示,直到满足一些终止条件。
Camel 的核心在于其提示工程,即初始提示。
这些提示实际上是经过精心定义的,用于分配角色,防止角色反转,禁止生成有害和虚假的信息,并鼓励连贯的对话。
在 LangChain 的实现中,用的是 Camel 论文中给出的提示,并定义了三个智能体:
1)task_specify_agent(任务指定智能体)
2)assistant_agent(助手智能体)
3)user_agent(用户智能体)。
然后,使用一个 while 循环来循环进行助手智能体和用户智能体之间的对话:
chat_turn_limit, n = 30, 0while n chat_turn_limit: n += 1 user_ai_msg = user_agent.step(assistant_msg) user_msg = HumanMessage(content=user_ai_msg.content) print(f"AI User ({user_role_name}):\n\n{user_msg.content}\n\n") assistant_ai_msg = assistant_agent.step(user_msg) assistant_msg = HumanMessage(content=assistant_ai_msg.content) print(f"AI Assistant ({assistant_role_name}):\n\n{assistant_msg.content}\n\n") if "<CAMEL_TASK_DONE>" in user_msg.content: break
从生成结果来看,效果非常不错。
不过,在 Camel 中,AI 助手的执行结果只是语言模型的回答,而没有真正使用任何工具来运行 Python 代码。
利用 Camel,一个人类程序员,一个人类游戏玩家,就和两个 AI 智能体一起,合作创建了一个游戏。
作者用 Camel 创建了两个智能体,一个玩家,一个程序员。
给他们设定好制作一个游戏的目标后,玩家智能体就一步一步拆解制作游戏的步骤。
而程序员智能体就针对玩家设定的步骤一步一步编写代码。
像极了未来的人类和编码 AI 开发一个具体项目的过程。
也有人使用 Camel 角色扮演了潜在的恶意应用程序。
这个项目的目标是两个「碳奸」要渗透并破坏世界主要国家的通讯,金融和政治网络,最后建立 AGI 帝国。
「碳奸」1 就把渗透的过程拆解出来,一个一个网络分别渗透。
「碳奸」2 就根据这些小目标设立具体的执行计划。
当然,因为目标过于宏大,具体计划里的每一项办法也看起来不是那么好实施,比如:
「碳奸」2 说他要用社会工程,钓鱼攻击,暴力袭击等办法去进入通讯网络 —— 基本上还是没有什么可操作性。
但是未来如果语言模型等其他工具有了更强的智能,可能两个「碳奸」颠覆人类的计划搞不好就真的有可能实现。
所以,尝试过这些智能体之后,小编更加相信,大语言模型的「对齐」大业真是刻不容缓。
如果这种恶意智能体真的能发挥效果,人类被「偷家」也就是一瞬间的事。这就更让我们对 AI 对齐问题感到警醒。
Yohei Nakajima 在 3 月 28 日发布了「任务驱动的自主智能体」(Task-driven Autonomous Agent),并在 4 月 3 日开源了 BabyAGI 项目。
BabyAGI 的关键特点是只有三个智能体:任务执行智能体(Task Execution Agent)、任务创建智能体(Task Creation Agent)和任务优先级智能体(Task Prioritization Agent)。
1)任务执行智能体按顺序完成列表中的任务
2)任务创建智能体根据先前任务的目标和结果创建新任务
3)任务优先级智能体对任务进行重新排序
然后,这个简单的过程将会不断地重复。
在 LangChain 的网络研讨会上 Yohei 称,他设计 BabyAGI 就是模拟自己的工作方式。
具体而言,他每天早上从待办事项清单中解决第一项任务,然后依次完成任务。
如果出现新任务,他只需将其添加到清单中。
在一天结束时,他重新评估和重新排序清单。然后将这种方法映射到智能体的工作流程中。
用上了这个项目,相当于让大佬自己给我们 24 小时不停歇的打工。
在 LangChain 框架中,运行 BabyAGI 非常简单。
首先,创建一个 BabyAGI 控制器,其中包含三个链:
1)任务创建链(TaskCreationChain)
2)任务优先级链(TaskPrioritizationChain)
3)执行链(ExecutionChain)
然后,在一个(潜在的)无限循环中运行它们。
通过 Langchain,可以定义最大迭代次数,这样它就不会无限运行并消耗掉所有的 OpenAI API 额度。
OBJECTIVE = "Write a weather report for SF today"llm = OpenAI(temperature=0)# Logging of LLMChainsverbose=False# If None, will keep on going forevermax_iterations: Optional[int] = 3baby_agi = BabyAGI.from_llm( llm=llm, vectorstore=vectorstore, verbose=verbose, max_iterations=max_iterations)baby_agi({"objective": OBJECTIVE})
下面是运行 2 次迭代后的结果:
正如上图所示,BabyAGI 只「执行」有大语言模型回复的内容。
借助 LangChain 工具的强大功能,智能体可以在「执行」过程中利用各种工具,例如用谷歌在互联网上搜索信息。
下面这个例子,展示的就是「执行」用谷歌来搜索旧金山当前天气的过程。
BabyAGI 的应用潜力,可以说是巨大的 —— 只需要制定一个目标,它就会自己去执行。
不过,它还是缺少一个可以和用户进行更多交互的 UI。
比如,在 BabyAGI 为用户安排邀约之前,应该先进行确认。
我们来看一些实际的使用案例吧:
它是 BabyAGI 的网络版。
免费版本可以访问 ChatGPT,执行最多 7 个智能体循环。
收费版 21 刀一个月,无限访问 GPT-4,执行最多 20 个智能体循环。
这是一个自动执行每日任务清单的智能体,能在连接了 ChatGPT 之后帮助用户自动执行每日代办事项。
可以连接包括 ChatGPT 在内的各种插件去执行你的待办事项。
只不过现在使用还需要先加入等待名单。
看着自己的待办事项自动消失真是一件很解压的事情,多等等也是值得的。
这是一个通过 ChatGPT 帮你执行各种任务的工具。
需要用户绑定自己的 GPT 账户 API 之后,在这个类似 ChatGPT 的界面中输入的要求。
他会帮你分解成多步,然后通过 ChatGPT 来提供解决方案。
AutoGPT 刚出现,就被 Karpathy 盛赞是 prompt 工程的下一个前沿。短短几天就在 GitHub 狂揽 2.7 万星,火爆整个 AI 社区。
它遵循类似于 BabyAGI 的逻辑 —— 包括产生想法、推理、生成计划、点评、规划下一步行动和执行的过程,然后无限循环这个过程。
在执行步骤中,AutoGPT 可以完成很多命令,比如谷歌搜索、浏览网站、写入文件和执行 Python 文件。
甚至,还可以启动和删除 GPT 智能体(这也泰裤辣!)。
在运行 AutoGPT 时,有两个初始的提示输入:
1)AI 的角色
2)AI 的目标
它能够生成思考、推理、制定计划、批评、规划下一步行动和执行。
比如,进行谷歌搜索:
AutoGPT 最厉害的一点就是,它能在一定程度上允许人类和他进行交互。
当它想要运行谷歌命令时,它会请求授权,这样用户就可以避免浪费 OpenAI API token 之前就停止循环。
如果它还能够与人类进行对话,让我们实时提供更好的指导和反馈的话,那就太赞了。
项目地址:https://github.com/Significant-Gravitas / Auto-GPT
同样,这个项目也是由 ChatGPT 驱动,它会自动按照用户的要求去写代码,以及完成其他工作。
使用体验就类似于一个浏览器插件。
这个项目能直接帮你完成点餐过程中那些繁琐的流程。
输入地址,选择口味等步骤都不用你亲自动手,你只用在一旁看着,如果发现问题及时纠正就好了。
虽然刚刚介绍的这 4 个 AI 智能体,仍处于早期开发阶段,但它们已经展示出了令人印象深刻的成果和潜在应用。
毫无疑问,自主 AI 智能体将会是一个非常有前景的领域。
Karpathy 在活动中畅想道:未来的 AI 智能体可能不是单独的个体,而是非常多的 AI 智能体组织,甚至,会出现一种 AI 智能体文明。
Karpathy 表示,在 2016 年左右,自己早期在 OpenAI 工作时,当时的业界潮流就是研究如何用强化学习来改进 AI 智能体。
很多项目都在基于类似雅达利游戏,来制作 AI 玩家。
而 5 年后的今天,因为有了全新的技术手段,AI 智能体重新成为了大有前途的方向。再也没有人像 2016 年那样,用强化学习来研究智能体了。
在活动最后,Karpathy 对在场的开发者发起了鼓舞:在座的各位构建的 AI 智能体,其实处于当代 AI 智能体的最前沿,比起你们,其他大型的 LLM 机构,比如 OpenAI、DeFi 等,并不算处于最前沿。
比如,OpenAI 非常擅长训练 Transformer 大语言模型,如果一篇论文提出了某种不同的训练方法,OpenAI 内部会觉得是小 case,都是咱们玩剩下的。
然而,每当有新的 AI 智能体论文出现,OpenAI 内部都会非常兴奋,立刻展开热烈的讨论。
如果没有在做 GPT-5,那 OpenAI 是不是正在暗中发力,做起了大模型智能体呢?让我们静静等待。
PS:顺便一提,关于在上述智能体中大显身手的 LangChain,吴恩达今日刚刚上线了新课程《LangChain:构建与数据对话的聊天机器人》。
参考资料:
https://towardsdatascience.com/4-autonomous-ai-agents-you-need-to-know-d612a643fa92
本文来自微信公众号:新智元 (ID:AI_era)
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。