RAG 如何協助 AI Agents?

AI 代理程式可以規劃任務、呼叫工具,並隨著工作進展調整執行方式,但它們一開始具備的知識會停留在訓練時點。需要查詢目前退款政策或上季指引的代理程式,所依據的模型可能從未看過這些資訊。這正是 RAG 所要解決的落差:RAG 能協助 AI 代理程式在推理或採取行動前,擷取最新、相關且可驗證的資訊,讓決策建立在真實來源上,而不是模型記憶之中。

我們已在代理式工作流程和代理式 RAG 與傳統 RAG 的比較等文章中介紹這組搭配中的代理程式面向。本文則從另一個方向探討兩者的關係:擷取功能究竟能為代理程式帶來什麼、為什麼記憶限制是必要的,以及當代理程式開始從企業系統擷取資料時,需要注意哪些事項。

為什麼 AI 代理程式需要存取外部知識?

LLM 的知識來自訓練資料,而這些資料對代理程式工作而言存在兩個問題。首先,訓練資料有截止日期,因此模型中不會包含訓練完成後發布的任何資訊。其次,訓練資料是公開的,因此內部政策、產品文件、客戶紀錄和合約原本就不會包含在其中。模型無法回答自己從未看過的資訊,但它通常還是會嘗試回答,而這比直接表示無法回答更糟糕。

上下文視窗提供了部分解決方式,因為我們可以將相關資料貼到提示中,但這種做法很快就會遇到瓶頸。上下文視窗大小有限。Token 需要成本。此外,仍然必須有人決定特定請求涉及哪些重要文件。對於一次性的問題,我們可以手動完成這項工作;但對於處理數百個不同請求的代理程式而言,如何選擇資料本身就成了最困難的問題。

這個落差對代理程式的影響比對聊天機器人更大。聊天機器人臨時編造錯誤事實,會產生不好的回答;代理程式臨時編造錯誤事實,則可能根據錯誤資訊採取行動。它可能建立錯誤的工單,或向客戶引用錯誤的政策;甚至可能依據上季已經改寫的程序,將問題升級處理。只依賴模型記憶的代理程式,只要知識不足,就會開始自行臆測事實。

AI 代理程式的短期記憶與長期記憶是什麼?

代理程式的記憶可分為兩種類型,而這項區分也能說明 RAG 的定位。

短期記憶是代理程式在單一任務或工作階段中維持的工作上下文。內容包括目前為止的對話、工具呼叫產生的中間結果,以及目前的規劃狀態。由於模型本身是無狀態的,不會在請求之間保留任何內容,因此每次呼叫時都必須重新組合並傳送這些資訊。上下文視窗就是這裡的硬性上限。長時間執行的任務會不斷累積歷史紀錄,直到必須進行摘要或捨棄部分內容,而任何被移出上下文視窗的內容都會被遺忘。

長期記憶則是所有應跨工作階段持續保存的內容:與使用者過去的互動、學到的偏好、已解決的案例,以及帳戶或專案的儲存事實。這些內容無法存在模型中,因此會存放在由應用程式控制的外部儲存體,例如資料庫、文件索引或知識庫。

不過,單純儲存資料並不等於記憶,因為儲存的事實必須傳入模型的上下文後,才能對代理程式產生作用。讓長期記憶變得可用的關鍵是擷取:在適當時機找到正確的儲存資訊,並將其放入模型可以據以採取行動的上下文視窗中。這個擷取步驟正是 RAG 所提供的功能,因此 RAG 與代理程式記憶最終其實是同一套機制的兩種觀點。

RAG 如何與 AI 代理程式搭配運作?

基本的 RAG 管線只會執行一次:將問題轉換為嵌入向量、擷取最相近的段落,再產生答案。當流程由代理程式驅動時,擷取便會成為更大型迴圈中的可重複步驟。

