在人工智能大模型(AI)的浪潮中,2023年我们见证了检索增强生成(Retrieval Augmented Generation, RAG)的兴起,而2024年则无疑成为了“代理”agent的元年。各大AI企业纷纷投身于聊天机器人代理的研发中,工具如MultiOn通过与外部网站的连接实现了快速增长,而框架如LangGraph和LlamaIndex Workflows则助力全球开发者构建结构化的代理应用。然而,尽管代理在AI生态系统中备受瞩目,它们却仍未能在消费者或企业用户实际业务场景中掀起波澜。今天我们一起来探索一下新一代的大模型代理及其架构。
前排提示,文末有大模型AGI-CSDN独家资料包哦!
大模型代理(llm agent)的基础概念
首先,让我们明确什么是大模型代理(llm agent)。基于LLM的代理是软件系统,它们通过串联多个处理步骤,包括LLM调用,api调用,方法调用等等以实现期望的最终结果。这些大模型代理通常包含一定量的条件逻辑或决策能力,以及在执行步骤间可访问的工作内存。了解代理的构建方式、当前面临的问题及初步解决方案,对于我们导航新框架和代理发展方向至关重要。
ReAct代理的失败与反思
回顾过去,代理的概念并非新鲜事物。去年,AI领域的社交媒体上涌现了大量声称具备惊人智能能力的ReAct(reason, act)代理。然而,这些第一代代理大多以高度的抽象化设计著称,尽管承诺广泛的结果,但实际上却难以使用且效果有限。
ReAct代理的失败促使人们开始重新思考代理的结构。过去一年中,我们见证了巨大的进步,引领我们进入第二代代理的时代。新一代代理以更严格的方式定义了代理可能采取的路径,从而避免了ReAct代理开放式设计的缺陷。这种趋势趋向于缩小解空间,即每个代理能够执行的任务范围,虽然限制了多样性,但通常能打造出更强大、更易定义的代理。
第二代大模型代理(llm agent)的核心特征
第二代代理在多个方面展现出显著的特征。首先,它们往往采用LLM路由,并在迭代循环中处理数据。许多代理包含一个名为“路由器(router)”的节点或组件,负责决定下一步应该采取的行动。router可能是由LLM或分类器等驱动的,它们根据输入信息选择执行路径。
每个行动通常由一个组件表示,这些组件是完成特定小任务的代码块,可能调用LLM、执行内部API调用或运行应用程序代码。在LangGraph中,这些组件被称为节点;而在LlamaIndex Workflows中,它们则被称为步骤。一旦组件完成其工作,它可能返回路由器或移动到其他决策组件。
无论大模型代理是否使用框架,我们都看到了解决方案空间越来越小的趋势——也就是说每个代理可以做的事情越来越少。解决方案空间越小,代理就越容易定义,这通常会使代理更强大。
大模型代理的架构模式
代理的部署通常遵循一些常见的架构模式。最简单的形式可能仅包括一个LLM路由器和一个工具调用,我们称之为“单一路由器与功能”架构。在这种架构中,路由器根据系统输入决定调用哪个工具或功能。
稍微复杂的架构则是“单一路由器与功能集”,其中路由器调用的不再是简单的工具或函数调用,而是更复杂的工作流程或功能集,这些可能包含多个组件和深度链接的动作链。
更高级的架构则将LLM调用与工具和状态混合,形成复杂的分支结构。路由器根据用户问题调用不同的功能,每个功能可能更新共享状态,并可能涉及一个或多个LLM调用来生成用户响应。
为了应对代理的复杂性,出现了如LangGraph和LlamaIndex Workflows等框架,它们旨在通过提供结构化的方式来简化代理开发。LangGraph基于Pregel图的概念,定义了节点和边,使代理能够沿其移动。而在LlamaIndex Workflows中,则使用事件和事件监听器来在不同节点间移动。
大模型代理的一些思考
是否应使用框架开发大模型代理?
在决定是否使用大模型代理框架来开发代理时,我们需要权衡其提供的额外结构与复杂性之间的平衡。对于大型、复杂的大模型代理应用,大模型代理框架提供的结构和最佳实践可以大大降低开发难度。然而,对于高度定制化或特定需求的代理,直接使用代码可能更为灵活。
以我们一个项目为例,我们在开发自己的代理时采用了多层路由器架构,虽然我们没有直接使用LangGraph等框架,但我们的设计在一定程度上借鉴了它们的抽象概念。我们发现,对于当前的项目需求而言,直接使用代码比依赖框架更为高效。然而,我们也认识到随着框架的不断完善,未来可能会考虑采用这些框架来加速开发进程。
你真的需要大模型代理吗?
在决定构建大模型代理之前,我们首先需要明确代理的适用场景。如果你的应用遵循基于输入数据的迭代流程,需要根据先前的行动或反馈进行调整,或者存在一个可遍历的状态空间,那么代理可能是一个很好的选择。
然而,代理并非万能的解决方案。它们在复杂任务分解、长期规划和性能一致性方面仍面临挑战。为了克服这些挑战,我们需要采用一系列策略,如缩小解空间、引入领域和业务启发式、明确行动意图和创建可重复的过程等等,真是落地还需要很多实际业务场景的探索
使用大模型代理常见问题及可能的解决方案
问题 :
1.长期规划难题:Agent在分解复杂任务和避免陷入循环方面存在困难,常需人类干预。
2.不一致的性能:由于解决空间的庞大,Agent难以实现一致结果,且成本高昂。市场倾向于使用受限Agent以限制解决空间。
可能的应对策略 :
1、缩小解决空间:通过预先定义可能的行动和结果范围来减少不确定性。2、引入业务逻辑:将领域和业务启发式融入Agent的决策系统中,提升决策质量。
3、明确行动意图和标准化流程:清晰定义每个行动的目的,标准化执行步骤,增强可靠性和可纠错性。
4、代码化编排:使用代码替代LLM进行编排,提高过程的确定性和可控性。
在一项新技术火热崛起之时,大家很容易盲目跟风忽视其本质问题,这时候花点时间思考一下大模型代理框架何时何地可能(或可能不)适合您的业务场景,这个思考是必要的也是值得的。
读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用
对于0基础小白入门:
如果你是零基础小白,想快速入门大模型是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。
包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费
】🆓
👉AI大模型学习路线汇总👈
大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
👉大模型实战案例👈
光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉大模型视频和PDF合集👈
观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费
】🆓