Manus火了?別慌 一文讀懂AI智能體常見的九種設計模式 原創
作為高度顛覆性的生成式人工智能 (GenAI) 技術的技術支柱,基礎模型 (FMs) 已獲得了學術界和工業界的廣泛關注。特別是,大型語言模型 (LLMs) 的出現,它們在理解和生成類人推理和內容方面表現出色,催生了大量使用語言模型的各種下游任務。隨后,基于 FM 的自主Agent的開發越來越受到關注,例如 AutoGPT 和 BabyAGI,它們可以主動、自主地追求用戶目標。
盡管當前研究者在AI Agent領域投入了巨大努力,但從業者在構建和實施基于基礎模型(Foundational Model,FM)的Agent方面面臨著陡峭的學習曲線,并且,Agent的架構設計和架構模式的集合尚未得到系統的探索和制定。
在軟件工程中,架構模式是軟件設計中常見問題的一個可重用的解決方案。這里說的智能體/Agent,是指能夠發揮主動作用或產生影響以實現用戶目標的 AI系統,一個用于設計基于FM的Agent的架構模式目錄。
Agent設計模式全景圖:
當用戶與 Agent 交互時,【被動目標創建者和主動目標創建者】可以幫助理解用戶的意圖和環境信息,并在上下文工程中將最終目標進行規范化,而【提示/響應優化器】則根據預定義的模板,對其他 agent/tools 的提示或說明進行優化,以滿足特定的格式或內容要求。
給定用戶的輸入,Agent 通過【檢索增強生成】從知識庫中獲取額外的上下文信息。然后,它通過【單路徑計劃生成器和多路徑計劃生成器】構建計劃,將最終目標分解為可執行的任務。在這個過程中,可能會進行【單次模型查詢和增量模型查詢】。
生成的計劃應該進行審查,以確保其準確性、可用性、完整性等。【自我反思、交叉反思和人類反思】可以幫助 Agent 從不同的反思實體那里收集反饋,并根據反饋相應地完善計劃和解題步驟。
之后,Agent 可以將任務分配給其他基于窄 AI 或非 AI 的系統,調用外部工具,并通過【工具/agent 注冊表】使用一組 Agent 來實現目標。特別是,Agent 可以在同一任務上工作,并通過【基于投票、基于角色或基于辯論的合作】來最終確定結果。
例如,Agent 可以扮演不同的角色,如協調器和工作者。【代理適配器】不斷學習不同工具的接口,并將它們轉換為 FM 友好的環境。【多模態護欄】可以用于管理和控制基礎模型的輸入/輸出。同時,使用的 Agent 將執行各自的推理、計劃和執行過程,這可能需要通過【檢索增強生成、工具/agent 注冊表和代理適配器】訪問外部系統。
最后,我們聲稱開發者可以通過【代理評估器】在設計時和運行時評估 Agent 的性能。
圖:用UML序列圖表示的Agent設計模式全景圖
圖:Agent設計模式之間的連接關系
AI Agent 常見的九種設計模式??。
.ReAct 模式原理:將 Reasoning 和 Act 結合,執行行動后有 Observation,維持短期記憶。比如找胡椒粉,會根據每步觀察決定下一步行動??。.實現:生成提示詞,大模型生成 Thought + Action,調用外部工具,生成 Observation,循環至 Action 為 Finish,輸出結果。.Plan and solve 模式:先計劃再執行,適合復雜任務,如炒菜??,計劃會根據情況變化。.LLM Compiler 模式:并行 Function calling 提高效率,像計算年齡差可同時搜索。.Basic Reflection 模式:類似師生互動,Generator 寫作業,Reflector 批改。.Self - Discover 模式:對 task 本身反思,選擇合適方式重新推理。.REWOO 模式:隱式嵌入 Observation,如審批流,各步驟相互依賴。.Language Agent Tree Search 模式:融合多種方式,通過樹搜索強化學習。.Reflexion 模式:升級版,引入外部數據評估,更具建設性。.Storm 模式:先生成大綱再豐富內容,可創作文章??
1. 被動模式與主動模式
這部分介紹目標創建的被動與主動模式,在被動模式下,智能體對用戶“言聽計從”,不自作主張;在主動模式下,智能體除了遵從用戶指令外,會利用工具捕捉一些上下文信息,做一些“舉一反三”的工作,類似于一些大模型產品提供的“指令潤色”功能。
2. 提示詞工程與RAG
接下來是業界廣泛提到的提示詞工程與RAG,已經成為大模型工程的標配技術。
3. 模型查詢
對于簡單的問題,智能體只需一次訪問FM,即可得到答案。碰到復雜問題,智能體需要多次訪問FM,通過多輪迭代逐步逼近答案。
4. 計劃生成
5. 反思機制
生成的計劃應該進行審查,以確保其準確性、可用性、完整性等。【自我反思、交叉反思和人類反思】可以幫助 Agent 從不同的反思實體那里收集反饋,并根據反饋相應地完善計劃和解題步驟。
6. 多Agent合作
7. 其他技術
AI 智能體的設計模式是構建高效、靈活且適應性強的智能系統的關鍵。根據最新的研究和實踐總結,以下是一些常見的 AI 智能體設計模式:
1.反思(Reflection)模式
反思模式是一種讓 AI 模型通過自我評估和迭代優化來提高任務執行能力的方法。模型在生成初始解決方案后,會檢查輸出結果,發現改進點并進行優化。
2.工具使用(Tool Use)模式
該模式允許 AI 智能體通過調用外部工具(如搜索引擎、代碼執行平臺等)來擴展自身能力。通過整合外部工具,AI 系統能夠在特定任務上達到更高的效率和準確性。
3.規劃(Planning)模式
規劃模式將復雜任務分解為多個有序步驟,并逐一執行這些步驟以達成目標。這種模式通過任務分解提高了執行的準確性和靈活性,適合處理復雜的、多步驟的任務。
4.多智能體協作(Multi-agent Collaboration)模式
在這種模式下,多個智能體通過分工協作來共同完成復雜任務。智能體之間可以共享信息、協調行動,從而提高任務執行的效率和準確性。
5.鏈式工作流(Chain Workflow)模式
鏈式工作流將多個任務按線性序列組織,一個步驟的輸出作為下一個步驟的輸入。這種模式適用于任務具有明確順序且每個步驟依賴于前一步輸出的場景。
6.路由工作流(Routing Workflow)模式
路由工作流根據輸入條件動態選擇執行路徑,將任務路由到不同的處理流程。這種模式適合任務輸入復雜且不同輸入需要專門處理的場景。
7.編排器-工作者(Orchestrator-Worker)模式
在這種模式下,中央 AI(編排器)負責將任務分配給專門的子進程(工作者),每個工作者負責不同的功能。這種模式通過并行處理提高了效率和專業化程度。
8.評估器-優化器(Evaluator-Optimizer)模式
該模式通過迭代評估和優化來不斷改進任務處理效果。評估器負責評估智能體輸出的質量,優化器則根據反饋進行改進。
9.并行化工作流(Parallel Workflow)模式
并行化工作流通過同時執行多個任務或處理多個數據集來提高效率,適合處理大量獨立數據或多個請求的場景。
寫在最后,這些設計模式各有優勢和適用場景,開發者可以根據具體任務需求選擇合適的設計模式來構建高效的 AI 智能體系統。
本文轉載自公眾號數字化助推器 作者:天涯咫尺TGH
原文鏈接:??https://mp.weixin.qq.com/s/gvrdTw1ucCvjS62QrQ9yVg??
