在红杉资本AI峰会第三期,吴恩达教授分享了对智能体工作流的看法。在本次演讲中,他谈到了AI agentic workflow,也就是智能体工作流的迭代模式,以及基于人工评估基准测试的效果分析,还谈到了自己对于AI智能体设计模式的四种分类,包括反思、工具使用、规划、多智能体协作。与此同时,吴恩达还分享了它对AI智能体的未来发展潜力的展望。
吴恩达指出,随着AI技术的发展,AI代理被视为一个能显著提升软件开发效率和质量的工具。
他通过展示AI代理如何在主动型工作流中超越单独模型的局限,以及多代理系统如何通过协作来解决复杂问题,强化了这一观点。
他认为,在未来,我们将看到AI代理在各种工作流程中发挥更大的作用,并且这些代理的性能和应用范围将不断扩大。
对此,人们需要学会重新设定与AI合作的期望,并充分利用AI代理快速迭代的优势。
吴恩达还预测了AI工作流程的扩展,并讨论了人类需要适应与AI代理交互的新方式。
吴恩达介绍了 AI 智能代理工作流的四种设计模式:
反思(Reflection):LLM 检查自己的工作,以提出改进方法。工具使用(Tool use):LLM 拥有网络搜索、代码执行或任何其他功能来帮助其收集信息、采取行动或处理数据。规划(Planning):LLM 提出并执行一个多步骤计划来实现目标(例如,撰写论文大纲、进行在线研究,然后撰写草稿……)。多智能体协作(Multi-agent collaboration):多个 AI 智能代理一起工作,分配任务并讨论和辩论想法,以提出比单个智能体更好的解决方案。
关键结论及其论据支撑:
结论 1: 主动型工作流中的AI代理可以产生比传统工作流更好的结果。
论据:
吴恩达个人实际操作时观察到的效果出人意料。
GPT-3.5在主动型工作流中表现得甚至比GPT-4还好,尽管GPT-4在零次提示下有更高的成功率。
结论 2: 多代理协作是提高AI性能的有效策略。
论据:
设计模式包括代码代理和批判代理的合作,这种模式易于实施且通用。
实验显示多代理通过协作编写代码、测试和迭代可以生成复杂的程序。
结论 3: AI代理的运用将扩大人工智能可执行任务的范围。
论据:
吴恩达期待由于代理工作流程的存在,今年AI能完成的任务集会大幅拓展。
已经存在的不同设计模式(反思、工具使用、规划和多代理协作)表明,AI代理的应用正变得越来越精细和广泛。
结论 4: 快速迭代在AI代理的使用中是关键,甚至可能比慢速迭代的更高质量模型结果更好。
论据:
LLM快速生成Token对于多代理工作流程至关重要,因为需要不断迭代。
即使是质量较低的LLM,只要迭代速度足够快,也可能产生比慢速生成Token的更高质量模型更好的结果。
结论 5: 人们需要适应耐心等待AI代理完成任务的方式。
论据:
目前人们习惯于搜索引擎式的即时回应,但与AI代理的合作需要时间来产生最佳结果。
这种适应是提高与AI代理合作效率的必要步骤。
下面是演讲全文:
《Agentic Reasoning》
我很期待与大家分享我对AI代理的看法,这是一个我认为所有从事AI开发的人都应该关注的令人兴奋的趋势,同时我也对其他的内容感到兴奋。
接下来的演示会是怎样呢?现在我们大多数人使用AI代理的方式就像一个小企业那样,带着一种非主动性的工作流程,你输入一个问题它就生成答案。这有点像你让一个人写一篇论文,然后说“请坐到键盘前,从头到尾打出这篇论文,而且不许用退格键”。
尽管这很难,但LLM实际上做得相当好。相比之下,在主动型工作流中,情况可能是这样的:AI会说,“写一个论文提纲。你自己需要做进一步的调研吗?那我们开始吧。然后写第一稿,再读你自己的第一稿,考虑哪些部分需要修改,然后修改你的草稿,如此反复。”
这种工作流程更加迭代,你可能需要AI做一些思考,然后修改文章,再做一些思考,这个过程重复多次。而许多人没有意识到的是,这实际上能得到显著更好的结果。
我自己实际操作这些主动型工作流时,也非常惊讶它们的效果。
除非你想要一个案例研究,我的团队使用一种名为“人类智能基准测试”的代码标准来分析数据,这个标准是由OpenAI几年前发布的。
这里面包含了编码问题,比如“给定一个非空整数列表,返回所有奇数元素或未偶数位置上的元素的总和”。结果是你的代码片段就像这样。
今天我们很多人会使用零次提示,意思是我们告诉AI“写代码”并让它在第一部分运行,比如谁调用了代码,我知道人类不会那样写代码,我们应该把代码打出来。也许你可以做到,但我做不到。事实证明,如果你使用GPT-3.5零次提示,它的成功率是48%,而GPT-4的表现则好得多,成功率达到67.7%。
但如果你采用一个主动型工作流环绕GPT-3.5,实际上它甚至比GPT-4做得还好。如果你将这种类型的工作流环绕在GPT-4周围,它也表现得很好。
你会注意到,在主动型工作流中GPT-3.5实际上比GPT-4的表现更好。我认为这意味着非常重要的后果,我认为这将改变我们所有人构建应用程序的方法。所以“代理”这个术语被广泛地讨论,许多咨询报告都在谈论AI的未来等等。
我想更具体地与大家分享我观察到的广泛设计模式和代理。这是一个非常混乱、无序的领域,有大量的研究和开源项目。有很多事情正在发生,但我试图将其归类得更具体一些。经历了代理反思这个工具,我认为我们中的许多人都在使用它,它确实有效。我认为这是公认的技术。当我使用它们的时候,我几乎总能让它们正常工作。
计划和多代理协作,我认为这些更是新兴的内容。当我使用它们时,有时我会对它们的效果感到震惊。但至少在目前,我感觉我不能总是可靠地让它们工作。
所以让我通过几张幻灯片来介绍这四种设计模式。如果你们中的一些人回去让你们的工程师使用它们,我认为你们很快就会获得生产力的提升。
所以关于反思,这里有一个例子。假设我要求一个系统,请为我编写一个特定任务的代码。然后我们有一个代码代理,只是一个你提示编写代码的LLM,比如定义一个任务函数。
自我反思的一个例子是,如果你随后用类似的提示向LLM提问,例如这里有一段代码是为一个任务准备的,然后将刚刚生成的完全相同的代码反馈给它,并仔细检查代码的正确性和效率。
对他们来说,这是一个很好的建设性反溃结果表明,同一个LLM在你提示它编写代码后,可能会发现第五行的问题并修复它。如果你现在拿它自己的反馈提示它,它可能会生成一个第二版的代码,可能比第一版的代码工作得更好,虽然不能保证,但这足够经常发生,值得在很多应用程序中尝试。
为了预示即将使用的内容。如果你让它运行单元测试,如果它没通过单元测试,那你就问它为什么没通过单元测试?
进行这样的对话。我们将找出为什么没通过单元测试,所以尝试改变一些东西,最终提出解决方案。