跳轉至

Panacea 多代理協調

本食譜解釋了 Panacea 的代理協調架構:協調者如何分配任務、選擇代理以及支持順序和層級工作流程。

您將學到什麼

  • 協調者作為系統大腦的角色
  • Panacea 如何將任務路由到專門的代理
  • 順序工作流程與層級工作流程之間的區別
  • 代理團隊如何在共同目標上協作
  • 工具註冊如何運作,以便代理可以使用新功能

為什麼這很重要

在 Panacea 中,協調者不是隨機的。它根據能力描述、任務上下文和工作流程狀態選擇最佳代理。這使得系統可預測且可擴展。

關鍵概念

  • 協調者 — 決定下一個運行的代理的中央協調者
  • 代理 — 具有明確目的的自主單位,例如 DocumentRetrievalAgentGeneralKnowledgeAgentChatHistoryAgent
  • 團隊 — 一群為共同目標而協作的代理
  • 工作流程 — 協作風格;可以是:
  • 順序:一步接著一步按順序進行
  • 層級:一個指揮鏈,協調者將子任務委派給專家
  • 工具 — 代理可以調用的函數,以執行如搜索、上傳或執行代碼等操作

主要的 Panacea 檔案

檔案 為什麼重要
Panacea/backend/agents/multi_agent_system.py 協調者和工作流程路由邏輯
Panacea/backend/agents/autonomous_agent.py 工具註冊和代理生命週期
Panacea/backend/agents/routing.py 任務路由輔助邏輯
Panacea/backend/agents/reactive_agent.py 初始化多代理系統並將其連接到聊天流程

它是如何運作的

  1. 使用者提交任務或查詢。
  2. 協調者代理審查輸入並根據能力和任務要求選擇下一個代理。
  3. 專門的代理執行其管道的一部分,並可能返回中間結果。
  4. 協調者可以選擇繼續順序進行或保持以層級模式委派子任務。
  5. 最終結果被組裝並返回給使用者。

順序工作流程

順序工作流程對於固定管道非常有用,例如:

  • 檢索文檔片段 → 總結 → 回答使用者
  • 收集代碼上下文 → 分析代碼 → 返回審查建議

每一步按順序運行,下一步使用前一步的輸出。

層級工作流程

層級工作流程對於複雜任務非常有用,協調者管理專家:

  • 協調者指派一個代理來收集數據
  • 另一個代理驗證數據
  • 第三個代理生成最終回應

這類似於指揮鏈:協調者保持控制並將工作委派給專業代理。

工具註冊

Panacea 支持動態工具註冊。如果代理需要新功能,可以從 backend/agents/autonomous_agent.py 調用 register_tool(...)

這意味著食譜不僅可以記錄如何使用現有工具,還可以記錄如何將新工具添加到系統中。

反饋循環

使用者反饋對於改善代理選擇至關重要。Panacea 記錄來自文檔問答和任務結果的反饋,以便協調者可以學習哪些代理和工具產生最佳結果。

食譜的注意事項

本食譜是手動解釋的強有力候選者。它應該包括圖表或逐步流程示例,顯示為什麼協調者做出決策,而不是將代理選擇留給機會。