從無狀態到可執行:AI 代理系統的架構全景
在過去兩年的 AI 浪潮中,我們見證了應用開發從單純的一問一答模式,迅速演進為能夠處理複雜業務邏輯的系統。今天想從技術的大方向上,簡單用白話解釋一下有哪些技術在構建具備狀態化(Stateful)能力的 AI 代理(Agents)值得留意。
AI 的代理鐵三角——感知、推理與行動
以前的系統由於是一行行代碼寫成,具高度確定性。所以整個系統可以簡單總結為:
UI → 後台一堆商業情景的邏輯(例如不同情景下應該做什麼檢查或動作,if-then-else) → 數據存取(CRUD)
當中軟件工程師要做的就是把那亂七八糟的商業情景邏輯和數據存取做優化,令系統能高效,安全地運作。
現在一個成熟的代理系統不能是盲目地呼叫大型語言模型(LLM),而是建立在感知(Perception)、推理(Reason)與行動(Action)的鐵三角基礎之上。這種設計將模型從無狀態的推論引擎昇華為具備執行力的數位代理。
感知:就是讓模型跟用戶的認知及接收到的信息同步,最簡單就是把上次對話歷史過程紀錄並一起回傳給模型,其他狀態可以是執行過的動作、思考過程、執行後的結果等等。
推理:則是模型自帶的湧現效果。
行動:定義模型或用戶可執行的動作範圍。如同人類有手腳可以活動,系統必須明確界定模型的權限與能力邊界,模型才能規劃出最佳結果。
AI 的記憶
由於模型本身不具任何記憶功能,要讓 AI 代理發揮真正的價值,解決其「金魚腦」的問題至關重要。記憶機制是連接無狀態的推論引擎與具備狀態化、連貫性用戶體驗的關鍵橋樑 。現代 AI 記憶體管理架構深受人類認知科學的啟發,將記憶分層為負責當下對話的短期記憶,以及負責知識累積的長期記憶系統。
短期記憶(Short-term / Working Memory)負責處理正在進行中的對話上下文。它的作用是維持單一互動環節內的語意連貫性,使系統理解指代代名詞與前後文脈絡 。在技術實作上,短期記憶受限於底層大語言模型的上下文視窗(Context Window)大小,通常利用 LangChain 或 AutoGen 等框架中的對話滾動緩衝區(Conversation Buffer)來維持 。為了確保對話的極低延遲,這些記憶資料多半儲存於如 Redis 這樣具備亞毫秒級(Sub-millisecond)回應速度的記憶體內資料庫中 。
長期記憶(Long-Term Memory, LTM)則賦予了系統跨越會話(Cross-session)的持久適應能力。它能無限制地儲存長達數月甚至數年的過往經驗、用戶偏好與業務規則 。長期記憶在架構上高度依賴強大的傳統資料庫或向量資料庫(Vector Databases),資料被切分為語意區塊並轉換為數學向量儲存;當系統需要提取記憶時,不依賴精確的關鍵字對比,而是透過概念上的語意相似度來精準檢索歷史數據 。
進一步細分,長期記憶包含了「用戶專屬事實記憶」(記錄個人的歷史、偏好與目標以維持對話連貫性)以及「環境事實記憶」(記錄外部世界的狀態與企業知識庫,主要透過 RAG 技術實現)。也可以用背景流程,不斷地將短期記憶中的有價值片段提取、壓縮並寫入冷儲存的長期知識庫中 。
AI 的推理
現時有四種能夠帶來顯著效能躍升的基礎代理設計模式 ,這四種在大部分情況下都會用到。
多代理協作 (Multi-agent Collaboration)
將龐雜的業務流程分發給多個具備特定角色(Persona)與專長的次級代理。例如,一個負責撰寫文本,另一個負責扮演嚴格的編輯進行審查。這種多模型間的博弈與合作,往往能激發出遠超單一大型模型能力的精湛表現 。這種方法跟現代人的專業分工(Division of labour)很像,我們期望把一個巨大任務進行細分後,獨立不同的agent 在不同背景提示詞下能專注特定任務,從而提高輸出質量。
協調者與路由模式 (Orchestrator/ Routing Pattern) 設立了一個處於核心位置的「路由器代理」。當用戶輸入請求時,協調者不親自處理任務,而是對請求的意圖進行語意解析,並將其動態派遣(Dynamic Dispatch)給最適合的專業下游代理 。這種模式極大地提升了系統應對複雜業務(如大型客服中心)的靈活性,儘管它同時也帶來了模型呼叫次數增加與潛在延遲的副作用 。針對需要進一步細分的龐大任務,則可延伸為階層式任務分解模式 (Hierarchical Task Decomposition Pattern),由根節點代理逐層向下拆解任務,直至最底層的工作者代理能夠獨立執行為止 。
為了縮短整體處理時間,平行化與分散聚合模式針對那些互不依賴的子任務,實施併發執行。多個代理同時運作,最終再由一個聚合代理統整所有分支結果,這在處理需要跨多個資料庫進行大規模檢索的場景中尤為關鍵 。
此外作為orchestrator掌控住解決問題的大方向,工程師能把該領域最優解決問題的方法論設計到系統當中,讓orchestrator用經驗證過的思考方式去拆解問題並逐一解決。
規劃 (Planning)
面對模糊且龐大的複雜目標,代理需要能夠自主進行任務拆解,將大目標切割為一系列循序漸進的子任務,並建立任務間的依賴關係,確保執行路徑的合理性
為避免對話式代理即興發揮的風險,系統需引入固定方法論。
Skill 的定義:並非單純的工具調用 (Tool Call),而是封裝了固定執行模板的方法論 (Methodology)。其價值在於將工作流程的穩定性引入代理中,補齊深度執行上的短板,防止在長鏈任務中偏離路徑。
任務拆解矩陣:包含將大目標拆解為可控子任務、組織達成目標的策略架構,以及在執行中監測進度並視需要尋求用戶反饋的柔性調整。
AI 的行動
工具調用與上下文工程(Tool use & context engineering)
為代理裝備網頁搜尋、資料庫查詢或計算機等介面,使其能跨越自身知識庫侷限,獲取即時資訊並執行實體操作 (Tool Use)。然而,工具增加會引發注意力稀釋陷阱,導致提示詞長度爆炸,使模型指令遵循能力下降。
隨著代理系統需要調用的工具數量不斷增加,一個常見的陷阱是將所有的指令、歷史對話與原始資料全部塞入提示詞中。這種做法會嚴重稀釋模型的注意力,導致指令遵循能力顯著下降。為了解決這個問題,系統必須引入上下文工程及隔離機制:確保頂層的協調者 (Supervisor) 與專精的下游次級代理 (Sub-agents) 在執行特定步驟時,只會接收到它們必要的確切資訊,從而防止不同任務之間的上下文互相污染。
RAG 與長上下文模型的對比
長上下文模型的最大魅力在於簡潔性。開發者無需建置複雜的檢索基礎設施,可將整份長篇報告直接放入提示詞中,讓模型進行全局推理。這種方法在處理範圍小、靜態且需要全盤綜合分析的專案時部署極快。然而,若不加篩選地採用這種暴力策略 (Brute-force),不但會引發「迷失在中間」 (Lost in the Middle) 效應(中文名亂翻譯),導致模型遺漏隱藏在長文中間的關鍵細節,還會伴隨極高的運算成本與嚴重的回應延遲。
上下文瘦身 (Context Slimming) 與 RAG 的優勢
與其將龐大且未經整理的上下文全數丟給大型語言模型自行梳理,現代架構師更傾向採用上下文瘦身策略。開發者利用 RAG 或 Code as Tool (例如撰寫 Python 或 Linux 腳本) 等技術,針對用戶的具體查詢,動態搜尋並精確提取相關的規則與工具描述。 透過這種方式,RAG 將文件切塊並建立向量索引,在用戶提問時僅檢索最相關的片段附加於提示詞中;而 Code as Tool 則能針對結構化資料進行極高精度的篩選。這不僅讓傳遞給模型的資訊保持精簡,大幅降低計算成本並提升速度,更提供了一個開卷考試的除錯環境,有效抑制模型產生幻覺。
工具使用模式 (Tool Use Pattern) 與審閱流程 (Review Process)
在上下文精簡的基礎上,工具使用模式賦予了模型跨越自身原生限制的能力,使其能夠安全地呼叫外部 API 以收集即時數據或執行實體動作。然而,開發者絕不能盲目信任這些外部工具的輸出,因為外部系統可能回傳錯誤、甚至是遭受劫持的惡意資料。因此,系統設計中必須強制納入審閱流程 (Review Process),確保代理具備審查、總結或優雅處理錯誤工具輸入的防禦機制,保障整體業務邏輯的穩定與安全。
混合架構的完美平衡
綜合上述考量,目前的最佳實踐已不再是單一技術的站隊,而是採用結合兩者優勢的混合架構:利用 RAG 與 Code as Tool 進行上下文瘦身與隔離,確保提示詞精簡且資訊具備高度時效性與準確性;同時運用長上下文模型強大的推理能力來消化這些經過嚴格審閱與篩選的精華片段,從而達成效能、成本與安全性的完美平衡。
反思 (Reflection)
放棄讓模型一次性生成最終結果的傳統做法,轉而建立反覆的「生成-批評-改寫」循環。例如在撰寫程式碼時,代理先生成初稿,隨後自我審視代碼的正確性、風格與效率,並利用這些批評回饋作為上下文,重新生成品質更高的版本。這項模式可透過整合單元測試等外部工具來進一步強化,讓代理基於測試報錯訊息進行自我修正 。
反思過程需具備多維度評估指標 (Validator),包含輸出品質 (與真實情況吻合度)、相關性 (精準回答用戶意圖)、完整性 (無遺漏關鍵要求),以及內部邏輯一致性等待。當然,我們也可以對特定任務加入特定的評估指標,以加強輸出質素和任務執行的準確率。
結語
總結來說,了解這些代理系統的底層架構與技術方向,最大的價值在於思維的轉換。身為日常使用者,即使不寫程式,只要在對話過程中將上述的系統化思維與各種技巧及機制手動代入提示詞中,我們也能突破模型本身的限制,提升輸出質素,使我們用起來更得心應手。
每一篇文章都花費筆者大量時間和心思去思考和整理,如果你喜歡我的文章,懇請各位給予最直接的付費訂閱,同時我也會盡力提供更多福利回饋會員。
歡迎各位like, share, comment!