代理程式首先會辨識資訊需求。當規劃需要某項它尚未掌握的事實時,便會建立查詢,通常會將使用者原本的說法重新表述成更容易擷取的形式。執行擷取後,代理程式會評估取得的結果:資訊是否足夠?是否來自正確的來源與時間範圍?如果不符合,代理程式會重新表述查詢、依中繼資料篩選,或嘗試其他來源,然後才繼續執行。只有在證據經確認可靠後,代理程式才會使用這些資訊來決定下一步行動。

假設某個代理程式接到任務,要為客戶帳戶準備續約摘要。它會先擷取目前的合約條款。閱讀條款後,它注意到其中有自訂的 SLA 條款,這引發了原始請求未提及的問題:客戶今年是否提交過與 SLA 相關的工單?這會觸發對支援系統的第二次擷取,而取得的結果也會改變代理程式原本準備撰寫的摘要。固定式管線不會執行第二次查詢,因為只有在第一次擷取後,這項需求才變得明顯。

這就是核心差異。在傳統 RAG 中,擷取會在預先決定的時間點執行一次;而在代理程式架構中,只要不斷演進的規劃有需求,擷取就會隨時發生。

RAG 如何讓 AI 代理程式更準確、更值得信賴?

準確度的提升來自資訊奠基。當代理程式的上下文包含實際的政策文字或實際數據時,模型便是根據真實資料產生內容,而不是依據訓練模式重建事實。幻覺風險會因此降低,因為模型需要自行編造的內容變少了;但風險不會降至零,這一點我們會在常見問題中再回到討論。

信任則來自可追溯性。擷取的段落會一併帶有來源,因此代理程式的回答可以引用所依據的特定文件和段落。當代理程式提出行動建議時,人工審查者可以根據引用的段落檢查相關主張,而不是只能相信模型的說法。根據我們的經驗,這正是實際部署的代理程式與停留在審查階段的代理程式之間的差異:沒有人會核准以「模型是這樣說的」為依據的重要行動。

擷取功能也能讓代理程式維持最新狀態。代理程式會在需要答案的當下查詢知識庫,因此永遠是根據文件的最新版本運作。今天更新政策後,代理程式在下一個任務中就會遵循新版本,不需要重新訓練。

RAG 如何支援複雜的多步驟任務?

多步驟任務是代理程式驅動擷取勝過單次擷取的場景,原因有幾項,而且會彼此加乘。

不同階段需要不同資訊。我們的續約代理程式在某個階段需要合約條款,在另一個階段需要工單歷史紀錄,兩次擷取無法互相取代。代理程式也能將一個廣泛問題拆解成多個具體的子查詢。「我們的第三季成長與指引相比如何?」可以拆成一個搜尋第三季實際數據的查詢,以及另一個搜尋前一季發布之指引的查詢,分別對準正確的文件。

跨來源擷取也能讓代理程式進行比較與整合。如果定價頁面與銷售手冊內容不一致,擷取兩者的代理程式就能標示衝突,而不是悄悄選擇其中一個。由於代理程式會在過程中評估結果,因此新發現的資訊會回饋至規劃中。一份提及未解決錯誤的事件報告,可能讓任務新增一整個步驟,而這項步驟一開始並未有人明確指定。

將代理程式連接至企業資料時,組織應考量哪些事項?

讓代理程式具備企業系統的擷取權限,比讓聊天機器人存取相同系統需要更審慎的決策,因為代理程式會根據讀取到的內容採取行動。幾項考量幾乎會出現在每個部署案例中。

  • 存取控制與來源權限。代理程式只能擷取提出請求的使用者有權查看的內容。忽略權限的擷取功能,會讓代理程式變成披著友善介面的資料外洩工具。
  • 中繼資料篩選與擷取品質。對代理程式而言,精準度比搜尋結果頁更重要。人類查看結果時會略過不相關內容,但代理程式可能將取得的任何內容視為真實依據。依文件類型、日期或部門進行篩選,可以避免過時或不相關的內容進入流程;此外,擷取品質也應持續衡量,而不是只檢查一次。
  • 治理與可觀測性。必須有人負責定義哪些來源具有權威性,而且每次擷取都應可追蹤:查詢了什麼、取得了什麼,以及代理程式如何使用這些內容。缺少這項追蹤紀錄時,除錯錯誤的代理程式決策就只能靠猜測。
  • 採取重大行動前進行驗證。我們認為這是不可妥協的要求。在代理程式發出退款、變更帳戶或傳送面向客戶的訊息之前,應由驗證步驟或人工人員,根據引用的來源檢查支撐該行動的證據。擷取功能讓這項檢查成為可能,因為每個主張都會附帶來源段落;相較之下,從模型權重中產生的答案沒有任何可供核對的依據。跳過這項檢查,等於浪費了資訊奠基原本應帶來的信任。

