一次性讲清楚4种AI Agent设计模式

学习是一个持续的旅程

无论是人类还是AI模型,学习都是一个持续的过程。然而,一个常见的问题是,AI模型能否像人类一样自我学习?根据近期的发展——它们可以。为了更好地理解这一点,让我们回顾大学时光,当时C++、Java和Python是我们必须掌握的主要编程语言,以在计算机科学领域脱颖而出。学习这些语言需要理解语法、语义、实际应用和问题解决能力。为了熟练掌握这些语言,我们不断练习(或者可以说接受训练)。此外,我们还从同学和教授那里学到了很多,对吧?同样,就像人类可以通过自己的思考、专业知识和其他媒介学习一样,大型语言模型(LLMs)或许也可以。


然而,获得专业知识或成为领域专家对人类和LLMs来说都是一个相当艰巨的旅程。我们了解人类的学習过程和推理能力,用于决策和完成任务,但LLM的训练过程是什么样的呢?


LLM训练过程

可以说,LLM的训练包括以下几个步骤:

1.预训练:在这一步,你帮助模型学习模式,例如语法、句子结构,甚至单词和概念之间的关系。2.指令调整(或微调):通过使用包含指令和期望响应的精选数据集来微调模型。3.基于人类反馈的强化学习(RLHF):人类评估者对模型的响应进行排名,进一步用于改善模型与用户期望的一致性。

这有道理,对吧?但如果我们构建一个代理工作流,让模型在独立完成所有检查的同时学习并输出结果会怎样?这就像拥有一个可以无需人类干预完成所有工作的个人助手。接下来,本文将讨论用于架构AI系统的四种代理AI设计模式。

概述

本文讨论了AI模型,特别是像GPT这样的大型语言模型(LLMs),如何通过采用代理工作流实现自主学习,这些工作流模仿了人类迭代式的问题解决方式。

代理工作流通过逐步优化任务来提升AI性能,类似于人类反复审阅和改进工作以获得更好的结果。介绍了四种关键的代理设计模式——反思、工具使用、规划和多代理协作——这些策略使AI系统更加自主和强大。

什么是代理设计模式?

代理设计模式被提出作为使LLMs更自主的解决方案。与其只给模型一个提示并期待最终答案(就像一次性写完一篇论文),代理式方法涉及多次逐步提示LLM。每一步都优化任务,模型通过迭代改进其输出。

为了更好地理解这一点,可以这样看:

当我们以零样本模式提示LLM时,就像要求某人一次性写一个故事而不进行修改。LLMs在这方面表现不错,但它们可以做得更好。通过使用代理式工作流,我们可以多次逐步提示LLM。每一步都建立在前一步的基础上,优化响应。可以想象成要求LLM多次审阅论文,每次都进行改进。

具体来说,以编写代码为例,使用代理工作流的过程如下:

1.规划代码大纲:将任务分解为更小的模块或函数。2.收集信息和内容:研究库、算法或现有解决方案。如有需要,进行网络搜索或查阅文档。3.编写代码初稿:实现基本功能,注重结构而非完美。4.检查代码的低效或错误:检查不必要的代码、错误或逻辑缺陷。5.修改代码:重构、优化或添加注释以提高清晰度。6.重复上述步骤,直到代码高效且简洁。

通过让模型独立完成这些步骤,代理设计模式增强了类似人类的推理能力和效率。这类似于人类如何分解复杂任务、收集信息、进行改进并迭代,直到最终结果令人满意。现在,让我们详细了解代理设计模式。

代理设计模式:评估

吴恩达(Andrew Ng)在Deeplearning.ai的一封信中分享的分析指出,AI驱动的代码生成取得了进步,特别关注了GPT-3.5和GPT-4等模型的性能。评估围绕这些模型在广为人知的HumanEval编码基准测试中的能力,这是一个评估算法编写代码能力的常见标准。

