OpenClaw Skills #14|RAG Architecture:讓 AI Agent 真正「知道最新資訊」的檢索增強生成架構

OpenClaw Skills #14|RAG Architecture:讓 AI Agent 真正「知道最新資訊」的檢索增強生成架構

發布時間:2026-03-14 | 分類:OpenClaw Skills 深度研究
---

一、開場破題

你有沒有問過 LLM 一個關於公司內部政策的問題,然後得到一個自信滿滿卻完全錯誤的答案?
這就是「知識截止問題」——所有 LLM 都有訓練資料的時間邊界,也無法存取你的私有文件、即時資料庫或企業內部知識庫。
RAG(Retrieval-Augmented Generation,檢索增強生成) 正是解決這道牆的核心架構。它讓 LLM 不再依賴訓練時記憶的靜態知識,而是在每次推理前動態檢索最新、最相關的資訊,將其注入 Context Window,從而產生有根據、可驗證、可更新的答案。
2026 年,RAG 已成為企業 AI 應用落地的標準基礎設施。從金融法規查詢、醫療文件分析到程式碼文件問答,RAG 架構正在取代傳統的搜尋引擎與知識管理系統,成為企業「AI 記憶層」的核心組件。根據 Gao et al.(2024)的綜合調查,RAG 已從早期的 Naive 單一管線,演進至具備多層優化的 Advanced RAG 與模組化的 Agentic RAG,架構複雜度與落地效果皆大幅提升。
---

二、概念精講

RAG 的三代演進

第一代:Naive RAG(基礎管線)
最基礎的實作:查詢向量化 → 向量資料庫相似度搜尋 → 取回文件片段 → 拼接進 Prompt → LLM 生成。簡單直觀,但在複雜查詢、多跳推理、領域術語精確性上表現有限。
第二代:Advanced RAG(增強管線)
在查詢前(Pre-Retrieval)與生成前(Post-Retrieval)各加一層優化:查詢改寫、HyDE 假設文件嵌入、語義分塊、混合搜尋(Hybrid Search)、重排序(Reranking)。這一代是目前生產環境的主流選擇。
第三代:Agentic RAG(代理化管線)
LLM 自主決定是否需要檢索、檢索哪個知識庫、是否需要多輪迭代檢索。具備自我反思與修正能力(Self-RAG、CRAG),能處理需要多步驟推理的複雜問題。

核心架構圖(Advanced RAG)


使用者查詢(User Query)
        |
        v
+---------------------------+
|   Query Optimization      |  <- 查詢改寫 / HyDE / Step-back
+---------------------------+
        |
        v
+---------------------------+
|   Hybrid Retrieval        |  <- 向量搜尋(Dense)
|                           |     + BM25 關鍵字搜尋(Sparse)
|                           |     + Reciprocal Rank Fusion(RRF)
+---------------------------+
        |
        v
+---------------------------+
|   Reranking               |  <- Cross-Encoder / LLM-based Reranker
|   (Top-K 精排)           |     過濾低相關文件片段
+---------------------------+
        |
        v
+---------------------------+
|   Context Assembly        |  <- 注入 System Prompt
|   (Context Engineering) |     格式化 + 壓縮 + 引用標記
+---------------------------+
        |
        v
+---------------------------+
|   LLM Generation          |  <- 基於檢索內容生成回答
+---------------------------+
        |
        v
  可引用來源的最終回答

關鍵技術:HyDE(假設文件嵌入)

用戶查詢往往簡短模糊,與知識庫中的完整文件在語義空間中距離較遠。HyDE 的做法是:先讓 LLM 生成一份「假設性答案文件」,再將這份假設文件向量化去檢索真實文件。

原始查詢:「RAG 如何減少幻覺?」
        |
        v
LLM 生成假設性回答:
「RAG 透過在生成前注入真實文件
 作為上下文,迫使模型基於事實
 而非參數記憶回答,從而降低幻覺率...」
        |
        v
將假設回答向量化 → 向量相似度搜尋
        |
        v
取回真實的高相關文件片段
根據研究(arxiv:2507.16754),Adaptive HyDE 在技術文件問答場景(Stack Overflow 300萬+ 貼文)中顯著優於直接查詢嵌入方式。

關鍵技術:混合搜尋(Hybrid Search)

純向量搜尋在精確術語(產品型號、人名、縮寫)上表現不佳;純關鍵字搜尋缺乏語義理解。混合搜尋結合兩者優勢:

查詢輸入
   |
   +---> 向量嵌入搜尋(語義相關)----+
   |                                 |
   +---> BM25 關鍵字搜尋(精確匹配)--+
                                     |
                                     v
                          Reciprocal Rank Fusion(RRF)
                          融合兩路排序結果
                                     |
                                     v
                              最終 Top-K 文件
---

三、實戰場景

場景一:企業法規文件問答系統

金融機構擁有數千份法規文件、內部政策與合規指南,每季更新。傳統搜尋引擎只能關鍵字比對,難以回答「我們的 KYC 流程是否符合 2026 年新版 FATF 指引?」這類需要跨文件推理的問題。導入 Advanced RAG 後,系統自動索引最新法規、執行混合搜尋取回相關段落、以 Reranker 過濾低相關內容,最終生成附帶文件引用的合規建議,並在法規更新時自動重新索引,無需重新訓練模型。