Progress Agentic RAG

若沒有可靠的擷取層,以上優勢都無法實現;但從頭建置擷取層,意味著必須針對每個重要來源建立資料擷取、分塊、嵌入、索引,以及具備權限感知能力的搜尋功能。Progress Agentic RAG 解決方案以受治理的服務形式提供這個擷取層。文件會存放在 Knowledge Boxes 中,由平台處理與建立索引;每個答案都能追溯至來源段落,代理程式及人工審查者都可以據此進行驗證。

代理程式也能透過不只一種方式查找資訊。平台結合語意擷取、關鍵字搜尋、中繼資料篩選和圖形擷取,以追蹤文件中不同實體之間的關係,並將這些方法結合成混合式搜尋,而不是強迫使用者在其中擇一。其擷取代理程式會在擷取端執行代理式迴圈,將問題拆解成多個子問題,並將各個子問題分派至正確來源,包括多個 Knowledge Boxes、SQL 資料庫和網際網路搜尋。對於建立在其上的代理程式而言,這代表擷取結果具備相關性、可引用性與權限控管,而不是一個無法理解內部運作的黑箱。

總結

代理程式需要模型從未訓練過的知識,而上下文視窗又太小,無法預先攜帶所有可能需要的資訊。RAG 透過將擷取轉變為代理程式可依據規劃需求反覆執行的步驟,填補了這項落差,讓每個決策都建立在最新且可引用的來源上。RAG 也是讓長期記憶真正發揮作用的機制,因為儲存的事實只有在被重新擷取至上下文後才具備價值。能妥善處理這項工作的組織,會將擷取層與權限、可觀測性,以及代理程式採取重大行動前的驗證機制結合。

若要為自己的代理程式提供可據以採取行動的知識層,歡迎與 Progress AI 專家預約現場示範,或開始免費試用。

常見問題

RAG 能完全防止 AI 代理程式產生幻覺嗎?

不能。RAG 能大幅降低幻覺,因為模型是根據擷取到的文字產生內容,而不是依據記憶重建事實;但模型仍可能誤讀段落、混合兩個來源,或填補擷取內容中未涵蓋的資訊缺口。因此,引用與驗證步驟非常重要:它們能讓剩餘的錯誤變得可被發現,而不是隱藏不見。

AI 代理程式可以從多個資料來源擷取資訊嗎?

可以,而且在實際任務中通常也必須這麼做。代理程式可以在同一項任務中,從文件知識庫查詢政策文字、從 SQL 資料庫查詢帳戶紀錄,並透過網路搜尋取得公開資訊。Progress Agentic RAG 等平台直接支援這項功能,讓擷取代理程式能在 Knowledge Boxes、資料庫和網際網路搜尋之間,分派不同的子問題。

代理式 RAG 與讓 AI 代理程式存取搜尋功能有何不同?

搜尋存取只是將工具交給代理程式,然後期待它能妥善運用。代理式 RAG 則在這項工具外包覆了讓搜尋變得可靠的機制:查詢重新表述、結合語意擷取與關鍵字擷取的混合式搜尋、中繼資料篩選、結果評估與來源引用,並且全部在受治理且具備權限控管的內容上執行。一般搜尋工具會回傳連結;代理式 RAG 層則會回傳具備資訊奠基作用且可追蹤的證據,讓代理程式能據以採取行動。我們在代理式 RAG 與傳統 RAG 的比較中更深入比較了這兩種方式。

文章來源: How Does RAG Help AI Agents?

You cannot copy content of this page