Agentic Research

This article is not yet available in English. You are reading the Traditional Chinese original. The English edition will appear here once it is translated.

Browse articles that do have an English edition

內部文檔知識庫問答系統

2026/10/0114 min readBryan Chan閱讀中文原文
Topics知識管理RAGAI Agent企業搜索即時通訊

「請問公司的年假政策是什麼?」、「新員工入職需要準備哪些文件?」——如果這些問題每天都在你的團隊中重複出現,你正在經歷知識管理的經典痛點:知識散落在各處,找的人痛苦,答的人疲憊。根據 Xenoss 的企業案例研究,Uber 的 Genie 助手和多個大型企業已成功部署 RAG(檢索增強生成)系統來解決這個問題,將員工查找信息的時間從平均 15 分鐘縮短到 不到 1 分鐘。這篇要解決的問題是:如何把分散在 Google Drive、Notion、Confluence、SharePoint 等平台的文檔整合成一個智能問答系統,讓員工像在聊天一樣提問,獲得準確、有出處的答案。

為什麼這個場景值得投資

知識管理的本質困境

先看清楚你的組織面臨什麼挑戰:

痛點傳統解法為什麼失敗
文檔分散在多平台建立統一的門戶網站沒人願意遷移歷史文檔,新舊並存更混亂
搜索不準確優化搜索引擎關鍵詞匹配無法理解語義,還是找不到
答案過時指定文檔負責人定期更新負責人離職或忘記,文檔迅速過時
新人上手慢指派導師一對一解答導師時間有限,且不同導師給的答案不一致

AI + RAG 的優勢:不是取代現有文檔系統,而是在其上層加一個智能檢索層。文檔留在原處,AI 負責理解問題、找到相關內容、生成易讀的答案。

真實案例參考

多個企業已成功實施類似系統:

  • Uber Genie:使用 RAG 架構構建內部知識助手,員工可通過自然語言查詢公司政策、技術文檔、流程指南
  • Imbrace 案例:某大型企業部署 AI 驅動的 RAG 平台後,創建了單一的實時知識管理解決方案,員工滿意度提升 60%
  • LargitData 企業案例:大型企業使用 RAGi 平台,員工用自然語言查詢內部文檔,準確率超過 85%

這些案例的共同啟示:成功的關鍵不在於技術有多先進,而在於如何處理「檢索不完美」的情況。

四環節流水線全景

整條流程分為四個環節,形成從提問到學習改進的閉環:

員工提問 → AI 檢索相關文檔 → 生成答案並引用出處 → 員工反饋
                                              │
                                   優化檢索 ←─┘(記錄未命中問題)
環節輸入輸出自動或人工
提問接收員工在 Slack/Teams/網頁輸入問題結構化的查詢請求自動
文檔檢索查詢 + 向量資料庫Top-K 相關文檔片段自動
答案生成相關片段 + LLM自然語言答案 + 引用連結自動
反饋收集員工點擊「有用/無用」或手動糾錯反饋數據用於優化自動 + 人工

第一環節:提問接收

選擇接入渠道

員工應該在哪裡提問?取決於你們的溝通習慣:

渠道優點缺點適用場景
Slack/Teams Bot無需切換工具,使用門檻最低隱私性較差,不適合敏感問題日常快速查詢
專屬網頁介面可展示更豐富的 UI(如相關文檔列表)需要額外打開瀏覽器複雜查詢、需要複製答案
電子郵件異步、可長篇回答響應速度慢,互動性差非緊急問題
移動 App隨時隨地可問開發成本高外勤人員、工廠現場

推薦做法:初期只選一個主渠道(通常是 Slack 或 Teams),跑通後再擴展到其他渠道。不要一開始就做全平台,那樣會分散精力。

問題預處理

