本文介绍了一种名为Mixture-of-Roles(MoR)的大模型智能体微调方法,将智能体能力解耦为推理者、执行者和总结者三个专门角色,通过LoRA模块实现参数高效微调。实验表明,该方法仅需增加0.16B-0.36B可训练参数,就在StableToolBench、BFCL、GSM8K和MATH等多个基准上显著提升性能,通过率最高提升超40%,同时保持模型原有通用能力,为构建高效智能体提供了新思路。
大语言模型(LLMs)已逐步成为智能体实现推理、规划和工具调用的关键技术。目前提升 LLM 智能体能力的主要方法包括提示工程和智能体专用微调:前者通过精心设计的提示有效激发模型(如 ChatGPT 和 GPT-4 等商业模型)的智能体行为,但在开源 LLM 上效果有限;后者则利用智能体相关数据对模型进行微调,现有微调方法多依赖全参数微调,不仅计算成本高昂、难以普及,还容易损害模型原有的通用能力,限制其在通用任务与智能体任务之间的灵活切换。为此,研究者转向参数高效微调(PEFT)方法,尤其是低秩自适应(LoRA),然而低秩结构在联合学习推理、规划、工具调用与交互总结等多样化技能时面临表达能力不足的挑战。
为此**,****北邮联合华为诺亚提出一种名为 Mixture-of-Roles(MoR) 的新方法,将智能体能力解耦为三个专门角色:推理者(Reasoner)、执行者(Executor) 和总结者(Summarizer)。**三种角色分别对应三个专门化的LoRA模块组,每组被赋予独特的职能定位。通过聚焦各自专长领域并建立协同交互机制,这些模块组能够有机协作,共同完成整体智能体任务。
实验表明,该方法在 StableToolBench、BFCL、GSM8K 和 MATH 等多个基准上显著优于现有方法。例如,在仅增加 0.16B 可训练参数的情况下,Llama3.2-1B-Instruct 在 StableToolBench 上的 DFS 通过率提升超40%;Phi-3.5-mini-Instruct 也以仅新增 0.36B 参数实现 14.2% 的提升,充分验证了 MoR 架构在参数效率与智能体性能上的优势。
论文标题:
MoRAgent: Parameter Efficient Agent Tuning with Mixture-of-Roles论文链接:
https://arxiv.org/pdf/2512.21708v1
项目链接:
https://mor-agent.github.io/
01
方法
首先介绍智能体任务中能力的分解,然后详细阐述混合角色(Mixture-of-Roles,MoR)框架及其微调所采用的优化目标,最后说明多角色数据的构建流程。
(1)能力分解
让 LLM 的权重同时学习多种能力(如推理、工具调用、状态跟踪等)具有挑战性,尤其当模型采用低秩形式时更为困难。因此,研究者提出将智能体能力分解为三个独立角色。多个角色协作完成一项智能体任务的流程如图1所示。
图1 多个角色协作完成一项智能体任务的工作流程示例
1)推理者(Reasoner)
推理者首先理解用户的查询并生成其分析性推理,然后将该推理结果传递给执行者。此外,在真实部署环境中调用工具后,推理者会根据返回的观测结果,分析整个执行轨迹,以判断用户查询是否已被解决。如果用户查询已成功解答,或在经过足够多次尝试后仍无法解决,则下一步将角色切换至总结者;否则,将继续交还给执行者进行进一步操作。
形式化地表示为:
其中,Rolet表示下一步激活的角色, Wr 和 pr分别表示推理者的权重和系统提示。
2)执行者(Executor)
执行者负责根据推理器的分析思路,选择合适的函数和参数来调用。
其中Funt和Paramt分别表示下一步要调用的函数及其参数,We和pe分别表示执行者的权重和系统提示。随后,这些函数会在真实的部署环境中执行,例如 RapidAPI Hub、Python IDE 等。
3)总结者(Summarizer)
总结者负责重新组织对话历史,并将提炼后的信息传达给用户。
Ws和ps分别表示总结者的权重和系统提示。
(2)MoR框架
为了表征分解后的能力,进一步提出了Mixture‑of‑Roles(MoR)框架,如图2所示。
图2 MOR框架图
MoR 框架可被部署在Transformer 块的注意力机制或前馈网络的线性层上。在训练过程中,主干网络的预训练权重保持冻结,仅对 MoR 模块中的参数进行微调,包括 LoRA 适配器和路由器。给定输入隐状态 和冻结的预训练权重 ,其中 len 为输入序列长度, d1和 d2分别为输入和输出的维度,则最终输出隐状态 h可表示为:
其中ℎ0=𝑊0𝑢,而增量项 Δℎ=Δℎ𝑟+Δℎ𝑒+Δℎ𝑠,即推理者、执行者和总结者的输出之和。
在任意时刻,三个角色中仅有一个处于激活状态,这一机制通过基于规则的角色感知门控实现。具体而言,当用户输入一个查询时,推理者首先被激活,然后将执行动作之后的观测信息作为输入提供给推理者,最终推理者输出下一个要激活的角色。
以推理者为例说明MoR 框架中三个角色的参数更新机制。推理者的输出Δhr=ΔWrur,其中ΔWr表示推理者中 LoRA 模块的权重,ur表示分配给推理者的输入。ΔWr的具体结构如下:
每个角色由一个共享 LoRA(上标为 0)和Er个路由 LoRA(上标从1 到 Er)组成。其中, , ,且低秩维度d3≪min(d1,d2)。Rr表示推理者中的 Top-K token感知路由器,用于根据不同的输入动态选择特定的 LoRA 适配器。
研究团队采用以下训练目标来指导监督微调过程:
其中LCE是交叉熵损失,用于衡量预测与真实分布的差异。Laux是辅助平衡损失,用于避免LoRA之间的负载不平衡。Lorth是LoRA之间的正交损失,使LoRA尽可能独立,以从不同方向捕获特征。α1和α2是超参数。
其中B表示批次大小,y是输入u的标签,而pw指示带权重的预测分布w。
其中, 代表表示被分配给推理者、执行者和总结者中第i个 LoRA 的 token 所占的比例。
表示在角色▽中,路由器分配给第i个LoRA 的平均概率比例。
其中 表示路由器在不同角色中的权重。
此外,为了鼓励LoRAs学习不同方向上的分布并减少冗余,研究者提出了正交损失。
其中F表示 Frobenius 范数。通过适当设置超参数来组合不同的损失项,可以获得更好的结果。
完整的微调过程如算法1所示。
(3)数据准备
为了有效微调该框架,研究者构建了一个基于公开数据集的多角色数据生成流水线,其中融合了面向特定角色的内容补全与可靠性验证机制。
1)面向特定角色的内容补全
研究者基于多个公开数据集(如ToolBench、APIGen+ToolACE、glaive-function-calling-v2、MathGenie)构建训练数据以支持多角色微调。其中,ToolBench 本身包含隐式的多角色内容,可通过规则方法直接转为显式格式;而其他数据集常缺少推理或总结等角色内容,使用 GPT-4o 补全。针对 LLM 生成的执行轨迹中推理或摘要质量低的问题,进一步引入 DeepSeek-V3 对整体轨迹及各步骤进行质量评估与筛选。
为便于下游微调,将数据统一为标准化 JSON 格式:包含可选的候选函数列表(含名称、描述、参数及是否必选)、系统提示、以及从用户查询开始的完整执行轨迹——涵盖推理者与执行者的交互、真实环境返回的观测结果(如需要),并以总结者的反馈结尾。不同场景的格式示例如图 3 所示。
图3 微调数据集中不同场景下的JSON格式
2)可靠性验证机制
为提升微调数据的质量,实施了一系列过滤与修正流程。错误主要分为以下三类:
- 函数未包含在候选列表中:可通过基于规则的方法识别,并通过重新提示其他大语言模型进行修正。
- 参数数量错误或类型不匹配:这类错误通常导致执行失败,可据此检测并手动修正。
- 函数选择或参数赋值错误:此类错误较为隐蔽,不会引发执行失败。通过将其他 LLM 生成的预期输出与实际执行结果进行比对来识别不一致之处,并对存疑样本进行人工复核与修正。
02
评估
图4 不同LoRA 数量下各角色对应的损失值和Levenshtein准确率
为在模型性能与可训练参数量之间取得平衡,研究者基于 Llama3.2-1B-Instruct 模型开展小规模消融实验,以确定推理者、执行者和总结者各自最优的 LoRA 配置。
实验数据从多角色语料中按角色拆分,每类角色随机选取 8 万条作为训练集、5 千条作为验证集;LoRA 秩维度设为d3=16 ,并应用于注意力和前馈网络中的 query、key、value、out、gate、up、down 等模块,同时暂不启用路由器以简化分析。对每个角色分别测试 LoRA 数量从 1 到 8 的效果,微调 2 个 epoch 后观察损失与 Levenshtein 准确率的变化趋势如图4所示。结果表明:推理者和执行者在 LoRA 数从 4 增至 5 时性能提升显著放缓,而总结者的拐点出现在3增长至4。据此,在后续实验中设定推理者和执行者的总 LoRA 数为 5(激活 4 个),总结者的总 LoRA 数为 4(激活 3 个)。最终训练采用学习率 5×10−5,MoR 微调 4 个 epoch,并将目标函数中的超参数设为α1=10−3 、α2=10−4。
表1 不同LLM在StableToolBench上的通过率和胜率
在 StableToolBench 上评估不同大语言模型的表现,主要使用通过率(pass rate)和胜率(win rate)两个指标。通过率指模型在可解任务中成功完成任务的比率;胜率指模型与基线模型 GPT-3.5-1106+CoT 进行对比时,表现优于该基线的任务比例,评估重复三次以确保结果稳定。
如表 1 所示,在 Llama3.2-1B-Instruct 上,仅引入 0.16B 可训练参数,研究团队的方法在 DFS 设置下将通过率和胜率分别提升了 44.5% 和 25.2%;在 Phi3.5-mini-Instruct 上,仅引入 0.36B 可训练参数,在 CoT 设置下通过率和胜率分别提升了 26.3% 和 17.3%。值得注意的是,尽管参数量更少,MoRAgent-Phi 甚至超越了专为工具调用设计的模型 ToolLLaMA-v2,充分验证了所提方法的有效性。
表2 不同LLM在BFCL上的性能表现
研究者在 BFCL 排行榜上进一步评估了研究团队的方法,涵盖实时与非实时任务的抽象语法树(AST)准确率、非实时任务的可执行函数评估(Exec)以及实时任务的相关性(Relevance)三项指标。实验结果如表2所示,在仅分别引入 0.16B、0.36B 和 0.20B 可训练参数的情况下,平均准确率分别提升了 50.1%、17.9% 和 53.4%,显著验证了方法的有效性。
表3 不同LLM在GSM8K和MATH上的性能表现
研究者进一步将所提方法应用于数学推理场景。与直接生成答案不同,该方法通过调用 Python 包(编写可执行代码,并在真实环境中运行以求解数学问题。实验采用 Qwen2.5-1.5B-Coder 作为基础模型,并基于 ToRA 框架进行推理与评估。为全面衡量性能,对基础模型分别在两种设置下进行测试:使用 Python 包执行代码和不使用 Python 包、仅依赖语言生成。表3表明,在仅引入 0.27B 可训练参数的情况下,研究团队的方法显著优于基线:在 GSM8K 和 MATH 数据集上,相比两种基线设置中的最佳准确率,分别提升了 13.8% 和 12.0%。
如何系统的学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
一直在更新,更多的大模型学习和面试资料已经上传带到CSDN的官方了,有需要的朋友可以扫描下方二维码免费领取【保证100%免费】👇👇
01.大模型风口已至:月薪30K+的AI岗正在批量诞生
2025年大模型应用呈现爆发式增长,根据工信部最新数据:
国内大模型相关岗位缺口达47万
初级工程师平均薪资28K(数据来源:BOSS直聘报告)
70%企业存在"能用模型不会调优"的痛点
真实案例:某二本机械专业学员,通过4个月系统学习,成功拿到某AI医疗公司大模型优化岗offer,薪资直接翻3倍!
02.大模型 AI 学习和面试资料
1️⃣ 提示词工程:把ChatGPT从玩具变成生产工具
2️⃣ RAG系统:让大模型精准输出行业知识
3️⃣ 智能体开发:用AutoGPT打造24小时数字员工
📦熬了三个大夜整理的《AI进化工具包》送你:
✔️ 大厂内部LLM落地手册(含58个真实案例)
✔️ 提示词设计模板库(覆盖12大应用场景)
✔️ 私藏学习路径图(0基础到项目实战仅需90天)
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。