随着大模型和智能体的发展,最近的一个重大突破是使智能体从先前的任务中积累经验。代表性方法通过对历史任务重演,从中提取经验并进行记忆,以此在未见任务中通过经验样本检索来高效解决任务。这些智能体通过积累经验,有效避免了重复错误和不必要的试错过程,减少了额外人工参与的需要。然而,现有技术的经验往往是使用启发式规则一次性生成的。这种方法限制了智能体动态适应软件开发等复杂任务的能力,同时存在部分经验质量不高,不能显著提升智能体完成任务的能力。
针对该问题,我组研究人员提出了经验迭代精炼(Iterative Experience Refinement)框架。该方法使智能体能够通过在不同批次的任务集上持续地获取、利用和淘汰经验来不断适应未见任务,且仅利用11.54%的经验子集实现更好的任务解决能力。
论文信息
➤ 论文地址
🔗https://arxiv.org/abs/2405.04219
➤ 开源链接
🔗https://github.com/OpenBMB/ChatDev
系统架构
具体而言,可以将 “经验迭代精炼” 的实现概括为三个部分:经验获取、经验传递、经验淘汰。
经验迭代精炼核心模块
➤ 经验获取
经验获取模块中,从各批次任务集中抽取经验,来构建经验池指导智能体完成后续未见任务。在每一批任务集合中,每个任务的执行过程都对应驱动了指导智能体和响应智能体之间的交互作用,将这种动态的交互过程构建成任务执行链,并将其中的指导指令和响应抽取成经验。
➤ 经验传递
经验传递模块中,提出了两种经验传递范式:连续模式和累积模式。连续模式积累连续任务批次上相继“遗传”的经验,累积模式则是探跨代积累的经验是否可以提升任务解决能力。
➤ 经验淘汰
经验淘汰模块中,考虑到积累经验的过程中可能导致经验空间预期外的扩展,包含大量低质量或极少使用的经验。为了应对这一问题,提出了一种基于信息密度和经验使用频率的启发式经验淘汰机制,优先考虑任务执行中经常使用的经验,同时丢弃被识别的低质量经验,从而简化经验池向更高效率演化。
实验评估
与“经验式共同学习” (Experiential Co-Learning) 中的工作相同,考虑到先前对于代码的评估大多是函数级别(如 pass@k),但此种指标并无法直接迁移到综合性软件评估上。为了对软件完成综合评价,实验评估中考虑了以下三个维度并实现了其自动化评估:
➤ 完成性(Completeness)
软件代码是否全部完成,无 “TODO” 等未填充标识。
➤ 可执行性(Executability)
软件代码是否可通过编译器检查并成功运行。
➤ 一致性(Consistency)
软件代码实现是否和自然语言表述的任务需求一致。
在以上三个维度基础上,进一步得到了软件评价的综合质量指标:软件质量(Quality)。
由此,我们通过完成性、可执行性和一致性等三个维度,实现了对软件的综合自动化评估。与先前最优效果ECL相比,两种经验迭代方式均展现出明显的提升,实现利用 11.54% 的经验子集实现更好的任务解决能力。
客观软件质量评估结果
在经验传递于不同批次任务集合的过程中,各项指标均表现出显著提升的趋势。
不同任务批次在各项指标上的平均性能表现
对累积模式中的经验是使用情况进行统计,得到结论如下:
1)从过往批次获得的经验被所有后续批次任务所利用,而不仅仅是邻近的下一批次。
2)纵向上,各列从上到下呈下降趋势,表明远亲经验的利用频率降低。
3)横向来看,后代获得的经验并非主要源自其最近的前辈,而是大致均匀分布。
累积模式中经验使用分布
总结
本研究成果在大模型智能体群体协作中首次提出经验的迭代精炼 (Iterative Experience Refinement) 机制,使智能体能够通过不断获取、利用和淘汰经验来自适应地解决新任务。并且提出了一种启发式的经验淘汰机制,优先考虑高质量和经常使用的经验,从而减轻因经验空间的潜在扩展而产生的低效率问题。
关于我们
清华大学自然语言处理与社会人文计算实验室(TsinghuaNLP)成立于 20 世纪七十年代末,是国内开展自然语言处理研究最早、深具影响力的科研单位,也是中国中文信息学会计算语言学专业委员会及中国人工智能学会因果与不确定性人工智能专业委员会的挂靠单位。实验室在学术总体带头人孙茂松教授及学术方向带头人刘洋教授、刘知远副教授的带领下,围绕以中文为核心的自然语言处理,在语言大模型、跨模态大模型、中文信息处理、机器翻译、知识图谱、智慧教育、社会人文和艺术计算等方面开展系统深入的研究,在国内外具有较大的学术影响。近年来,实验室承担了国家 973 项目、国家重点研发项目、国家社会科学基金重大项目等多项重要研究任务,并与腾讯、华为、搜狗等企业建立密切的学术合作关系。
Website:http://nlp.csai.tsinghua.edu.cn/
Email:thunlp@163.com
GitHub:https://github.com/thunlp
https://github.com/OpenBMB
Twitter:https://twitter.com/TsinghuaNLP
THUNLP 长期开放招聘