原始提問可能不夠清晰,需要預處理:

  • 意圖識別:判斷這是事實查詢(「年假有幾天?」)、操作指南(「如何申請休假?」)還是意見諮詢(「你覺得哪個方案好?」)。前兩者適合 RAG,第三者應轉人工或明確告知 AI 無法回答主觀問題。
  • 上下文補充:如果問題太模糊(如「怎麼做?」),Bot 應追問:「請問您想了解哪個流程的操作方法?」
  • 權限檢查:根據提問者的身份,過濾掉其無權訪問的文檔。例如,實習生不應看到高管薪酬政策。

範例對話:

員工:請假怎麼申請?
Bot:請問您想申請哪種類型的假期?
     A. 年假
     B. 病假  
     C. 事假
     D. 其他

員工:A
Bot:好的,以下是年假申請流程:...

這種多輪對話比一次性給出所有類型的流程更精準,體驗也更好。

第二環節:文檔檢索(RAG 核心)

什麼是 RAG?

RAG(Retrieval-Augmented Generation,檢索增強生成)的工作流程:

  1. 索引階段:將所有文檔切成小片段,轉換為向量(數字表示語義),存入向量資料庫
  2. 檢索階段:將用戶問題也轉換為向量,在資料庫中找到最相似的 Top-K 個片段
  3. 生成階段:將這些片段作為上下文,交給 LLM 生成自然語言答案

為什麼需要 RAG? 因為 LLM 本身不知道你們公司的內部政策。RAG 讓 LLM 「臨時抱佛腳」,基於最新文檔回答問題,而不是依賴訓練時的舊知識。

文檔預處理與切片

不是直接把整個 PDF 丟進資料庫,需要先處理:

步驟 1:提取文本

  • PDF/Word:使用 PyPDF2、python-docx 等庫提取純文本
  • Notion/Confluence:通過 API 獲取 Markdown 格式
  • 掃描版 PDF:先用 OCR(如 Tesseract 或 PaddleOCR)轉換為文本

步驟 2:清理與標準化

  • 去除頁眉頁腳、頁碼
  • 統一日期格式(YYYY-MM-DD)
  • 標記章節標題(用於後續引用)

步驟 3:智能切片 切片的質量直接決定檢索準確率。錯誤做法是按固定字數切(如每 500 字一段),正確做法是按語義單元切:

切片策略適用文檔類型優點
按段落切政策文檔、FAQ保持語義完整性
按章節切手冊、指南上下文充足,但可能過長
重疊切片技術文檔相鄰切片有 10-20% 重疊,避免關鍵信息被切斷
表格單獨處理包含大量表格的文檔表格轉為 Markdown 或 JSON,便於檢索

推薦切片大小:200-500 字/片。太小則上下文不足,太大則噪音過多。

向量嵌入模型選擇

將文本轉換為向量的模型稱為 Embedding Model。常見選擇:

模型提供商優點成本
text-embedding-3-smallOpenAI速度快,效果好$0.02 / 百萬 token
text-embedding-3-largeOpenAI精度更高$0.13 / 百萬 token
bge-m3BAAI(開源)免費,支援多語言自託管成本
nomic-embed-textNomic開源,長文本表現好自託管成本

選擇建議:

  • 如果預算充足且追求省事:用 OpenAI 的 text-embedding-3-small
  • 如果有數據隱私要求(文檔不能出內網):用開源的 bge-m3 自託管
  • 如果是多語言環境:bge-m3 原生支援中文、英文、日文等

向量資料庫選擇

存儲和檢索向量的資料庫:

資料庫類型優點適用規模
Pinecone雲端託管易用,無需運維中小型
Weaviate開源/雲端功能豐富,支援混合搜索中大型
Chroma開源輕量,適合原型開發小型
Qdrant開源/雲端性能好,Rust 編寫中大型
pgvector (PostgreSQL)關係型擴充如果已用 PostgreSQL,無需新增組件已有 PG 基礎設施

