Panacea 多代理協調¶
本食譜解釋了 Panacea 的代理協調架構:協調者如何分配任務、選擇代理以及支持順序和層級工作流程。
您將學到什麼¶
- 協調者作為系統大腦的角色
- Panacea 如何將任務路由到專門的代理
- 順序工作流程與層級工作流程之間的區別
- 代理團隊如何在共同目標上協作
- 工具註冊如何運作,以便代理可以使用新功能
為什麼這很重要¶
在 Panacea 中,協調者不是隨機的。它根據能力描述、任務上下文和工作流程狀態選擇最佳代理。這使得系統可預測且可擴展。
關鍵概念¶
- 協調者 — 決定下一個運行的代理的中央協調者
- 代理 — 具有明確目的的自主單位,例如
DocumentRetrievalAgent、GeneralKnowledgeAgent或ChatHistoryAgent - 團隊 — 一群為共同目標而協作的代理
- 工作流程 — 協作風格;可以是:
- 順序:一步接著一步按順序進行
- 層級:一個指揮鏈,協調者將子任務委派給專家
- 工具 — 代理可以調用的函數,以執行如搜索、上傳或執行代碼等操作
主要的 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 |
初始化多代理系統並將其連接到聊天流程 |
它是如何運作的¶
- 使用者提交任務或查詢。
- 協調者代理審查輸入並根據能力和任務要求選擇下一個代理。
- 專門的代理執行其管道的一部分,並可能返回中間結果。
- 協調者可以選擇繼續順序進行或保持以層級模式委派子任務。
- 最終結果被組裝並返回給使用者。
順序工作流程¶
順序工作流程對於固定管道非常有用,例如:
- 檢索文檔片段 → 總結 → 回答使用者
- 收集代碼上下文 → 分析代碼 → 返回審查建議
每一步按順序運行,下一步使用前一步的輸出。
層級工作流程¶
層級工作流程對於複雜任務非常有用,協調者管理專家:
- 協調者指派一個代理來收集數據
- 另一個代理驗證數據
- 第三個代理生成最終回應
這類似於指揮鏈:協調者保持控制並將工作委派給專業代理。
工具註冊¶
Panacea 支持動態工具註冊。如果代理需要新功能,可以從 backend/agents/autonomous_agent.py 調用 register_tool(...)。
這意味著食譜不僅可以記錄如何使用現有工具,還可以記錄如何將新工具添加到系統中。
反饋循環¶
使用者反饋對於改善代理選擇至關重要。Panacea 記錄來自文檔問答和任務結果的反饋,以便協調者可以學習哪些代理和工具產生最佳結果。
食譜的注意事項¶
本食譜是手動解釋的強有力候選者。它應該包括圖表或逐步流程示例,顯示為什麼協調者做出決策,而不是將代理選擇留給機會。