当前位置: 首页 > news >正文

探索新一代大模型代理(LLM agent)及其架构

在人工智能大模型(AI)的浪潮中,2023年我们见证了检索增强生成(Retrieval Augmented Generation, RAG)的兴起,而2024年则无疑成为了“代理”agent的元年。各大AI企业纷纷投身于聊天机器人代理的研发中,工具如MultiOn通过与外部网站的连接实现了快速增长,而框架如LangGraph和LlamaIndex Workflows则助力全球开发者构建结构化的代理应用。然而,尽管代理在AI生态系统中备受瞩目,它们却仍未能在消费者或企业用户实际业务场景中掀起波澜。今天我们一起来探索一下新一代的大模型代理及其架构。

大模型代理(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进行编排,提高过程的确定性和可控性。

相关文章:

  • AI Agent创新10大前沿方向与落地实践分析
  • 如何使用CUDA Graphs,如何更新Graphs中kernel函数参数
  • 利用 Chrome devTools Source Override 实现JS逆向破解案例
  • 矿山边坡监测预警系统设计
  • Qt | 电脑音频采集曲线Charts
  • 限制 某个容器服务的内存使用
  • Keepalived+LVS+nginx高可用架构
  • 后端开发 SpringBoot 工程模板
  • 【蓝桥杯】第十五届C++B组省赛
  • 【3. 软件工程】3.1 软件过程模型
  • 数字货币交易所开发中的常见问题与解决方案
  • python实现代码雨
  • springboot 对接马来西亚数据源API等多个国家的数据源
  • 向量库(Vector Database)概述
  • 基于PyQt5的自动化任务管理软件:高效、智能的任务调度与执行管理
  • 5G-A技术
  • HT7166 13V,10A全集成同步升压转换器
  • JAVA-堆 和 堆排序
  • 【2】数据结构的单链表章
  • 【Python】Browser-Use:让 AI 替你掌控浏览器,开启智能自动化新时代!
  • 剧场回应脱口秀女演员表演中被猥亵:演出内容符合规定
  • 盘中五味和人生五味,北京人艺《天下第一楼》将演第600场
  • 广东茂名信宜出现龙卷,一家具厂铁皮房受损
  • 第78届世界卫生大会20日审议通过“大流行协定”
  • “高原笑匠”、西藏著名表演艺术家扎西顿珠去世
  • 一座与人才共成长的理想之城,浙江嘉兴为何如此吸引人?