今天还是介绍
红杉资本AI峰会
我已经分享过了红杉合伙人
对AI发展机遇
的判断
以及安德烈卡帕西
对AI现状的分析
今天分享的是吴恩达教授
在这次峰会上
对智能体工作流
的分享
吴恩达教授我也不多介绍了
应该说桃李满天下
很多人可能都听过他的公开课程
在这次演讲中
他谈到了AI agentic workflow
也就是智能体工作流的迭代模式
以及基于人工评估基准测试
的效果分析
还谈到了自己对于AI智能体设计模式
的四种分类
包括反思
、工具使用
、规划
、多智能体协作
与此同时
吴恩达还分享了它对AI智能体
的未来发展潜力
的展望
在他看来,通过智能体工作流
人工智能能够胜任的任务种类
今年将会得到大幅的扩展
此外,快速token生成
也很重要
即使使用质量略低
、但是速度更快
的语言模型
通过更多轮的迭代
也可能比使用更高质量
、但是速度较慢
的模型
获得更好的结果
吴恩达的这次分享时间不长
但是信息密度很高
接下来就来了解一下具体的分享内容
提前说明一下
吴恩达
在重要幻灯片的底部
都加了一些可以参考的资料
方便大家延伸阅读
不得不说非常贴心
使用大语言模型的方式
首先,吴恩达提出
目前我们使用大语言模型
的主要方式
是一种非智能体工作流程
也就是我们输入一个提示
模型就生成一个回答
这有点像让一个人坐到电脑前
一次性从头到尾写一篇文章
但是中间不允许使用退格键
尽管这样做起来很难
但是大语言模型还是做得非常好
相比之下
智能体工作流程
看起来是右边这样
的
首先,让AI大模型写一个文章大纲
如果需要上网查资料
就先联网
然后写初稿
、读初稿
思考
哪些部分需要修改
然后再修改
这篇初稿,再读再修改
如此循环往复
、迭代多次
很多人都没有意识到的是
这么做的效果会好得多
吴恩达自己也时常惊讶于
智能体工作流的出色效果
他的团队通过使用OpenAI
发布的HumanEval编程评估基准
对智能体工作流
做了一些数据分析
对于一些编程题
比如给定一个非空整数列表
返回位于偶数位置的所有奇数元素的和
AI会生成像这样
的代码片段
我们很多人会直接使用零样本提示
也就是直接让大模型编写代码
但是实际上没有人是这样写代码的
事实证明
GPT-3.5
在零样本提示
的条件下
准确率只有48%
。
GPT-4
能达到67%
。
但是如果使用智能体工作流
GPT-3.5
实际上能表现更好
甚至超过GPT-4
如果在GPT-4
上使用智能体工作流
GPT-4也能表现很好
吴恩达注意到,这是一个信号
但是因为现在围绕智能体的讨论
非常多
难免混乱,所以他接下来介绍了一下
自己总结的智能体的四种设计模式
智能体的四种设计模式
分别是1、Reflection
也称为反思
或者自省
就是让智能体审视
和修正
自己生成的输出
2、Tool Use
,使用工具
也就是让大语言模型进行生成代码
、调用API
等实际
的操作
3、Planning
,规划
也就是让智能体能够分解复杂的任务
并且按照规划执行
4、Multiagent Collaboration
多智能体协作
也就是多个智能体扮演不同角色
合作完成任务
Reflection
现在很多人都在使用
也很有效
虽然Tool use
得到了更广泛的认可
但是reflection
实际上效果也很好
而规划
和多智能体协作
属于正在兴起的技术
虽然有时候效果令人感到震惊
但是目前还不是很稳定
接下来
吴恩达详细解释了这四种设计模式
第一种模式:reflection
首先是reflection,举个例子
假设我们让一个系统编写
一个指定任务的代码
然后我们有一个编码智能体
它只是一个接受提示
的大模型
会写一些像do_task
这样的函数
那么self reflection
的情况就是
我们让大模型写出这样的提示
告诉它这是用来执行某个任务
的代码
然后把刚刚生成的代码
给它
让它检查这段代码的正确性
、效率
等等类似的问题
结果我们会发现
根据提示写出代码
的那个大模型
可能能够发现代码里的问题
比如第五行的bug
还会告诉你怎么修改
如果我们现在采纳了它的反馈
并再次给它提示
它可能会提出一个
比第一版更好的第二版代码
虽然不能保证结果一定一样
但是这种方式无疑是有效的
在很多应用中都值得去尝试
一样
比方说
如果我们让模型运行单元测试
但是没有通过
我们想知道为什么没通过
那么通过这样的对话
也许就能够找出原因
然后吴恩达提前提了一下多智能体系统
实际指的是多个单独的智能体
给它提示
让它们互相进行对话
放在编程的场景中
就是有两个智能体
其中一个是编写代码的智能体
另一个是评价代码的智能体
它们背后的大模型可能是同一个
但是给它们的提示
是不一样的
比如我们对其中一个说
你是写代码的专家
负责编写代码
对另一个说,
你是审核代码的专家
负责审核这段代码
这种工作流
实际上很容易实现
而且应用场景很广
能够为大语言模型的性能
带来显著的提升
第二种模式:tool use
第二种设计模式是tool use
也就是使用工具
许多人可能已经见过基于大模型的系统
来使用工具
比方说,左边的截图
来自于Copilot
而右边的截图
来自于GPT-4
左边的问题是
网上最好的咖啡机是哪个?
Copilot会通过上网检索
来解决一些问题
而GPT-4
会生成并且运行代码
事实证明
人们已经使用了很多不同的工具
来进行分析、收集信息、采取行动和提高个人生产力
很多早期与tool use
有关的工作
都是在计算机视觉领域
因为之前
大语言模型对图像
无能为力
所以唯一的选择就是让大模型生成一个函数调用
用来操作图像
比如生成图像
或者做目标检测
什么的
逐渐才诞生了GPT-4V
、LLaVA
等模型
应该说
tool use扩展了大语言模型的能力
第三种模式:planning
接下来是第三种设计模式,planning
规划
对于没有大量接触过规划算法
的人来说
在见到ChatGPT
的时候
会觉得,哇
从来没有见过这样的东西
他们看到AI智能体
的时候也会很惊讶
哇
从来没有想到AI智能体能做到这些
而吴恩达实际已经经历了很多这样的时刻
其中一个例子改编自HuggingGPT的论文
输入的提示是
请生成一张图像,一个女孩在看书
她的姿态和图像中的男孩一样
然后用语音重新描述这张新图像
在AI智能体工作流
下
可以确定第一件要做的事
就是确定男孩的姿态
然后在HuggingFace上找到合适的模型
提取出姿态
接下来找到一个姿态图像的模型
遵循指令
生成一张女孩的图像
然后再使用图像转文本模型
得到描述
最后使用文本转语音模型
读出描述
对于这种AI智能体
工作流
吴恩达自己也说
有时候并不总是好用
但是起作用的时候
实际效果非常惊人
智能体循环
能够帮助我们解决很多早期存在的问题
吴恩达
现在在自己的工作中
也会把一些需求
发给AI智能体
几分钟后回来看看它做了什么
有时有效,有时不行
但是这已经成为了吴恩达个人工作的一种习惯了
第四种模式: Agents
最后一个设计模式是多智能体协作
它的效果比我们想象的要好得多
左边
这张图来自一篇名为ChatDev
的论文
它是完全开源
的
之前也流传过关于AI程序员Devin
的演示
相信很多人也都看过
ChatDev
可以笔记本电脑上运行
它是一个多智能体系统
我们可以让它有时扮演软件公司的CEO
有时扮演设计师
有时是产品经理
,有时又是测试人员
这些智能体都是通过提示
告诉大模型的
比如告诉它们
你现在是CEO
或者你现在是软件工程师
他们就会协作,
会进一步的对话
如果你告诉它们,请开发一款游戏
它们就会花几分钟写代码
然后进行测试、迭代
然后生成一个令人惊讶的复杂程序
虽然并不总是能运行
但是有时候又很惊艳
这种多智能体的合作听起来可能有些奇特
但是实际上效果可能比想象的要好
这不仅仅是因为这些智能体之间的合作
能够带来更加丰富
和多样的输入
而且因为它能够模拟出一个
更加接近真实工作环境
的场景
其中不同角色和专业知识的人员
为了共同的目标
而努力
这种方式的强大之处在于它能够让大语言模型不仅仅是执行单一任务的工具
而是成为一个能够处理复杂问题和工作流程
的协作系统
此外,事实证明
多智能体辩论
实际上会带来更好的性能
比如说
我们可以让ChatGPT
和谷歌的Gemini
进行辩论
因此
让多个相似的AI智能体
一起工作
也是一个强大的设计模式
最后,吴恩达做了下总结
得益于智能体工作流
今年AI能做的事情将大幅扩展
这四个智能体的设计模式
也会变得非常关键
我们人类在输入提示之后
总想立即得到结果
这是人性使然
我们喜欢即时获取
、即时反馈
但是对于AI智能体工作流
来说
我们需要学会把任务分配
给AI智能体
然后耐心地等待几分钟
甚至几小时,等它给出回应
这就好比很多新升上来的管理者
把某件事情委托给某人之后
总是不放心
几乎每隔五分钟
后就要去检查一下
这并不是一种有效的工作方式
所以我们也需要对AI智能体多点耐心
另一个重要的事情是
快速的token生成
非常重要
因为这些AI智能体是在一遍又一遍地迭代着
AI生成token的速度
应该比任何人的阅读速度
都快
而且
即使用质量稍低的大模型
快速生成更多的token
也比用更好的大模型
慢慢生成token
要好
因为它可能让智能体循环
更多次
同时吴恩达认为,在GPT-5
出来之前
智能体工作流
能带来接近于GPT-5
的效果
最后的最后
吴恩达升华了一下分享的主题
他说道,通往人工通用智能的道路
宛如一场旅程
而非终点
但是我相信
智能体能帮助我们在这条漫长征途上
迈出微小而坚实
的一步