推薦做法:初期用 Chroma 或 Pinecone 快速驗證概念;確定有價值後,遷移到 Weaviate 或 Qdrant 以獲得更好的性能和功能。

檢索策略優化

單純的向量相似度搜索不夠,需要結合其他信號:

混合搜索(Hybrid Search):

  • 向量搜索:捕捉語義相似性(如「年假」和「帶薪休假」)
  • 關鍵詞搜索(BM25):精確匹配專有名詞(如產品代號、人名)
  • 元數據過濾:根據部門、日期、文檔類型篩選

範例:當員工問「產品 X 的最新定價」時:

  1. 先用元數據過濾:只搜索「定價政策」類型的文檔
  2. 再用關鍵詞搜索:匹配「產品 X」
  3. 最後用向量搜索:找到語義最相關的片段
  4. 綜合排序,返回 Top-5

重新排序(Re-ranking): 檢索回來的 Top-50 個片段,用更精細的模型重新排序,選出真正的 Top-5。這能顯著提升準確率,但增加延遲。常用重新排序模型:Cohere rerank、BGE reranker。

第三環節:答案生成

設計生成提示詞

給 LLM 的指令至關重要。範例:

你是公司內部知識助手。請根據以下提供的文檔片段,回答員工的問題。

問題:{user_question}

相關文檔片段:
{retrieved_chunks}

要求:
1. 只基於提供的文檔片段回答,不要使用外部知識
2. 如果文檔中沒有足夠信息,明確說「根據現有文檔,我無法回答這個問題」,不要編造
3. 每個事實都要引用來源,格式為:[文檔名稱 - 章節](連結)
4. 用簡潔、專業的語言,避免冗長
5. 如果涉及操作流程,用編號列表呈現步驟
6. 總長度控制在 200-400 字之間

關鍵原則:

  • 禁止幻覺:明確告訴 LLM 不要編造,寧可承認不知道
  • 強制引用:每個答案都要有出處,讓員工可以核實
  • 控制長度:太長沒人看,太短可能不完整

處理多跳問題

有些問題需要綜合多個文檔才能回答。例如:「新員工入職第一週需要做哪些事?」可能需要查閱:

  • 《入職檢查清單》
  • 《IT 設備申請流程》
  • 《培訓課程安排》

解決方案:

  1. 查詢分解:用 LLM 將複雜問題拆分為多個子問題,分別檢索
  2. 迭代檢索:第一次檢索後,根據結果生成新的查詢,再次檢索
  3. 摘要融合:將多次檢索的結果合併,交給 LLM 綜合回答

這會增加響應時間,但對於複雜問題是必要的。

置信度評估

不是所有答案都同樣可靠。計算置信度:

因素加分
檢索片段的相似度分數高+
多個片段指向同一結論+
文檔最近更新(<3 個月)+
文檔來自權威來源(如 HR 官方政策)+
檢索片段數量少(<2)-
文檔超過 1 年未更新-

如果置信度低於閾值(如 0.6),在答案末尾添加警告:「⚠️ 此答案基於有限信息,建議向 [相關部門] 進一步確認。」

第四環節:反饋收集與優化

設計反饋機制

員工的回答體驗應該是:

Bot:根據《員工手冊》第 3.2 節,年假天數如下:
      - 入職 1 年內:7 天
      - 入職 1-3 年:10 天
      - 入職 3 年以上:15 天
      
      [查看原文](連結)

      這個答案有幫助嗎?
      👍 有用  |  👎 無用

點擊「無用」後,彈出簡短表單:

  • 答案不準確
  • 答案不完整
  • 找不到相關文檔
  • 其他(請說明):__________

為什麼需要反饋? 因為它是優化系統的燃料。沒有反饋,你不知道檢索哪裡出了問題。

未命中問題追蹤

建立一個「未命中問題」儀表板,記錄:

  • 問題內容
  • 檢索回了哪些片段(為什麼不夠?)
  • 員工標記的原因
  • 最終如何解決(人工回答的內容)

