多智能体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 任务轨迹。

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

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

相关推荐

回到24年刚学完技术栈的我,就算是做梦,我也梦不到会有如此出彩的成绩与履历,但是25年的我,的确是真正实现了。很多人会称呼我为大佬,但是,只有自己知道,我只是一个普通平凡的人,没有显赫的家世,没有很高的智商,没有很好的成绩,甚至学历在社会也是垫底的存在,之所以能够取得阶段性成果,我觉得是抓住了机遇,和自身将近每天10小时的学习,才成为了大家口中的大佬,在这里,我需要感谢我的恩师——童哥,他可以说是我学习前端的起点,也是最明亮的一盏灯,能够准确抓住我的技术弱点,能够分享很多新颖项目在简历上添砖加笔,能够动用人脉关系,帮我内推进给家大厂,不然大厂我甚至会简历挂,在这里,我想给各位读者分享一下我的大学生涯,让大家可以从我的经历中,收获到一点经验初入大学的未知与对计算机热爱初显由于高考很差,甚至没有500分,只能选择二本的软件工程专业,但是一身桀骜不驯,让我每天都有着野鸡成凤凰的美梦,于是抱着对计算机的热爱和编程的喜欢,开始进入学院ACM选拔培训,整个大一的第一学期,几乎都是在ACM培训室里度过,陪伴我的,只有数不尽的算法练习,以及每周一次的算法检验(感觉像是高中的周考),全院100人培训,基本都稳居前十,在最终的ACM选拔,我以全院第7的成绩,获得了进入ACM算法部的资格,但是我退而求其次,选择了较次的ACM软件部,因为经过一学习的算法历练,我发现我自己不爱像高中一样写题目,而是想要打造自己的产品,给用户使用,想要写的每一行代码,都能够直观的体现。于是我的重心从算法转变成了前端。大二偶遇恩师,前端飞速提升因为个人贪玩,导致大一下完全荒废,一学期学进去的知识只有html和css。大一暑假又刷了一堆制造焦虑的视频,导致每天都活在焦虑中,觉得自己的学历,再不努力学习,毕业一定会失业。于是怀着这样的心情,在大二开学时,就制定了一个极其天马行空的想法:一学期搞定前端,一学期搞定后端,大三直接全栈。现在想想简直是痴人说梦,就在我在这条路越陷越深时,恩师出现了,恩师又称童哥,25届字节电商SSP选手,本因和我这个臭二本无任何关联,但是童哥却想要培养一批人,跟着他学习,一直到大厂,很凑巧,ACM软件部的学姐认识童哥,于是介绍给了我,于是,遁入童门。于是在童哥的帮助下,我修改了我的学习路线,重学html,css,js,学习react框架,童哥再分享一个新手项目,让我再边写项目的同时,边巩固学习的基础知识,一边还学习了一些边角料知识,比如Promise,ajax,ts。时间很快,25年就这样悄悄的到来。寒假末,童哥陪训营(哈哈哈,这样称呼可能比较正式,实则都是跟着童哥的志同道合的朋友)里,挑了几个同进度的朋友们,在童哥的监督下,开始写了前端埋点的项目。这个项目非常的好,也很推荐给大家,面试官会经常问这个项目,很重点。写完项目后就是开始苦逼的刷算法,背八股,投简历,前期面试被训的确实很伤自尊,导致连10几个人的小公司都看不上我,确实很受挫,但是持续面了之后,发现越来越得心应手,于是通过了袋鼠云的一二面,成功入职袋鼠云。进入职场,真正了解工作我的第一个mt人非常好,帮助我收拾了很多烂摊子,也喜欢给我分享很多技术,我的掘金(牛客同名)发布的文章,有很多都是我的mt给我的灵感,实习时一个人提升最快的时候,我学会的debug,学会怎么写一个组件,我学会怎么独立完成一个需求(虽然这个需求被指了一堆bug)。第一段实习算是我的工作启蒙,虽然学习的新技术点没有那么多,但更多的是将已学习的知识荣获贯通,懂得分析需求,需求拆解的能力。这在之后快手的实习生活提供了很大的帮助。之后八月离职之后,我就开始狂投简历,一心往大厂投,可惜最后都石沉大海,最后也是童哥的朋友,内推我去快手,第一次面大厂,压力很大,好在俩轮面试成功通过,入职快手。可以说很幸运了。在快手也是我的成熟期,大厂的忙也锻炼了我的抗压能力,我的代码能力也愈加成熟。果然,实习才是真正提升自己的阶段。学习建议我的后台私信也有很多朋友会来问我前端如何学习,学院本出路在哪里,在这里我统一和大家说一下,我认为前端目前还是学历不好的人进入大厂的比较好的技术方向,但是需要付出的努力也是想像不到的多。如果你有信心,可以听我好好说道说道。1. 学习计算机打破信息差很重要,不了解目前的就业形势,就一定会跑偏,所以一定要多去向一线大佬请教2. 学习不停留在看,而输出,总结文档,发布博客给大家看,都是一件很不错的事情,只有让别人懂了,你自己才会懂3. 确定方向不要改变,不要收到焦虑影响,一直向前。要有不切实际的勇气4. 多和大佬社交,学历不好的情况下,内推,往往是约大厂面试最好的方式5. 刻苦学习,一切的基础都基于刻苦,能去大厂的朋友,一定是各自大学的第一卷王。做不到,前面一切都白谈。当然,这里说说学习建议,至于技术,面试建议,碍于篇幅,日后有时间在和大家聊聊。小广告给我恩师捞几个好苗子,先简单介绍一下,童哥一年前开始培养一批前端,如果一路一直跟着,目前基本上都在大厂,目前大四的学长基本都有大厂offer,大三的也大部分在大厂实习,成绩比较显赫。代教除了童哥,还有美团SP,字节等一系列高手。想要了解的,可以私聊我。加入我们能够:- 一线大厂大佬的定时技术分享- 大厂✌️的一对一教学- 规划路线,找寻市面上火热的项目,交给大家去写- 内部前端知识库,面试,八股文,项目问题等都能找到答案- 简历指导- .....最后小小愿望愿望就是在26年,能成功转正,或是能够有一个正式offer呜呜呜,就满足孩子吧。
牛客56484601...:做点人事,不要引流,割大学生的韭菜了,大学生已经很苦了,你们这群人还有割韭菜,真的是
腾讯成长空间 5970人发布
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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