周末抽空看了一下吴恩达在美国红杉 AI 活动上分享的关于 AI Agent 的演讲,虽然简短但浓缩了行业大咖的思考,值得分享给读者,阅读本文大概需要 5 min。
本文是针对吴恩达这篇演讲中演讲内容的总结、摘抄、提取,建议大家去看看原视频,相信会有启发,可以在 B站 去搜索“吴恩达 Agent” ,整个视频大概 15 min。不用担心听到 Agent、智能体、代理这些词就觉得高深莫测,读文本文相信会有收获。本文的目录如下:
1. 主流使用大模型的方式
2. 基于 Agent 的工作流程
3. 使用 Agent 的效果如何
4. 关于 Agent 的四个设计模式
01
主流使用大模型的方式
相信大多数人在使用 ChatGPT 这种大模型时,方式是这样的:你输入一段提示词,大模型会立即生成答案。
这就像你要求一个人写一篇关于「美食」主题的文章,要求他坐在键盘前,从头写到尾,而且不能删除。毕竟大模型的输出就是一个字一个字的往外蹦,不会发现自己写的内容有错误删除重写。
这种主流的使用大模型的方式是非 Agent 的流程。02
相比之下,Agent 工作流程是这样的: 同样是让它写一篇关于「美食」主题的文章。
首先第一步,先让大模型写一个文章大纲,如果需要借助互联网上的内容进行调研分析就先做研究分析,然后输出一般草稿, 然后阅读写的草稿并思考如何优化修订,再修改一版,如此循环往复、迭代多次。这种有迭代反思的做法会带来显著的改进效果。
03
吴恩达的团队做了一系列实验,简单来说就是让 AI 去写一些代码并运行,最终对比不同模型和工作流程得出结果的性能,进行一个对比。结果如下:
解释一下上图:Reflection、Tool Use、Planning、Multiagent 是吴恩达提到的四种 Agent 设计模式,后面会详细提到,看完本文全部再回过头看这张图,就明白了。其实基于 Agent 的工作流程才符合人类的习惯,毕竟对于一段复杂的程序,没有一个程序员是从头写到尾的,一般都是先能跑通,然后不断优化重构,补充异常处理。04
行业内有很多关于 Agent 的讨论,目前这个领域比较混乱,吴恩达对 AI Agent 的一些方向进行了分类。
很好理解,如果你让大模型写一段代码,它会立马给你一个反馈。这时候你可以将它输出的代码片段再输入回去,让大模型仔细检查它写的代码的准确性、结构规范性等,并且给出评论。
然后再将这些反馈结果输入给大模型,它可能会输出一个比第一版更好的代码。刚刚这里例子是让大模型与自己进行交互,是一种单一的 Agent,如果有两个 Agent:一个负责 Coding,另一个负责 Code Review。两个 Agent 进行交互,一个是专业的程序员,另外一个是专业的代码评审员,你来我往,几轮过去输出的代码质量可能就非常高了(有点博弈论的感觉)。
工具使用(Tool use)
如果大家使用微软 Edge 浏览器的 Copliot,或者月之暗面的 Kimi Chat,让你询问一个事情,他会首先检索互联网上的内容,基于检索到的内容进行总结分析,给出结论。这个其实就是大模型使用「网页搜索」工具的例子。这张 PPT 上还举了很多例子,比如邮箱、日历、云存储、图片生成等等。比如你问大模型,明天的天气如何?这个时候大模型一般会使用日历工具知道今天是什么日子,然后使用天气工具得到明天的天气状况。还是直接看 PPT 中的例子,你给出一个骑着滑板男孩的图片,然后对大模型说:“请生成一张图片,其中一个女孩正在阅读一本书,她的姿势与图片 example.jpg 中的男孩相同,然后用声音描述新的图像。”你只是给了一张图片和一段命名,AI Agent 能够自己计划使用什么工具,如何一步步的达到目的。Agent 可能会这样做:首先确定男孩的姿势,可能在 Hugging Face 开源社区上找到一个合适的姿势提取模型来提取这个姿势,接下来要找到一个姿势图像模型来合成一个女孩的图像,然后使用图像转文本的模型,最后使用语音合成,最终这个任务完成了。当然这只是理想中的工作流程,对于很复杂的工作流其实很难可靠的运行,但是这是一种理念,针对比较成熟的、简短的场景它可能是 Work 的。
多智能体协作(Multiagent collaboration)多智能体协作,这个就有点恐怖了,类似于之前大火的 AI 小镇。
吴恩达举的例子是开源项目 ChatDev,你可以让一个大语言模型扮演不同的角色,比如公司CEO、设计师、产品经理或测试人员,这些 Agent 会相互协作,共同开发一个 App 或者复杂程序。
虽然不是每次都能成功,但有时确实非常惊艳。
05
到这里,吴恩达的演讲就差不多结束了,上面 PPT 截屏的下面都会附上一些扩展资料,感兴趣的可以延伸阅读。最后他还提到了两个点:
1. 目前人类还是习惯“及时反馈”,希望输入一段命令能够尽快的给出反馈。虽然通过 Agent 能显著的提升效果,但是在 Agent 工作流程中,往往需要等待几分钟甚至几个小时,才能得到响应,人能不能接受这一点或者说习惯培养的难度到底有多大,还不得而知。
2. 快速生成 token 也很重要,即使使用质量略低但速度更快的语言模型,通过更多轮次的迭代,也可能比使用更高质量但速度较慢的模型获得更好的结果。
通往 AGI 的道路就像一条漫长的旅程,而 Agent 工作流程有望成为通往目的地的一小步。