研究思路
传统MSA一般是:冲突处理发生在隐藏向量中,人只能看到输入和最终标签。
作者的核心观点是:人在分析复杂情绪时不是简单地"融合信息",而是比较不同线索、处理矛盾,再形成判断。以Listen将融合从"隐表示运算"外化成"语言讨论"。
模型整体流程
VA独立报告 ─┐
├→ 交换观点+回看原始证据 → 多轮修正 → Judge → 分数
TA独立报告 ─┘
传统模型在隐藏向量里处理模态冲突;Listen把冲突变成两份可阅读的报告,让Agent显式指出分歧、检查证据并修正判断。
还要注意一个容易误解的细节:两个Agent只在第一阶段严格保持模态隔离;进入跨模态分析后,两者都能看到全部T/A/V。因此,后半程的身份差异主要由角色Prompt和各自之前形成的观点维持。
| 模块 | 初始输入 | 职责 |
|---|---|---|
| Text-Audio Agent | 文本+音频 | 分析语义、情感词、讽刺、语调及文本---语音冲突 |
| Video-Audio Agent | 视频+音频 | 分析表情、眼神、姿态、动作、声音强度及视听一致性 |
| Judge/Summarizer | 两个Agent的报告 | 解决剩余分歧,输出情感分数和解释 |
1、Independent Analysis:先让两个Agent独立判断
1)Video-Audio Agent 视频+原始音频
它看不到文字转录,主要分析人物表情;手势和身体动作;说话音量、语气和节奏;视觉与声音是否协调。输出第一份报告;
2)Text-Audio Agent
输入是:文字转录+原始音频
越难啃的骨头你更要有耐心啊。 The harder the bone, the more patient you have to be.
输出第二份报告
这一步的目的不是立即融合,而是先获得两个没有相互"带节奏"的初始观点。
2、Cross-modality Analysis:交换证据并反复修正
进入下半部分后,模态隔离被解除。
两个Agent都会获得完整文本+完整音频+完整视频+自己的上一轮报告+对方的上一轮报告
图中两份彩色报告分别表示
-
橙色:Video-Audio Agent的观点;=》女性神情严肃、手势有力,声音较大。
-
蓝色:Text-Audio Agent的观点。=》句子在劝人保持耐心,但语调似乎强调事情的紧迫性。
随后两个Agent进行交叉检查:
-
TA Agent根据VA发现的表情和动作,重新理解文字语义;
-
VA Agent根据TA发现的语言含义,重新检查表情到底是愤怒、认真还是强调;
-
两者都回到原始视频、音频和文本验证对方说法。
经过第i 轮后,更新为:RVA^(i+1),RTA^(i+1)
所以这里的"辩论"不是只把两段文字互相转发,**而是:读取对方观点 → 回看完整原始模态 → 验证证据 → 修改自己的报告。**论文固定运行两轮,即K=2
3、Judge:综合两份修正后的报告
右侧Judge相当于最终裁决Agent。
它收到两个Agent经过讨论后的结果,然后按照Prompt要求:
- 找出两份报告的一致之处;比较不同证据的可信度;处理仍未解决的冲突;输出最终情感分数和综合理由。
图中的最终结果是:final score=-0.2
它可能表示:
- 句子内容本身是在积极劝告;但严肃表情、较强动作和语气带有压力或不满;正负证据相互抵消后,最终稍微偏负面。
不过图中没有展示Judge的完整理由,因此对-0.2的具体解释只能理解为示意,不能仅凭这张图断言真实理由。
实验环境
基础模型Qwen2.5-Omni,TA和VA使用相同的Qwen2.5-Omni骨干
训练方式:完全零样本,不进行数据集微调;讨论轮次是:(K=2)
调用方式是:按API式调用组织,论文写的是"API Calls",但API不等于云端:
-
可以调用阿里云上的Qwen接口;
-
也可以在本地部署Qwen2.5-Omni,再封装成HTTP API;
-
甚至可以直接在Python进程中加载模型调用。
零样本方法:
作者把多模态情感分析任务拆成一串提示词驱动的 Agent 推理流程(TA、VA 两个 Agent,K=2 轮,每样本调用 7 次),靠 Qwen2.5-Omni 的通用能力直接出情感强度预测;
数据集
| 数据集 | 语言 | 规模 | 任务 |
|---|---|---|---|
| CMU-MOSI | 英文 | 2,199 | −3~+3情感强度 |
| CMU-MOSEI | 英文 | 22,856 | −3~+3情感强度 |
| CH-SIMS | 中文 | 2,281 | 五分类/二分类及回归 |
| CH-SIMS v2 | 中文 | 4,403 | 扩展版中文MSA |
评价指标为Acc-7、Acc-5、Acc-2、F1、MAE和Corr。
论文没有详细列出数据划分,只说遵循常规评测协议。由于Listen是零样本方法,它不使用这些数据训练或微调模型。
实验结果
1、整体有提升,尤其在中文数据集和细粒度分类上较明显;但并非所有指标都提升,例如MOSI的Corr反而下降。
② 提升是否只是因为思考步骤更多?
作者增加Single-Agent CoT,让一个Qwen2.5-Omni依次分析三种模态:
说明延长单模型推理确实有帮助,但多Agent交叉纠错进一步提升了结果。
③ 讨论几轮最好?
| 设置 | Acc-5 | Corr |
|---|---|---|
| 不讨论 (K=0) | 64.3 | 0.852 |
| 一轮 (K=1) | 68.9 | 0.881 |
| 两轮 (K=2) | 70.5 | 0.891 |
| 三轮 (K=3) | 70.1 | 0.888 |
两轮最好。作者认为第三轮容易产生信息重复和从众偏差。
④ Judge是否有必要?
只使用TA或VA的最终报告,均不如Judge综合两份报告,说明最终汇总步骤有一定作用。
⑤ 性能与成本如何权衡?
| 方法 | 调用次数 | Token | 延迟 | Acc-5 |
|---|---|---|---|---|
| 单Agent | 1 | 1.2k | 4.1秒 | 61.7 |
| Listen (K=2) | 7 | 7.5k | 20.3秒 | 70.5 |
Acc-5提高8.8个百分点,但Token约为6.25倍,延迟约为4.95倍。
消融实验:Agent辩论真的有效吗?
| 配置 | Acc-5 | Acc-2 | F1 | MAE↓ | Corr |
|---|---|---|---|---|---|
| 单Agent | 61.7 | 86.9 | 86.9 | 0.211 | 0.841 |
| 单Agent+CoT | 65.8 | 87.0 | 87.1 | 0.220 | 0.858 |
| 双Agent、无辩论 | 64.3 | 86.2 | 85.5 | 0.239 | 0.852 |
| Listen,1轮辩论 | 68.9 | 87.8 | 88.5 | 0.210 | 0.881 |
| Listen,2轮辩论 | 70.5 | 88.4 | 89.4 | 0.201 | 0.891 |
| Listen,3轮辩论 | 70.1 | 88.3 | 89.2 | 0.205 | 0.888 |
1、提升不只是来自CoT
单Agent CoT比普通单Agent强,但仍低于双Agent两轮辩论:
单Agent:61.7
单Agent CoT:65.8
双AgentK=2:70.5
2、只有独立Agent还不够
没有辩论时Acc-5只有64.3,说明单纯生成两份报告再汇总,不如让两者相互检查和修正。
3、辩论不是越多越好
第三轮略有下降。作者观察到两个问题:
-
从众偏差:原本正确的Agent为了达成一致而放弃证据;
-
信息饱和:第三轮开始重复措辞,不再提供新证据。
这一点很有价值:多Agent讨论并不会自然地单调提升性能,讨论轮数本身也是风险来源。
评价
如果用做Agent项目的视角看,它类似于编写一个固定工作流:
并行调用两个分析节点一交换输出一循环两轮一调用汇总节点一解析情感分数
它甚至不是ReAct式Agent,因为它没有:自主规划;工具选择;环境观察;动态决定下一步;外部知识检索;根据任务自动结束。
所以把它称为Multi-Agent Debate Framework没错,但从工程角度看,它更接近:多角色Prompt工作流,或者基于MLLM的多会话推理编排。
这篇论文的创新是"怎样组织大模型思考",不是"怎样改造多模态模型";有应用价值和叙事价值,但底层算法贡献比较有限。
基本信息:这是一篇什么论文?
-
题目:Beyond a Single Perspective: A Multi-Agent Debate Framework for Affective Computing
-
方法名称:Listen
-
期刊:Pattern Recognition
-
年份:2026
-
任务:文本、音频、视频三模态情感分析
-
数据集:
-
英文:MOSI、MOSEI;
-
中文:CH-SIMS、CH-SIMS v2。
-
-
基础模型:Qwen2.5-Omni
-
学习方式:完全零样本,不使用任务数据微调
-
核心结构:
-
Text-Audio Agent;
-
Video-Audio Agent;
-
Cross-Examination;
-
Consensus Summarizer。
-
一句话定位:
它把传统神经网络内部的T/A/V融合,改造成两个模态角色Agent之间可阅读的讨论与裁决。
CoT 是什么
CoT = Chain-of-Thought,中文叫"思维链"。|
核心思想一句话:不要逼模型直接吐答案,而是让它把"中间推理步骤"一步一步写出来,最后再给结论。
