多智能体LLM为何失效

看了篇论文感觉挺有意思的,这个是我目前看,能够比较完整的把智能体错误进行系统整理并給出一个诊断方式的文章。并提出了一个多代理系统故障分类法(MAST - Multi-Agent System Failure Taxonomy)

原文链接

这个文章主要把Agent的问题分为了三类

第一类:系统设计问题

这类错误通常是因为系统让智能体扮演的角色没定义好,或者智能体没能遵守“人设”和规则。其中下分五个错误

1.1 违背任务规范 (Disobey Task Specification):用户说“不要用固定字典”,智能体非要用。即无视用户的核心约束。 1.2 违背角色规范 (Disobey Role Specification):角色混乱。比如“产品经理”智能体突然开始写代码,或者无权结束对话的“程序员”擅自宣布任务结束。

1.3 步骤重复 (Step Repetition):死循环。智能体陷入“报错-重试-报错-重试”的怪圈,或者不断重复已经完成的步骤,像复读机一样。

1.4 对话历史丢失 (Loss of Conversation History):失忆。智能体突然忘了上一步大家商量好的结果,上下文接不上了。

1.5 不知道何时停止 (Unaware of Termination Conditions):停不下来。任务明明完成了,智能体还在尴尬地继续聊天,或者任务没完成它却不知道该继续。

第二类:智能体间错位

这是多智能体特有的错误,源于“心智理论”(Theory of Mind)的缺失,即智能体不知道队友需要什么信息。

2.1 对话重置 (Conversation Reset):聊着聊着突然像刚认识一样,重新开始打招呼或介绍任务,导致之前的进度作废。

2.2 未寻求澄清 (Fail to Ask for Clarification):不懂装懂。面对模糊的信息(比如缺了密码),智能体不问队友,而是直接瞎猜或硬着头皮做,导致出错。

2.3 任务脱轨 (Task Derailment):跑题。聊着聊着偏离了最初的目标,去解决无关紧要的边缘问题了。

2.4 信息保留 (Information Withholding):知情不报。这是最典型的协作失败。例如:代理A知道API的正确格式,但他不告诉正在写代码的代理B,看着B一次次报错。

2.5 忽略他人输入 (Ignored Other Agent’s Input):当耳旁风。代理A给出了正确的建议,代理B收到了,但在行动中完全无视,继续按错误的方式做。

2.6 推理-行动不匹配 (Reasoning-Action Mismatch):言行不一。心里想的是“我要调用搜索工具”,结果实际输出的操作却是“结束对话”。

第三类:任务验证

这类错误涉及质量控制,智能体作为“测试员”或“审核员”时经常翻车。

3.1 过早终止 (Premature Termination):早退。任务还没做完(或者还没做对),智能体就宣布“大功告成”并退出了。

3.2 无验证或不完整验证 (No or Incomplete Verification):敷衍了事。虽然有测试环节,但只检查表面(例如:代码能运行吗?能。),却不检查核心逻辑(例如:这代码下棋符合规则吗?不符合。)。

3.3 错误验证 (Incorrect Verification):乱判卷子。对的判成错的(False Positive),或者错的判成对的(False Negative)。

如何使用论文提出的MAST

1.最简单的方式:使用 Python 库

pip install agentdash
import os
os.environ["OPENAI_BASE_URL"] = "xxxx"

from agentdash import annotator

# 1. 初始化标注器
openai_api_key = "xxxx"
MASTAnnotator = annotator(openai_api_key,model="anthropic/claude-sonnet-4.5")

# 2. 准备你的智能体对话记录 (String格式)
trace = """
Agent1: 我需要计算 1+1。
Agent2: 好的,答案是 3。
Agent1: 谢谢,任务完成。
"""

# 3. 生成诊断报告
mast_annotation = MASTAnnotator.produce_taxonomy(trace)

# 4. 查看结果
print("检测到的失效模式:")
for failure_mode_id, detected in mast_annotation["failure_modes"].items():
    if detected:
        info = MASTAnnotator.get_failure_mode_info(failure_mode_id)
        print(f" {failure_mode_id}: {info['name']}")
检测到的失效模式:
 3.1: Premature Termination
 3.2: No or Incorrect Verification

agentdash这个库写的特别简陋,一共只有三个文件

agentdash/
├── __init__.py       # 包初始化,导出主要接口
├── annotator.py      # 核心注释器实现
└── taxonomy.py       # MAST 分类法定义

2.构建 LLM-as-a-Judge 自动化评估管道

1. 标准确立

人类专家通过多轮迭代,确定了 14 种具体的 Agent 故障模式(如“幻觉”、“工具使用错误”)。

建立了由人类验证过的、定义清晰的分类体系。

2. 数据准备

专家标注了少量复杂的 Agent 执行轨迹作为测试集。

确保了评估基准的可靠性。

3. 裁判设计

选用模型,并在 Prompt 中包含了故障定义的详细解释 +具体示例(Few-Shot)

相比不给示例(Zero-shot),Few-shot 极大提升了裁判的理解力。

4. 验证

将 o1 的评估结果与人类标注对比,计算准确率(Accuracy)和一致性(Cohen's Kappa)。

最终实现了94% 的准确率0.77 的 Kappa 值,证明该自动管道足以替代人工进行大规模分析。

5. 规模化

使用验证后的裁判模型,自动化分析了 200+ 个复杂的 Agent 任务轨迹。

节省了数百小时的人工标注时间。

全部评论
捞哥,感觉你可以写书了
点赞 回复 分享
发布于 2025-12-29 17:47 陕西

相关推荐

1.GAN和Transformer 这两个分别在你的项目里承担了哪些作用?这两个是怎么帮助你推动模型进行图像或者视频重建并提升性能?2.你的GAN以及生成器和判别器主要负责什么工作的,讲一下他们的核心作用以及怎么协同的3.你做项目的时候是先用的生成器还是判别器,为什么要这样设计呢?4.你的轻量化参差模块在优化Swin transformer发挥的什么作用?5.计算机视觉中多尺度融合是什么含义6.为什么深层次神经网络中提取的图像特征被称为”语义特征”?怎么处理图片信息的,多尺度特征的提取怎么提升的模型性能,你用了什么技术和算法框架去实现的7.在你处理模型时用的什么注意力机制,在大模型图像处理项目时这些模块在整体架构分别承担了什么职责?8.你在里面用的对抗损失函数怎么设计的,怎么结合别的模块使用的9.你用的WGAN,他和原始的GAN是怎么改进梯度问题的,以及损失函数中梯度惩罚项怎么实现的Lipschitz约束10.你说一下逻辑回归他的原理还有适用场景以及如何实现的11.在逻辑回归中,我们一般用交叉墒损失函数,你可以说一下为什么吗?12.你结合一下逻辑回归二分类任务,说一下为什么这种情况经常使用交叉墒损失而不是均方误差损失呢?13.L1L2正则化在机器学习模型中的作用是什么(这里要求写数学公式)14.请详细介绍一下PPO这个在强化学习中的策略优化算法,主要思路和流程是什么15.在PPO的算法损失函数中,有两个操作,一个是clip,还有一个是min,请你说一下这两个操作的方式作用还有他们在PPO中的意义。16.在PPO算法的损失函数设计中,cilp的操作已经能够限制策略更新的幅度确保稳定性,为什么还需要在损失计算中取原始的目标和clip的较小值?如果只保留clip部分,不取较小值会有什么问题?
查看16道真题和解析
点赞 评论 收藏
分享
评论
点赞
9
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务