Why Do Multi-Agent LLM Systems Fail

2503.13657

Motivation

目前已經有,若讓 LLMs 分工合作,是否能解決更複雜的問題?
催生了 Multi-Agent System (MAS) ,主要有以下特點:

但實際上,多代理系統的表現常常還不如單一 LLM 模型的「best-of-N」抽樣
產生問題,MAS 是真的更好?還是只是更「複雜卻沒效率」?

例如:ChatDev 只有 25% 的任務成功完成
MAS Failed Figure 1 Motivation Multi-Agent.png

HRO(High-Reliability Organizations)

即便是最聰明的 agent,也可能在組織不良的情況下出錯
⇒ 應該把 MAS 視為一個「擁有組織行為的智慧體系」,而非單純多個模型的堆疊

  1. Preoccupation with Failure(對失敗保持警覺)
  2. Reluctance to Simplify(避免過度簡化解釋)
  3. Sensitivity to Operations(對現場敏銳)
  4. Commitment to Resilience(對復原力的承諾)
  5. Deference to Expertise(尊重專業知識)

MAS 失敗分類(MASFT)

3 大類別,14 種細緻的失敗模式,,涵蓋了多代理對話中的各個階段(前中後)

MAS Failed Figure 2 Taxonomy of MAS Failure Modes.png

Specification & System Design Failures

類別一:系統設計與任務規格錯誤
發生在任務開始之前,多由於 prompt 不清、角色混亂、目標定義錯誤

編號 失敗模式 說明
1.1 Disobey Task Specification 沒有按照使用者明確的任務要求執行,如要求用棋譜操作,卻使用座標。
1.2 Disobey Role Specification Agent 扮演錯誤角色,例如 CPO 越權取代 CEO 決策。
1.3 Step Repetition 同樣的步驟或訊息在多輪對話中被重複執行。
1.4 Loss of Conversation History 忘記過去的對話內容,導致回應錯誤或上下文不連貫。
1.5 Unaware of Termination Conditions Agent 不知道何時該結束任務或重複執行已完成任務。

Inter-Agent Misalignment

類別二:代理間協作錯誤
發生在執行過程中,與溝通協調失敗有關

編號 失敗模式 說明
2.1 Conversation Reset Agent 對話被重置,忽略了上下文,像是突然斷線重來。
2.2 Fail to Ask for Clarification 當遇到模糊資訊時沒有主動詢問,直接做出錯誤決策。
2.3 Task Derailment 對話進行過程中偏離了原始任務目標。
2.4 Information Withholding 該提供的資訊未主動告知對方(例:API 限制條件未說)。
2.5 Ignored Other Agent’s Input 明明已經收到另一 agent 提供的資料,卻當作沒看到。
2.6 Reasoning-Action Mismatch 推理出的結論與實際執行的動作不一致。

Task Verification & Termination Failures

類別三:任務驗證與結束錯誤
多發生在任務快完成或即將結束的階段,與結果驗證品質相關

編號 失敗模式 說明
3.1 Premature Termination 沒完成任務就提早結束流程。
3.2 No or Incomplete Verification 任務完成後沒有驗證成果,或驗證不夠全面。
3.3 Incorrect Verification 驗證步驟有誤,例如只檢查語法而沒檢查邏輯正確性。

Method

實驗兩種策略:

  1. Prompt 優化與代理角色明確化(Tactical)
  2. 架構性調整:加入嚴格驗證、標準溝通協議、記憶機制(Structural)

⇒ 雖然 prompt 優化有一定提升(最高 +14%),但仍無法根本解決問題
真正的改善需靠 MAS 結構性設計原則的重塑

Tactical Approaches(戰術型快速修補)

  1. 清楚定義每個角色的任務與範圍

    • 避免「角色僭越」與「亂終止任務」
  2. Prompt 中加入明確的溝通模式

    [RECEIVED]: 對方資訊
    [DECISION]: 本輪決策
    [REQUEST]: 對誰提出什麼需求
    
  3. 強制加入 Self-Verification 步驟

    • 每次任務完成後強制自我檢查
    • 例:MathChat 中加上「請用自然語言說明你為何認為答案正確」
  4. 調整代理之間的拓撲順序(對話流程)⇒ 避免不必要的重複溝通或資訊繞圈

Structural Strategies(結構型系統重構)

  1. 強化任務驗證機制(Comprehensive Verification)
    - 解決「錯誤結束任務、不正確驗證」等問題
  2. 標準化溝通協議(Structured Communication Protocol)
    - 解決「角色溝通錯誤、資訊遺失、不問清楚等」
  3. 信心值量化(Confidence Quantification)
    - 避免「Agent 不確定時亂猜、早結束、沒求助」問題
  4. 記憶與狀態管理(Memory & State Management)
    - 避免「上下文斷裂、忘記歷史、重複任務」問題
Powered by Forestry.md