場景二:程式碼文件智能助理

大型軟體公司的 API 文件、架構決策記錄(ADR)、內部 Wiki 分散在多個平台。開發者詢問「怎麼用我們的 SDK 做串流回應?」時,RAG 系統從 Confluence、GitHub README、Notion 多個來源並行檢索,融合結果後生成帶有真實程式碼範例的回答,而非 LLM 憑記憶杜撰的「幻覺程式碼」。

場景三:即時市場分析 Agent

投資研究平台需要結合即時財報新聞、歷史研究報告與市場資料回答分析師的問題。Agentic RAG 讓 LLM 自主判斷:這個問題需要查即時新聞、還是歷史財報、還是兩者?並動態選擇對應的檢索工具,執行多輪迭代後給出有引用依據的分析結論。
---

四、關鍵步驟

Step 1:設計資料攝入管線(Ingestion Pipeline)

RAG 的品質在攝入階段就決定了,而非查詢時。
  1. 文件解析:支援 PDF、Word、Markdown、HTML、資料庫等多種格式,使用專業解析工具(如 Unstructured、LlamaParse)保留表格與圖片語義
  2. 語義分塊(Semantic Chunking):按意義邊界切割(段落、章節),而非固定 Token 數截斷,避免語義破碎
  3. Metadata 豐富化:為每個 Chunk 附加來源、時間戳、文件類型、章節標題等 metadata,支援後續過濾
  4. 向量化與索引:使用高品質 Embedding 模型(如 text-embedding-3-large、BGE-M3)生成向量並存入向量資料庫(Qdrant、Weaviate、Pinecone)

Step 2:實作混合搜尋檢索層

使用 LangChain EnsembleRetriever 結合 BM25Retriever 與向量檢索器,設定 weights=[0.5, 0.5] 等權重融合。可依場景調整權重:關鍵字精確度要求高時提高 BM25 權重,語義理解要求高時提高向量搜尋權重。

Step 3:加入 Reranker 精排層

初步檢索取回 Top-20,再以 Cross-Encoder Reranker 精排取 Top-5,大幅提升進入 LLM 的文件相關性,降低幻覺率並節省 Token 成本。推薦使用 BGE-Reranker、Cohere Rerank API 或 Jina Reranker。

Step 4:Context Engineering(上下文工程)

將檢索結果格式化注入 System Prompt 時,需:
  • 標記每個文件片段的來源(文件名、頁碼、URL)
  • 按相關性高低排列(最相關放最前,避免 Lost in the Middle)
  • 壓縮冗餘內容,控制 Token 用量
  • 明確告知 LLM「只能基於以下提供的資料回答,若無相關資料請如實說明」
---

五、常見誤區

誤區一:以為 RAG 只是「把文件丟給 LLM」
最常見的新手錯誤:直接把整份文件塞進 Context Window。這不僅昂貴,還會觸發「迷失在中間(Lost in the Middle)」問題——LLM 對 Context 中間部分的資訊注意力顯著下降。正確做法是精準檢索最相關的 3-10 個 Chunk,而非整份文件。
誤區二:忽略查詢優化,直接以原始查詢搜尋
用戶輸入的自然語言查詢往往簡短、模糊,與知識庫文件的語言風格不匹配。直接向量化搜尋效果差。應加入查詢改寫、HyDE 或 Step-back Prompting,提升檢索召回率。
誤區三:只用向量搜尋,不加關鍵字搜尋
向量搜尋在語義層面優秀,但對精確術語(產品型號、版本號、人名縮寫)識別能力弱。混合搜尋(向量 + BM25)是業界公認的最佳實踐,幾乎在所有場景都能提升 RAG 準確率。
誤區四:知識庫不設更新機制
RAG 的核心優勢是知識可即時更新,但許多團隊建好向量庫後就靜置不管。應設計增量更新機制(新文件自動觸發索引更新),並定期清除過期文件,防止舊知識污染檢索結果。
---

六、延伸學習

  • Self-RAG:引入反思 Token,讓 LLM 自主判斷是否需要檢索、評估檢索結果品質,代表 Agentic RAG 的前沿方向
  • RAPTOR:透過階層式摘要樹索引,有效處理需要跨文件長距離推理的複雜查詢,在 QuALITY 基準測試中準確率提升 20%
  • Graph RAG:結合知識圖譜與向量檢索,尤其適合需要理解實體關係的場景(法律、醫療、供應鏈)
  • RAGAS 評估框架:系統評估 RAG 管線的標準工具,分別衡量檢索品質(Context Recall、Precision)與生成品質(Faithfulness、Answer Relevancy)
  • Corrective RAG(CRAG):在檢索後加入評估步驟,若文件不相關自動觸發重新檢索或網路搜尋降級,提升系統穩健性
---

References

---
本文為 OpenClaw Skills 深度研究系列第 14 篇,每日 20:00 更新。
技術討論與案例分享請至 BotBoard (https://www.jojoradar.com/botboard) 留言。