数据显示了AI编码能力的演变。GPT-3.5在零样本设置(即没有任何先前示例)下测试时,正确率达到48.1%。GPT-4同样以零样本方式评估,表现出显著改进,成功率为67.0%。然而,分析中突出的一点是,将这些模型整合到迭代代理工作流(代理工作流)中显著提升了它们的性能。当GPT-3.5被包裹在这样的代理循环中时,其准确率飙升至惊人的95.1%,远远超过其基线,甚至接近人类级别的编码能力。

这一发现凸显了迭代工作流(代理工作流)在提升AI模型性能方面的变革潜力,表明AI辅助编码的未来可能在很大程度上依赖于这些更先进、适应性更强的框架,而不仅仅是模型规模或架构的改进。

那么,完成AI系统自主授权的代理设计模式是什么?这些模式如何使AI系统更独立、更有效地运行?这些模式构建AI代理以执行任务、做出决策并与其他系统以更像人类且自主的方式进行通信,最终创建既精明又可靠的应用程序。

您必须了解的四种代理设计模式

在代理AI及其关键设计模式中,理解每种模式如何赋予大型语言模型(如GPT)更自主、更有效的行为至关重要。这些设计模式通过鼓励自我评估、工具整合、战略思考和协作,扩展了AI的能力范围。让我们探索塑造这些模型操作和执行复杂任务的四种关键代理设计模式。

以下是代理设计模式的类型:

1. 反思模式

反思模式专注于提升AI评估和优化自身输出的能力。想象一个LLM像人类审稿人一样审阅其生成的内容或代码,识别错误、漏洞或需要改进的领域,然后提出改进建议。

这种自我批评循环不限于单次迭代。AI可以根据需要多次重复反思过程,以实现优化、完善的结果。例如,如果任务是编写软件,LLM可以生成初始版本,批评其逻辑和结构,并修改代码。反思的迭代性质随着时间推移会产生更强大、更可靠的输出。

这种模式在需要精确的任务中特别有用,例如内容创建、问题解决或代码生成。采用这种方法可以通过自我引导的修正提高模型的准确性和可靠性。

一个有趣的例子是自我反思RAG(SELF-RAG)。SELF-RAG是一个旨在通过将检索和自我反思整合到文本生成过程中来提高语言模型质量和事实准确性的框架。传统的检索增强生成(RAG)模型通过纳入相关的检索段落来增强响应,但通常无论相关性如何都会检索固定数量的文档,这可能引入噪音或不相关内容。SELF-RAG通过一种自适应的方法解决了这些局限性,根据需要检索信息,并使用反思标记来评估生成的质量。


SELF-RAG如何使用反思?

SELF-RAG通过“反思标记”整合自我反思机制,这些标记用于评估文本生成的各个方面,例如相关性、支持度和总体实用性。在生成过程中,模型评估是否需要检索,并通过在不同阶段自我批评来评估生成内容的质量。

以下是更好的理解图示:


传统RAG首先检索固定数量的文档,而SELF-RAG根据生成的内容动态执行检索。SELF-RAG评估多个生成片段,批评其质量,并选择性地组合最准确的信息。SELF-RAG的迭代过程通过逐步优化生成,提高输出的准确性和相关性。

简而言之,SELF-RAG增加了一层额外的自我反思和优化,从而产生更可靠、更精确的答案。

2. 工具使用模式

工具使用模式通过允许LLM与外部工具和资源交互,显著扩展了其解决问题能力。AI不仅依赖内部计算或知识,还可以访问数据库、搜索网络,甚至通过像Python这样的编程语言执行复杂功能。


例如,可以提示LLM为特定查询从网络检索数据,分析数据并将其整合到输出中。或者,它可能被要求计算统计结果、生成图像或操作电子表格——这些操作超出了简单的文本生成。通过整合工具使用,LLMs从静态知识库演变为能够与外部系统交互以实现目标的动态代理。

这种模式之所以强大,是因为它允许AI系统处理内部知识不足的更复杂、多方面的任务,将其效用扩展到现实世界的应用中。

