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 智能体大爆发,让 AGI 雏形初显?
今天,就让我们回顾一下几个月前的这股 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 + 智能体的雏形。
项目 1:斯坦福、谷歌「西部世界」
对于前几个 AI 智能体,Anacondainc 数据科学家、Sophia Yang 博士,就曾在博客中给出过全面分析。
这几个 AI 智能体中,最吸引眼球的,无疑就是一经推出就爆火的,斯坦福和谷歌的研究者共同创建的西部世界小镇了。
这是一个交互式的沙盒环境,在小镇上,生活着 25 个可以模拟人类行为的生成式 AI 智能体。
它们会在公园里散步,在咖啡馆喝咖啡,和同事分享当天的新闻。
而这些 AI 智能体表现出的社交行为,简直让人类惊掉了下巴 ——
比如,从一个简单的用户指定概念(一个智能体想举办情人节派对)开始,这些智能体在接下来的两天里,会自动传播派对邀请的消息,结识新朋友,互相约对方一起去派对,还会彼此协调时间,在正确的时间一起出现在派对上。
这些可信的人类行为模拟之所以成为可能,正是因为下图中的这个智能体架构。
它用三个重要的架构基本要素 —— 记忆、反思和规划,将一个大语言模型做了扩展。
1)记忆和检索
记忆流包含每个智能体的观察列表,其中,每个观察都有自己的时间戳。
观察可以是智能体执行的行为,也可以是智能体从其他人那里感知到的行为。记忆流很长,但并不是所有观察都是重要的。
为了检索最重要的记忆以传递给语言模型,有三个因素需要考虑:
1. 最近性:近期的记忆更重要。
2. 重要性:智能体认为重要的记忆。例如,与某人分手比吃早餐更重要。
3. 相关性:与情境相关的记忆,即查询记忆。例如,在讨论如何为化学考试学习时,学校作业记忆更重要。
记忆流包含大量的观察,检索过程会确定应该传递给语言模型的这些观察的子集
2)反思
反思是一种高层次的抽象思考,可以帮助智能体进行概括和推理。
反思会定期产生以下两个问题:「关于陈述中的主题,我们可以回答哪 3 个最突出的高层次问题?,你能从上述陈述中推断出哪 5 个高层次的见解?」
3)规划
规划很重要,因为行动不仅应该集中在当下,而且应该集中在更长的时间范围内,这样,行动才能够连贯和可信。
规划同样存储在记忆流中。智能体可以根据规划创建行动,并根据记忆流中的其他观察结果做出反应和更新计划。
这种应用具有无限潜力,甚至让人有点害怕。
想象一下,一个 AI 助手一直在观察着你的一举一动,为你制定计划,甚至还能替你执行。
它会自动调整灯光、冲泡咖啡,你还没开口,它就已经把晚餐订好了。
项目 2:Camel
Camel 以「角色扮演」而闻名。
作为一个探索大语言模型社会「心智」的交流智能体,它提出了一个角色扮演智能体框架,可以实现两个人工智能智能体的交流:
1)AI 用户智能体:向 AI 助手提供指令,目标是完成任务
2)AI 助手智能体:遵循 AI 用户的指令,并以解决任务的方法进行回应
3)任务指定智能体:这个智能体的作用,是为 AI 用户和 AI 助手构思一个具体的任务。这样,它就可以自主编写一个具体的任务提示,而不用用户去花时间定义了。
下面这个例子,展示的就是如何利用 Camel 来开发一个交易机器人。
其中,AI 用户是一个股票交易员,AI 助手是一个 Python 程序员。
任务指定智能体首先提出一个具体的任务,并给出任务的详细信息(根据情感分析结果监控社交媒体情感,并根据情感分析结果进行股票交易)。
然后,AI 用户智能体成为任务规划者,AI 助手智能体成为任务执行者,并在一个循环中相互提示,直到满足一些终止条件。
Camel 的核心在于其提示工程,即初始提示。
这些提示实际上是经过精心定义的,用于分配角色,防止角色反转,禁止生成有害和虚假的信息,并鼓励连贯的对话。
LangChain 实现
在 LangChain 的实现中,用的是 Camel 论文中给出的提示,并定义了三个智能体:
1)task_specify_agent(任务指定智能体)
2)assistant_agent(助手智能体)
3)user_agent(用户智能体)。
然后,使用一个 while 循环来循环进行助手智能体和用户智能体之间的对话:
chat_turn_limit, n = 30, 0
while n chat_turn_limit:
n += 1
user_ai_msg = user_agent.step(assistant_msg)
user_msg = HumanMessage(content=user_ai_msg.content)
print(f&34;AI User ({user_role_name}):\n\n{user_msg.content}\n\n&34;)
assistant_ai_msg = assistant_agent.step(user_msg)
assistant_msg = HumanMessage(content=assistant_ai_msg.content)
print(f&34;AI Assistant ({assistant_role_name}):\n\n{assistant_msg.content}\n\n&34;)
if &34;<CAMEL_TASK_DONE>&34; in user_msg.content:
break从生成结果来看,效果非常不错。
不过,在 Camel 中,AI 助手的执行结果只是语言模型的回答,而没有真正使用任何工具来运行 Python 代码。
举个栗子
利用 Camel,一个人类程序员,一个人类游戏玩家,就和两个 AI 智能体一起,合作创建了一个游戏。
作者用 Camel 创建了两个智能体,一个玩家,一个程序员。
给他们设定好制作一个游戏的目标后,玩家智能体就一步一步拆解制作游戏的步骤。
而程序员智能体就针对玩家设定的步骤一步一步编写代码。
像极了未来的人类和编码 AI 开发一个具体项目的过程。
也有人使用 Camel 角色扮演了潜在的恶意应用程序。
这个项目的目标是两个「碳奸」要渗透并破坏世界主要国家的通讯,金融和政治网络,最后建立 AGI 帝国。
「碳奸」1 就把渗透的过程拆解出来,一个一个网络分别渗透。
「碳奸」2 就根据这些小目标设立具体的执行计划。
当然,因为目标过于宏大,具体计划里的每一项办法也看起来不是那么好实施,比如:
「碳奸」2 说他要用社会工程,钓鱼攻击,暴力袭击等办法去进入通讯网络 —— 基本上还是没有什么可操作性。
但是未来如果语言模型等其他工具有了更强的智能,可能两个「碳奸」颠覆人类的计划搞不好就真的有可能实现。
所以,尝试过这些智能体之后,小编更加相信,大语言模型的「对齐」大业真是刻不容缓。
如果这种恶意智能体真的能发挥效果,人类被「偷家」也就是一瞬间的事。这就更让我们对 AI 对齐问题感到警醒。
项目 3:BabyAGI
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 小时不停歇的打工。
BabyAGI + LangChain
在 LangChain 框架中,运行 BabyAGI 非常简单。
首先,创建一个 BabyAGI 控制器,其中包含三个链:
1)任务创建链(TaskCreationChain)
2)任务优先级链(TaskPrioritizationChain)
3)执行链(ExecutionChain)
然后,在一个(潜在的)无限循环中运行它们。
通过 Langchain,可以定义最大迭代次数,这样它就不会无限运行并消耗掉所有的 OpenAI API 额度。
OBJECTIVE = &34;Write a weather report for SF today&34;
llm = OpenAI(temperature=0)
Logging of LLMChains
verbose=False
If None, will keep on going forever
max_iterations: Optional[int] = 3
baby_agi = BabyAGI.from_llm(
llm=llm,
vectorstore=vectorstore,
verbose=verbose,
max_iterations=max_iterations
)
baby_agi({&34;objective&34;: OBJECTIVE})下面是运行 2 次迭代后的结果:
正如上图所示,BabyAGI 只「执行」有大语言模型回复的内容。
借助 LangChain 工具的强大功能,智能体可以在「执行」过程中利用各种工具,例如用谷歌在互联网上搜索信息。
下面这个例子,展示的就是「执行」用谷歌来搜索旧金山当前天气的过程。
BabyAGI 的应用潜力,可以说是巨大的 —— 只需要制定一个目标,它就会自己去执行。
不过,它还是缺少一个可以和用户进行更多交互的 UI。
比如,在 BabyAGI 为用户安排邀约之前,应该先进行确认。
我们来看一些实际的使用案例吧:
Cognosys
它是 BabyAGI 的网络版。
免费版本可以访问 ChatGPT,执行最多 7 个智能体循环。
收费版 21 刀一个月,无限访问 GPT-4,执行最多 20 个智能体循环。
Do Anything Machine
这是一个自动执行每日任务清单的智能体,能在连接了 ChatGPT 之后帮助用户自动执行每日代办事项。
可以连接包括 ChatGPT 在内的各种插件去执行你的待办事项。
只不过现在使用还需要先加入等待名单。
看着自己的待办事项自动消失真是一件很解压的事情,多等等也是值得的。
God Mod
这是一个通过 ChatGPT 帮你执行各种任务的工具。
需要用户绑定自己的 GPT 账户 API 之后,在这个类似 ChatGPT 的界面中输入的要求。
他会帮你分解成多步,然后通过 ChatGPT 来提供解决方案。
项目 4:AutoGPT
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 驱动,它会自动按照用户的要求去写代码,以及完成其他工作。
使用 AutoGPT 在网上点披萨
使用体验就类似于一个浏览器插件。
这个项目能直接帮你完成点餐过程中那些繁琐的流程。
输入地址,选择口味等步骤都不用你亲自动手,你只用在一旁看着,如果发现问题及时纠正就好了。
AI 智能体文明要出现了,还卷大模型不?
虽然刚刚介绍的这 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之家所有文章均包含本声明。
