大语言模型(Large Language Models, LLMs)的强大能力推动了 LLM Agent 的迅速发展。围绕增强 LLM Agent 的能力,近期相关研究提出了若干关键组件或工作流。然而,如何将核心要素集成到一个统一的框架中,能够进行端到端优化,仍然是一个亟待解决的问题。
来自字节跳动 ByteDance Research 的研究人员提出了基于强化学习(Reinforcement Learning, RL)的 LLM Agent 框架 ——AGILE。该框架下,Agent 能够拥有记忆、工具使用、规划、反思、与外界环境交互、主动求助专家等多种能力,并且通过强化学习实现所有能力的端到端训练。尤其值得注意的是,AGILE 框架允许 Agent 在不自信时主动向人类专家寻求建议。这带来了两大优势:首先,Agent 在处理复杂问题时能够持续保持高准确率;其次,通过向人类学习,增强了其快速适应新任务的泛化能力。
研究者让 AGILE 框架在复杂问答任务中进行了验证。在 ProductQA 与 MedMCQA 任务上,经过 RL 训练后的 13B 模型或者 7B 模型能够超越提示工程构建的 GPT-4 Agent。
如图 1 (a) 所示,AGILE 框架包含四个核心模块:LLM、记忆(Memory)、工具(Tools)和执行器(Executor)。LLM 负责预测动作;记忆模块记录 Agent 的轨迹;工具模块提供 Agent 可以调用的外部 API;执行器会监听 LLM 的输出,根据 LLM 的输出调用相应的模块执行具体的操作,并将执行操作得到的结果添加到 LLM 的上下文中。
图 1 (b) 展示了 AGILE Agent 在电商问答场景中的一个示例。电商问答是一个复杂的实际应用场景,面临的挑战包括需要海量商品的领域知识、灵活运用商品检索工具、以及快速适应不断涌现的新商品。如图 1 (b) 所示,AGILE Agent 会根据用户的问题检索记忆,如果无法确定问题的答案,Agent 会向人类专家寻求帮助。在获得专家的反馈后,Agent 会反思并将新掌握的领域知识存储在记忆中。在未来,面对新的问题时,Agent 能够从记忆中检索到这条知识,并基于这些知识直接给出准确的答案。除此之外,AGILE Agent 也会根据用户的问题选择是否调用外部工具(如搜索、数据库检索),辅助生成最终的回答。
强化学习定义:LLM Agents 被定义为一个 token-level MDP(Markov Decision Process)。动作空间(Action space)由 LLM 的词表构成,LLM 生成的每一个 token 是一个动作,LLM 本身则作为 Agent 的策略模型(Policy model)。Agent 的状态(State)由 LLM 上下文和记忆组成。在每个时刻,LLM 预测动作,执行器根据预定义的逻辑完成状态转移,同时环境给予 Agent 相应的奖励(Reward)。
在 AGILE 框架下,Agent 有两种策略学习方法。第一种是模仿学习,通过收集人类轨迹数据或更高级别 Agent 的轨迹数据,对 LLM 进行 SFT 训练。第二种是强化学习,通过定义奖励函数,利用强化学习算法来训练 LLM。
此外,LLM Agent 可能会产生跨越数百万个 tokens 的轨迹,这为直接训练带来了挑战。为了应对这种长程依赖的问题,研究人员提出了一种片段级别的优化算法。
主动寻求帮助:AGILE 框架允许 Agent 主动向外部的人类专家寻求帮助。这种机制有两个优势:首先,当 Agent 遇到不确定的情况时,通过求助人类专家,确保其在实际应用中达到高准确率。其次,Agent 能够通过对人类的反馈反思并积累知识,从而更快适应新环境,提升其泛化能力。然而决定何时寻求帮助是一个复杂决策,它涉及到 Agent 的自我评估、人类反馈对未来的价值以及人类专家的成本。因此,标注何时应该求助是很难的。但在强化学习框架中,可以通过定义相关奖励,将这种求助能力作为策略模型的一部分,在端到端训练中得到提升。
ProductQA 是一个商品问答任务。该数据集包含 26 个对应不同商品类别的 QA 任务,每个任务平均包含 3,393 个问题。ProductQA 包括基于事实的问题、推理问题和商品推荐问题,它能够全面评估 Agent 处理历史信息和累积知识、利用工具、向人求助、自我评估和反思的能力。此外,训练和测试集由不同的任务构成,以评估 Agent 在新商品问答上的泛化能力。
在商品问答(ProductQA)任务上,基于 Vicuna-13b 训练的 AGILE Agent(agile-vic13b-ppo)表现超过了 GPT-4(gpt4-prompt)与提升工程构建的 GPT-4 Agent(agile-gpt4-prompt)。在使用了相当的求助比例(Advice Rate)的情况下,agile-vic13b-ppo 的 acc 相比于 agile-gpt4-prompt 提升了 7.4%,在 Total Score 上提升了 9.2%。
从上图可以看出,在执行包含上千个问答的任务整个过程中,agile-vic13b-ppo 的 acc 持续稳定地高于 agile-gpt4-prompt。同时寻求人类帮助的频率(Advice Rate)随着问答轮数的增加逐渐下降。此外,通过调整人类的咨询成本(Seeking Advice Cost)和进行强化学习训练,AGILE Agent 可以有效实现准确率与专家成本的权衡。
消融实验结果显示,记忆、反思、咨询人类建议、工具使用、RL 训练在实现高性能的 AGILE Agent 中均具有重要作用。
MedMCQA 是一个多项选择的问答数据集,其问题来自医学院入学考试。在 MedMCQA 任务上,基于 Meerkat-7b 训练的 AGILE Agent(agile-mek7b-ppo)表现优于 GPT-4 Agent。准确率达到了 85.2%,超过了之前的 SOTA 方法 ——GPT 4-MedPrompt 的 79.1%。消融实验结果进一步验证了记忆、咨询人类建议、反思和 RL 训练的重要性。
更多研究细节,可参考原论文。
AGILE是一种基于强化学习的LLM Agent框架。AGILE Agent具备拥有长期记忆、使用外部工具、向人类专家进行咨询、反思等能力,并且所有能力可以进行端到端的统一优化。AGILE的一个重要特点是Agent在遇到无法自行解决的问题时可以向人类专家咨询,这种机制保证了应用场景中对高准确率的要求,同时增强了Agent的学习与泛化能力。实验表明,经过强化学习训练的13B或7B模型的Agent,其能力可以超过GPT-4 Agent。
ByteDance Research 专注于人工智能领域的前沿技术研究,涵盖了机器翻译、视频生成基础模型、机器人研究、机器学习公平性、量子化学、AI 制药、分子动力学等多技术研究领域,同时致力于将研究成果落地,为公司现有的产品和业务提供核心技术支持和服务。
文章来自于“机器之心”,作者“机器之心”。
【开源免费】n8n是一个可以自定义工作流的AI项目,它提供了200个工作节点来帮助用户实现工作流的编排。
项目地址:https://github.com/n8n-io/n8n
在线使用:https://n8n.io/(付费)
【开源免费】DB-GPT是一个AI原生数据应用开发框架,它提供开发多模型管理(SMMF)、Text2SQL效果优化、RAG框架以及优化、Multi-Agents框架协作、AWEL(智能体工作流编排)等多种技术能力,让围绕数据库构建大模型应用更简单、更方便。
项目地址:https://github.com/eosphoros-ai/DB-GPT?tab=readme-ov-file
【开源免费】VectorVein是一个不需要任何编程基础,任何人都能用的AI工作流编辑工具。你可以将复杂的工作分解成多个步骤,并通过VectorVein固定并让AI依次完成。VectorVein是字节coze的平替产品。
项目地址:https://github.com/AndersonBY/vector-vein?tab=readme-ov-file
在线使用:https://vectorvein.ai/(付费)
【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。
项目地址:https://github.com/Significant-Gravitas/AutoGPT
【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。
项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md
【开源免费】LangGPT 是一个通过结构化和模板化的方法,编写高质量的AI提示词的开源项目。它可以让任何非专业的用户轻松创建高水平的提示词,进而高质量的帮助用户通过AI解决问题。
项目地址:https://github.com/langgptai/LangGPT/blob/main/README_zh.md
在线使用:https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0