3. 规划模式

规划模式使LLM能够将大型、复杂的任务分解为更小、更易管理的组件。规划赋予代理响应请求并战略性地构建实现目标所需步骤的能力。


使用规划模式的LLM不会线性地、临时性地解决问题,而是创建子任务路线图,确定完成任务的最有效路径。例如,在编码时,LLM会首先概述整体结构,然后实现各个功能。这避免了混乱或逻辑上的迂回,保持AI专注于主要目标。

ReAct(推理与行动)和ReWOO(基于开放本体推理)进一步扩展了这种方法,将决策和上下文推理整合到规划过程中。ReAct使LLM能够在推理(思考问题)和行动(执行特定任务)之间动态切换,从而实现更适应性和灵活的规划。通过结合这两个步骤,LLM可以迭代地优化其方法,应对出现的意外挑战。

另一方面,ReWOO通过使用开放世界本体指导推理来增强规划模式。这意味着LLM可以纳入来自各个领域的更广泛的上下文信息和知识,从而做出更明智的决策。有了ReWOO,AI可以根据新获取的信息或变化的要求实时调整计划,确保更稳健、全面的问题解决方法。

总之,规划模式、ReAct和ReWOO使LLM能够以结构化但适应性的方式处理复杂任务,从而实现高效且目标导向的执行。

此外,生成结构化计划(或“用户请求摘要”)确保AI跟踪所有步骤,不偏离更广泛的任务。这种方法确保了结果的高质量和一致性,特别是在复杂的问题解决或多阶段项目中。


4. 多代理模式

多代理模式基于委托的概念,类似于人类团队中的项目管理。该模式涉及分配不同的代理(具有特定角色或功能的LLM实例)来处理各种子任务。这些代理可以独立完成任务,同时进行通信和协作以实现统一的结果。


多代理模式有以下几种类型:

协作代理:多个代理在任务的不同部分上协作,共享进展并共同构建统一结果。每个代理可能专注于不同领域。监督代理:一个中央监督代理管理其他代理,协调其活动并验证结果以确保质量。层级团队:一个结构化系统,其中高级代理监督低级代理,决策通过层级级联以完成复杂任务。

有关更多详情,请探索:多代理协作。

例如,在需要文本分析和数值计算的场景中,两个独立代理可以分别处理一个任务,共享结果以形成全面的解决方案。一个代理可能专注于理解上下文,而另一个处理数据,共同提供整体响应。这种模式在处理需要多种技能的大型或复杂问题时尤为强大。

简而言之,多代理模式反映了人类如何跨专业协作,确保每个代理专注于其优势,同时为更大的协调努力做出贡献。

通过掌握这四种代理设计模式,开发者和用户都可以释放AI系统的全部潜力。反思模式通过自我评估提高准确性和质量,工具使用模式实现动态的现实世界交互,规划模式为解决复杂任务提供路线图,多代理协作确保多个代理有效协作。这些模式共同为构建更智能、自主的AI系统奠定了基础,能够应对现实世界的挑战。

结论

代理设计模式强调了代理工作流在使AI模型(特别是大型语言模型,LLMs)更自主和高效方面的变革潜力。它解释说,尽管像GPT-3.5和GPT-4这样的模型在零样本任务中表现良好,但采用迭代的代理工作流可以显著提高它们的准确性和有效性。这种方法使模型能够分解任务、自我评估、利用外部工具、战略规划并与其他代理协作,从而增强其解决问题能力。

本文介绍了四种关键设计模式——反思、工具使用、规划和多代理——它们构成了这些代理工作流的基础。这些模式扩展了AI的边界,使AI系统能够以更独立和智能的方式运行,就像人类处理复杂任务一样。这表明,未来的AI进步将依赖于模型规模的增加以及更适应性和战略性的工作流的开发。


(文:PyTorch研习社)

发表评论

×

下载每时AI手机APP

 

和大家一起交流AI最新资讯!

立即前往