每月回顧一次,常見模式:

模式原因解決方案
某個主題反覆未命中該主題文檔缺失或未被索引補充文檔或修復索引
特定術語無法識別專有名詞未加入詞典添加到自定義詞彙表
問題表述多樣化員工用不同方式問同一件事建立問答對(FAQ)映射
文檔過時政策已更新,但舊文檔仍在設定文檔有效期,過期自動標記

持續優化循環

收集反饋 → 分析未命中模式 → 改進索引/檢索/提示詞 → 重新測試 → 上線

關鍵指標:

  • 回答率:有多少問題能得到答案(目標 >85%)
  • 準確率:答案中被標記為「有用」的比例(目標 >80%)
  • 平均響應時間:從提問到收到答案的時間(目標 <5 秒)
  • 人工介入率:需要轉人工的問題比例(目標 <15%)

每週檢視這些指標,趨勢向下時立即排查。

落地檢查表

第一週:基礎建設

  • 盤點所有文檔來源(Google Drive、Notion、Confluence 等)
  • 選擇向量嵌入模型和向量資料庫
  • 搭建文檔提取與索引管道(先試 10 份文檔)
  • 測試檢索準確率(用 20 個常見問題驗證)
  • 設計並實現 Bot 介面(Slack/Teams)

第二週:試運行

  • 邀請 5-10 位種子用戶測試
  • 收集反饋,調整提示詞和檢索策略
  • 擴展索引範圍到 100 份文檔
  • 設定未命中問題追蹤儀表板
  • 制定文檔更新流程(誰負責、多久更新一次)

第三週:擴大範圍

  • 開放給整個部門(如 50 人)
  • 監控性能指標(回答率、準確率、響應時間)
  • 處理邊界情況(權限控制、敏感問題)
  • 撰寫用戶指南(如何提問才能得到好答案)

第四週:常態化運營

  • 開放給全公司
  • 設定每週回顧會議,檢視未命中問題
  • 建立文檔健康度儀表板(哪些文檔長期未被引用?可能已過時)
  • 規劃下一階段功能(如多輪對話、主動推送相關文檔)

常見誤區

誤區一:試圖一次性索引所有文檔。 從核心的 50-100 份高頻文檔開始,驗證價值後再擴展。一次性索引幾千份文檔,調試困難,且大部分文檔可能永遠不會被查詢。

誤區二:忽略權限控制。 如果不做權限過濾,實習生可能查到高管薪酬。在索引階段就標記每份文檔的訪問權限,在檢索階段根據用戶身份過濾。

誤區三:相信 LLM 不會胡說。 LLM 一定會幻覺,除非你明確禁止並提供充分上下文。強制引用來源,讓用戶可以核實,是防止幻覺傷害的最後防線。

誤區四:不處理「不知道」的情況。 當文檔中確實沒有答案時,Bot 應該誠實承認,並提供替代方案(如「建議聯繫 HR 部門」),而不是勉強給出一個不可靠的答案。

誤區五:忽略文檔生命周期。 文檔會過時、會被廢棄、會被合併。建立文檔健康度監控,自動標記超過 1 年未更新的文檔,提醒負責人審查。

誤區六:沒有冷啟動策略。 剛上線時,系統還未學習足夠的反饋,準確率可能不高。提前準備一份 FAQ(50-100 個常見問答對),作為冷啟動時的補充知識源。

進階:從被動問答到主動推送

當系統運行穩定後,可以升級為主動助手:

  • 新政策發布時:自動通知相關員工「有新政策影響到你,點擊查看」
  • 員工遇到問題時:根據其當前工作上下文(如在填寫某個表單),主動推送相關指南
  • 定期總結:每週生成「本周最常查詢的 10 個問題」報告,幫助管理層了解員工痛點

這需要更深的系統集成,但價值也更大。

下一步