在 Agent 工作流中,知識庫扮演的是“決策依據”而不僅僅是“問答庫”的角色:
- 語義解析:將用户輸入或特定信號映射到系統可執行的操作
- 工具選擇:讓 LLM 基於功能説明文檔來調用合適的工具
- 狀態判斷:根據規則庫確定下一步流程走向
一旦關鍵信息被過濾閾值卡掉,Agent 就會陷入“失憶”;如果引入過多無關信息,又會導致“幻覺”與決策偏差。本文旨在提供一套可複用的參數矩陣,系統性地解決“召回-精度”之間的權衡難題。
1. 參數速查表(Agent 專用)
| 參數 | 保守準確 | 均衡模式 | 召回優先 | 備註 |
|---|---|---|---|---|
| 檢索模式 | 向量檢索 | 混合檢索 | 混合檢索 | 混合模式下可搭配全文檢索保證召回 |
| 向量:全文權重 | — | 0.7:0.3 | 0.5:0.5 | 僅混合檢索模式可見此設置 |
| 召回數量(重排前) | 15 | 30 | 50 | 為後續重排提供備選素材 |
| 重排開關 | 開啓 | 開啓 | 開啓 | 建議始終開啓 |
| 重排返回數量 | 3 | 5 | 7 | 最終送入 LLM 的片段數 |
| 相關性閾值 | 0.65 | 0.45 | 0.25 | 低於此分數的片段將被直接過濾 |
| 分段大小 | 512 | 256 | 128 | 值越小,信息粒度越細 |
| 段間重疊率 | 10% | 20% | 30% | 防止關鍵信息被分割斷裂 |
| 關鍵詞錨點 | 關閉 | 可選 | 建議開啓 | 通過同義詞、正則表達式等方式增強命中 |
2. 配置決策流程圖(快速定位)
┌── 場景判斷 ──┐
│ 1. 精確匹配任務? │──是──→ 採用【保守準確】檔(閾值 0.65)
│ 2. 多選一決策任務?│──是──→ 採用【均衡模式】檔(閾值 0.45)
│ 3. 多步複雜推理? │──是──→ 採用【召回優先】檔(閾值 0.25)
└──────────────┘
3. 典型問題與調參實踐
場景一:特定標識符解析失敗
- 現象:一個關鍵業務代碼得分 0.4,被 0.45 的閾值過濾。
- 解決:將閾值降至 0.25,同時調小分段至 128,增大重疊率至 30%,並在原文中顯式添加錨點説明(如“所有相關變體均指向此條目”)。
- 結果:關鍵信息召回率達到 100%,解析準確率顯著提升。
場景二:相似工具描述導致混淆
- 現象:低閾值(0.25)使兩個功能相似的工具描述得分相近(~0.48),LLM 決策時容易選錯。
- 解決:將重排返回數量從 7 減少到 3,同時將閾值適度提高到 0.4,確保僅將最相關的片段提供給 LLM。
- 結果:工具選擇的準確率得到明顯改善。
場景三:跨分段的複合規則失效
- 現象:一條完整規則被分割在兩個分段中,單獨看每個分段得分都不足以被召回。
- 解決:將分段大小擴大至 1024,並保持 20% 的重疊率,確保完整規則處於同一分段內;閾值維持在 0.45。
- 結果:複合條件不再被遺漏,決策邏輯保持完整。
4. 高級調優技巧
-
顯式錨點增強
在文檔的 Markdown 註釋或特定字段中,明確列出關鍵術語的同義詞、縮寫、常見拼寫變體。這能同時提升全文檢索的命中率和向量檢索的相關性分數。 -
n-gram 分段回溯查詢
對於代碼、命令或特定標識符,可將查詢文本拆分為 n-gram 進行多次查詢(如 2-gram 或 3-gram)。只要任意一次查詢命中,就將該片段優先拼接到上下文的最前面,確保關鍵片段不被遺漏。 -
通配符與近似匹配
在支持全文檢索 DSL 的系統中,使用通配符或近似匹配語法進行強制召回,再利用重排模型對召回結果進行去噪和排序。
5. 上線前檢查清單
- [ ] 使用“召回優先”檔位對歷史用例進行迴歸測試(例如 100 條),記錄所有被召回片段的最低得分。
- [ ] 將“最低得分 + 0.05”設定為線上服務的初始閾值,在保證召回的基礎上追求精度。
- [ ] 開啓日誌採樣,定期(如每週)覆盤“空返回結果”和“錯誤解析”兩類案例,據此調整閾值或補充錨點。
- [ ] 在知識庫文檔發生任何增刪改後,重新執行迴歸測試,避免因索引變化導致排序漂移。
6. 結語
在 Agent 場景下,知識庫參數配置的核心目標並非追求回答數量,而是保障決策的可靠性。
謹記兩個原則:
- 召回階段可以寬鬆,依賴重排模型來濾除噪音;
- 閾值應基於數據(最低合格得分)動態設定,而非靜態經驗值。
遵循本指南的矩陣與流程,你可以快速完成配置,將重心交給後續的重排與推理環節。願你的 Agent 從此告別“失憶”,穩健執行。