科学家提出基于大语言模型的智能体系统框架,促进对不同框架的统一理解
近日,澳大利亚迪肯大学博士生李昕哲通过识别常见的工作流和语言模型角色设定(LMPR,LLM-Profiled Roles),促进了对不同框架的统一理解。
其目标是提出一个统一的易于比较的框架,以便更高效地实现和扩展大模型基础的智能代理(LLM Agents,Large Language Model Agents)。
那么,为什么现在的框架之间很难实现扩展呢?
一个是因为,相似的 LMPRs 用不同的术语表达;另外,许多复杂的框架在不同的任务和应用上存在不一致性,这可能是人为设计,也可能是应用本身带来的。
比如,传统面向智能体的任务都存在外部环境提供的反馈,而问答任务则没有这种反馈。
这项研究很好地改善了第一个问题。具体地说,作为综述论文,它在术语上围绕着模型角色的设定进行统一定义,然后在同一些维度下区分具体实现方面的异同。
比如,有些框架需要评估类别的角色给出语言表达,而有些框架则需要数值评估,这体现了输出形式上的差异(见下文表格)。
对于第二个问题,论文归纳了面向任务时的具体人为设计,并指明一些之前被忽视的不合理之处。例如,将问答系统中的真实的回答类比为外部反馈进行反馈学习。
“尽管现有的设计框架还存在改进的空间,但我相信,随着未来几年研究的不断涌现,有望能极大地促进基于大模型的智能代理在多个领域得到发展和应用。”李昕哲说。
首先,在具身智能领域(比如家居机器人),大模型能更好地促进智能体在复杂环境下对复杂问题的规划能力。
使得开发高效的家庭服务机器人变得更加容易,它们能够提供做家务、陪伴等多种服务。在这方面已有很多相关进展,尤其是在基于搜索算法的工作流上。
它极大地改善了简单策略模型角色在工作流中的不足,比如解决了处理长期规划的难题,以及避免了不合理的环节导致的崩盘。
其次,在自然语言处理和对话系统方面,基于工具和反馈的工作流能够大大提升虚拟助手的交互和提供正确信息的能力,为用户提供更准确和高效的服务。
以上提到的三个工作流(搜索、工具和反馈)都在论文中被系统地总结与分析,并作为切入点系统地比较各个工作流下不同的具体框架。
李昕哲认为,这种基于统一模块化角色的系统能促进智能代理系统的开发和优化,从而促进业内广泛的应用落地。
李昕哲是论文唯一作者。
图丨相关论文(来源:arXiv)
实践出真知,探索开新局
李昕哲对智能代理的研究兴趣来自于他在澳大利亚 Aurecon 公司实习期间参与的两个项目,那时,他对智能代理还没有明确的概念。
第一个项目是基于 ChatGPT 的检索增强生成(RAG,Retrieval-Augmented Generation)的对话系统。
这个项目旨在通过结合检索和生成,来提高项目团队对内部数据库和文档的利用效率,主要应用于项目招标和报告撰写。
简单来说,RAG 系统首先根据用户的提问进行检索,然后将检索到的文本与查询一同输入大模型生成回答。
然而,该团队发现这种模式有时存在缺陷,例如大模型本身可能已经具备足够的知识,无需检索文本即可回答问题。
此外,检索的稳定性问题也可能导致无法保证总是提供正确答案,即使查询文档中具备相关知识。关于这一点,李昕哲在他的另外一篇论文中 [2] 进行了详细评估。
因此,研究人员开始思考如何让大模型有意识地使用检索工具,这属于该论文提到的智能代理中基于工具调用的自主工作流设计。其中,包括美国普林斯顿大学姚顺雨等研究者提出的 ReAct。
第二个项目是用户反馈的分类。在这个项目中,他们需要将用户反馈进行分类,如建设性反馈、无关紧要的小问题、不相关的反馈和不合规的要求。
他们最初直接询问大模型进行分类,即论文中提到的基本工作流。但是,在某些类别上的表现较差。
于是,该团队思考:能否对生成的结果和思维链进行反馈,并根据反馈结果再次分类,从而纠正思维链中的错误逻辑。
研究组采用了 Reflexion 框架,一个基于反馈的工作流让 ChatGPT 提供反馈,但效果并不显著。当他们具体化反馈标准后,在某些难分类别上准确率提升超过 40%。
这两个项目让李昕哲认识到,为了充分探索大模型的能力,构建拥有复杂工作流的智能体是必要的。
除了在以上两个工作中关注到的 ReAct 和 Reflexion 的智能体框架,他还研究了其他多个框架。并在此基础上,总结出 LMPRs 和工作流。
通用的工作流包括:基于工具调用、基于反馈和基于搜索的工作流。尽管相关研究不断涌现,但从协调大模型能力的角度来看,主要工作流可以归纳为上述三种。提取这些通用工作流,是当前这份研究的重要贡献之一。
在这个系统化的基于工作流的框架下,该课题组梳理出近期各种复杂框架的特点,主要体现在以下四个方面:
其一是引入额外模块,在下游任务中引入如 verbalizer 和 parser 等模块,特别是在具身智能场景下。
其二是相同工作流设计方案的差异。例如,是否有必要在蒙特卡洛树搜索中加入模拟器的问题。这在传统该算法应用的任务中并现实,但在基于大模型的任务中,尤其是在文本类这种可回撤的任务中是可行。
其三是工作流实现的差异,如在思维链中使用特殊符号触发工具调用、通过解耦思维链和工具调用来明确生成内容,或生成用于工具应用程序编程接口(API,Application Programming Interface)调用的 JSON 格式。
最后是工作流的组合形式,特别是工具调用和基于反馈的工作流的多种组合形式。
通过对这些框架的分析和总结,该课题组对大模型智能体的工作流设计有了更深入的理解,为后续的研究和应用提供了指导,尤其是系统地重构相关的代码。
科研路漫漫,上下而求索
李昕哲本科就读于上海师范大学酒店管理专业,起步较晚,相比同期的研究者,他的专业转变过程更为独特。
转向技术领域的契机是在滴滴实习期间,由于厌倦重复性的工作,他学习用编程自动化日常报表和数据分析流程。在此期间,还自学了大量编程和数据处理的知识。
另一个转折点是 2018 年,在朋友的带动下,李昕哲决定转专业到澳大利亚莫纳什大学就读信息技术专业。虽然课程主要集中在开发上,但他更喜欢数学和机器学习相关的课程。
2020 年,李昕哲在莫纳什大学杜兰教授的推荐下,开始在迪肯大学刘铭教授的指导下读博,研究方向为自然语言处理。
当时,虽然深度学习在自然语言处理领域已是主流,但框架还未像现在这样统一,神经网络结构和训练方式也多种多样,而不是现在统一用 Transformers 的网络结构端对端地训练生成模型。
在刘铭教授、复旦大学马兴军副教授以及山东省计算中心高龙翔教授的指导下,李昕哲的早期研究主要有以下三方面:
• 总结各类不同任务下的模型无法泛化情况,相关论文发表在国际人工智能联合会议(IJCAI,International Joint Conference on Artificial Intelligence)2023 上。
• 研究不同神经网络结构和泛化表示的鲁棒性,相关论文发表在澳大利亚语言技术协会年会(ALTA,Australasian Language Technology Association Conference)2021 上。
• 探讨分词方法对噪音下生成泛化表示的影响,相关论文发表在计算语言学协会年度会议与词汇与计算语义联合会议(ACL-SEM,Annual Meeting of the Association for Computational Linguistics - The Joint Conference on Lexical and Computational Semantics)2023 上。
通过这些研究,李昕哲意识到,特定任务训练方式存在缺陷,因而他对这种模式持保留态度,并转向研究基于提示的通用生成式语言模型,探索其表达能力、鲁棒性以及主流的部署方式(如 RAG 和智能代理)。
目前,基于大模型的智能体虽然在蓬勃发展,但很多方向还在探索中。
在后续的研究中:
其一,他计划进一步研究如何利用这些工具来优化智能代理行为,特别是在处理复杂任务时,不仅将大模型用作策略模型的角色,还有基于评估角色、世界模型或模拟器角色下的各种工作流。
其二,他想构建高效的、自主切换工作流的智能体。
目前,智能代理在处理多步推理时,通常需要固定的复杂工作流进行多步的大模型推断。
然而,对于许多简单问题,这种多步推理并不是必要的。例如,像“法国的首都是哪个城市”这样的问题,大模型可直接回答,而不需要复杂的工作流。
李昕哲希望未来能够构建一种高效的智能体,可根据任务的复杂性自主地切换工作流。这不仅可以提高响应速度,还可以节省计算资源。
其三,希望统一智能代理在不同任务上的工作流。
如何在代码实现上统一智能代理在不同任务上的工作流,是一个经常被忽视,但对通用人工智能的落地至关重要。
尽管许多研究者在发表论文时会为所开发的框架命名,并阐述如何将其应用于多种任务,但实际上,在该框架下,不同任务的具体设计和代码实现也存在差异。
所以李昕哲希望,未来能与更多具有相同想法的研究人员或团队进一步交流,从而共同推动这一领域的发展与落地。
参考资料:
1.https://arxiv.org/pdf/2406.05804
2.https://arxiv.org/abs/2404.19232
运营/排版:何晨龙