基于工具调用图的多智能体共享程序记忆方法及系统
本发明属于大语言模型智能体,特别涉及基于工具调用图的多智能体共享程序记忆方法及系统。
背景技术:
1、随着大语言模型技术的发展,大语言模型智能体逐渐通过调用搜索、数据库、计算及软件服务等外部工具完成复杂任务。与传统文本生成不同,工具调用任务不仅需要确定调用的工具,还需要构造工具参数、组织多轮调用顺序以及处理不同工具之间的中间结果和数据依赖关系,尤其在长流程、多工具和跨服务任务中,工具调用过程较为复杂。
2、目前,提升大语言模型工具调用能力的方法主要包括模型训练方法和记忆增强方法。模型训练方法通过训练或微调大语言模型,使模型学习工具选择及调用方式,但需要额外的模型训练成本;记忆增强方法则通过保存历史交互、任务轨迹或提示信息,为后续任务提供参考。然而,现有记忆方法通常保存自然语言内容或完整交互轨迹,其中包含与具体任务、参数及模型推理过程相关的信息,难以在不同大语言模型智能体之间进行有效共享和迁移。
3、同时,对于任务相近的历史工具调用经验,其执行成功度和调用效率存在差异,若将相关经验全部保存,将造成共享记忆冗余并降低检索效果;而直接复用历史轨迹中的参数和工具输出,又容易将与历史任务相关的信息错误迁移至当前任务。因此,需要一种能够提取历史工具调用过程中的可复用程序结构,并结合执行质量和调用效率对历史经验进行筛选、存储和检索的方法。
4、需要说明的是,在上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
1、为了解决或至少缓解以上问题中的一个或多个,提供了一种基于工具调用图的多智能体共享程序记忆方法及系统,可以将多个异构大语言模型智能体产生的成功工具调用经验转换为与具体模型推理过程解耦的工具调用图,并据此构建、维护和检索共享程序记忆。
2、为实现上述目的,按照本发明的第一方面,提供基于工具调用图的多智能体共享程序记忆方法,包括以下步骤:
3、s1、获取多个异构大语言模型智能体在外部工具环境中执行任务形成的工具调用轨迹,并筛选其中成功完成任务的工具调用轨迹;
4、s2、将所述成功完成任务的工具调用轨迹抽象为工具调用图tcg,所述工具调用图包括查询节点、执行节点和工具节点,并以执行顺序边、工具调用边和数据依赖边表征工具调用的执行顺序、工具选择及中间结果传递关系;
5、s3、为每个所述工具调用图建立记忆条目并确定其质量信息,所述记忆条目包括所述工具调用图、历史执行成功度和结构感知执行效率;
6、s4、将新建立的记忆条目与共享程序记忆池中语义相似度达到预设阈值的已有记忆条目归入同一语义邻域,并按所述质量信息排序保留,以抑制冗余记忆;
7、s5、接收新的任务查询,根据语义相关性及所述质量信息计算所述任务查询与各记忆条目的检索评分,选取评分最高者作为参考程序记忆;
8、s6、将所述参考程序记忆的工具调用图转换为结构化提示信息并注入当前大语言模型智能体,使其复用其中的高层工具调用程序结构、重新生成工具参数并重新调用工具获取结果,再根据执行结果更新所述共享程序记忆池。
9、进一步地,s1中,工具调用轨迹包括任务查询、按执行轮次排列的执行步骤、每一执行轮次所调用工具的名称、工具输入参数、工具输出结果以及任务执行结果;
10、筛选其中成功完成任务的工具调用轨迹,包括:根据各条工具调用轨迹对应的任务最终执行结果判断对应任务是否完成,将任务执行结果为成功的工具调用轨迹作为构建共享程序记忆的候选轨迹,并将未成功完成任务的工具调用轨迹排除在所述共享程序记忆池之外。
11、进一步地,s2中,工具调用图以节点集合和有向边集合表示;所述节点集合通过以下方式构建:
12、根据所述工具调用轨迹建立用于保存任务查询的查询节点,按照工具调用发生的执行轮次建立执行节点集合,并为每一次工具调用建立对应的工具节点;
13、其中,建立所述工具节点包括:对本次调用的工具名称进行规范化处理以消除不同智能体对同一工具的名称差异,提取该次工具调用的输入参数结构,并采用语言模型对原始工具输出进行事实性摘要、将原始工具观察结果压缩为与任务相关的事实性描述,得到该工具节点的任务相关摘要。
14、进一步地,有向边集合包括连接相邻执行节点的执行顺序边、连接执行节点与该执行轮次所调用工具节点的工具调用边、以及连接存在中间结果传递关系的工具节点的数据依赖边;
15、所述数据依赖边通过以下方式建立:根据有序工具调用的输入参数结构和输出摘要,识别后序工具调用对前序工具调用结果的使用关系,在存在使用关系的工具节点之间建立所述数据依赖边,并记录由前一工具节点的输出传递至后一工具节点的输入的中间变量映射关系;由所述执行顺序边和所述数据依赖边所确定的所述工具调用图为有向无环图。
16、进一步地,s3中,历史执行成功度通过以下方式确定:
17、由大语言模型评估器根据任务查询、工具调用过程、工具输出结果以及最终任务结果判断对应任务是否完成,并将判断结果转换为对应的成功度评分,作为所述工具调用图在历史任务中的执行可靠性表征。
18、进一步地,结构感知执行效率通过以下方式确定:
19、根据所述工具调用图中的数据依赖边数量与工具节点数量确定中间信息复用程度;
20、将所述工具调用图的工具节点数量、执行节点数量和数据依赖边数量分别与对应的、大于零的执行开销权重系数相乘后求和,得到执行开销;
21、将所述中间信息复用程度与所述执行开销之比确定为所述结构感知执行效率;其中,所述中间信息复用程度随数据依赖边数量的增加而增大、并随工具节点数量的增加而减小,所述执行开销随工具节点数量、执行节点数量和数据依赖边数量的增加而增大,所述结构感知执行效率用于奖励中间结果复用程度高的工具调用结构,并抑制工具调用次数多、执行轮次长或数据依赖关系复杂的工具调用结构。
22、进一步地,s4中,归入同一语义邻域,包括:
23、分别对所述新建立的记忆条目对应的任务查询和所述已有记忆条目对应的任务查询进行句向量编码,并计算两个句向量之间的余弦相似度作为语义相似度;
24、将语义相似度大于或等于预设相似度阈值的已有记忆条目确定为与所述新建立的记忆条目归入同一语义邻域的记忆条目;
25、当不存在归入同一语义邻域的记忆条目时,将所述新建立的记忆条目直接写入所述共享程序记忆池;
26、当存在归入同一语义邻域的记忆条目时,将所述新建立的记忆条目与归入同一语义邻域的记忆条目构成候选集合,按照由所述历史执行成功度和所述结构感知执行效率组成的二元组进行字典序降序排序,优先保留历史执行成功度高的记忆条目、并在历史执行成功度相同时优先保留结构感知执行效率高的记忆条目,仅保留排序在前的预设数量个记忆条目。
27、进一步地,s5中,计算检索评分包括:
28、将所述任务查询与候选记忆条目所对应任务查询之间的语义相似度、该候选记忆条目的历史执行成功度以及该候选记忆条目的结构感知执行效率,分别与对应的、大于零的权重系数相乘后求和,得到该候选记忆条目的检索评分;
29、其中,所述候选记忆条目为语义相似度大于或等于预设相似度阈值的记忆条目;选取检索评分最高的候选记忆条目作为所述参考程序记忆;当不存在所述候选记忆条目时,不调用所述共享程序记忆池中的记忆,并按照常规工具调用方式执行当前任务。
30、进一步地,s6中,将所述参考程序记忆的工具调用图转换为结构化提示信息,包括:
31、沿所述执行顺序边遍历所述工具调用图中的执行节点,得到按执行轮次排列的执行节点序列;
32、对于每一个执行节点,按照工具调用索引遍历由所述工具调用边连接的各个工具节点,依次记录该工具节点的规范化工具名称、输入参数结构、任务相关摘要以及指向该工具节点的入方向数据依赖边所携带的中间变量映射关系,生成包含工具调用顺序、参数依赖关系和中间结果流转关系的执行导向的结构化程序记忆提示块;
33、所述结构化程序记忆提示块作为参考信息注入当前任务提示,而不作为当前任务的静态答案模板,所述大语言模型智能体仅复用其中的高层工具调用程序结构,不直接复制所述参考程序记忆中的任务特定参数、工具输出结果或最终答案,而是根据当前任务重新生成工具参数和中间变量,并通过新的工具调用重新获得当前任务所需的中间结果和最终结果。
34、为实现上述目的,按照本发明的第二方面,提供基于工具调用图的多智能体共享程序记忆系统,所述系统包括:
35、轨迹获取筛选模块,用于获取多个异构大语言模型智能体在外部工具环境中执行任务形成的工具调用轨迹,并筛选其中成功完成任务的工具调用轨迹;
36、工具调用图构建模块,用于将所述成功完成任务的工具调用轨迹抽象为工具调用图tcg,所述工具调用图包括查询节点、执行节点和工具节点,并以执行顺序边、工具调用边和数据依赖边分别表征工具调用的执行顺序、工具选择及中间结果传递关系;
37、记忆条目构建模块,用于为每个所述工具调用图建立记忆条目,并确定所述记忆条目的质量信息,所述记忆条目包括所述工具调用图、历史执行成功度和结构感知执行效率;
38、记忆池更新模块,用于将新建立的记忆条目与共享程序记忆池中语义相似度达到预设阈值的已有记忆条目归入同一语义邻域,并按所述质量信息对所述语义邻域中的记忆条目排序保留,以抑制冗余记忆;
39、记忆检索模块,用于接收新的任务查询,根据语义相关性及所述质量信息计算所述任务查询与各记忆条目的检索评分,选取检索评分最高者作为参考程序记忆;
40、程序记忆注入模块,用于将所述参考程序记忆的工具调用图转换为结构化提示信息并注入当前大语言模型智能体,使其复用其中的高层工具调用程序结构、重新生成工具参数并通过新的工具调用获取当前任务的结果,再根据当前任务的执行结果更新所述共享程序记忆池。
41、采用上述技术方案后,本发明与现有技术相比具有以下有益效果。
42、本发明将历史成功的工具调用轨迹结构化为工具调用图,将工具调用的执行顺序、工具选择关系以及中间结果数据依赖关系与具体大语言模型的推理文本和任务特定信息相分离,使成功的工具调用经验能够在异构大语言模型智能体之间共享和迁移,且无需修改大语言模型的参数。
43、本发明通过历史执行成功度和结构感知执行效率共同构建记忆条目的质量信息,并借助语义邻域与质量排序限制同一语义邻域内保留的记忆条目数量,从而抑制共享程序记忆池中的冗余记忆,降低记忆池规模与检索干扰。
44、本发明通过语义相关性、历史执行成功度和结构感知执行效率联合计算检索评分选取参考程序记忆,并将参考程序记忆转换为执行导向的结构化提示信息注入当前任务,使当前智能体仅复用高层的工具调用程序结构、而重新生成当前任务的具体参数与中间结果,避免历史任务特定信息错误迁移至当前任务,从而提高复杂工具调用任务的执行可靠性,降低重复规划需求与工具交互开销。
45、下面结合附图对本发明的具体实施方式作进一步详细的描述。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com