什麼是知識庫?
代理被允許據以作答的那些文件。agent4.io 分開存放兩種——你公司審核過的資料,以及每位客戶自己的檔案——一起檢索,但絕不混為一談。
知識庫是讓代理變成「你的」而不是「泛用的」那個東西。它回答的是「這句話是哪來的」——而如果裡面根本沒有,代理就該直說沒有。
是兩套知識庫,不是一套
多數平台只給你一堆文件。這對一個回答常見問題的客服機器人夠用,但拿來做真正的生意差得很遠,因為客戶實際會問的兩種問題,性質根本不同:
「你們的條件是什麼?我符合嗎?」——這是你的資料。收費表、資格規則、現行法規、產品說明。誰來問都是同一份答案,經過你的審核,具有權威性。
「這是我的畢業證書和在職證明,我這樣算到哪裡?」——這是他的資料。它只屬於一位客戶,經常很敏感,而且對其他任何人都毫無意義。
agent4.io 把這兩者當成兩套獨立的系統,刻意不共用實作:
| 租戶知識庫 | 客戶知識庫 | |
|---|---|---|
| 擁有者 | 你,也就是企業本身 | 單一終端客戶 |
| 內容 | 法規、價格、政策、產品條款 | 他的文件、證書、往來文件 |
| 隔離方式 | 在 API 層依租戶過濾 | 由資料庫強制執行,依客戶與空間為界 |
| 靜態儲存 | 不加密——這本來就是你對外公開的資料 | 用該客戶自己的金鑰加密 |
| 維護者 | 你的管理員,發布前先審過 | 客戶隨手自行上傳 |
為什麼真正的答案兩邊都要用到
拿一個移民諮詢當例子:「這條途徑的薪資門檻我過得了嗎?」
門檻在你的租戶知識庫裡——你們事務所審核過的現行規定。他的薪資在他自己的知識庫裡——上週上傳的那封在職證明。這兩半單獨拿出來都答不了這個問題。只有你的文件的代理,只能把規則背一遍,然後請客戶自己去比對;只有他的文件的代理,知道他薪水多少,卻不知道要過的門檻是什麼。
同一個問題兩邊一起檢索,而答案就是那個比對的結果。
讓兩者不會被搞混的機制
檢索到的段落不會倒進同一個桶子。每個來源會以各自的區塊、配上各自的定位送進去:
- 你的資料被標示為權威、必須遵循,而且每一個知識庫都帶著你自己寫的、給模型的指示。一個法規庫可以寫:這是審核過的現行規定;只從這裡作答,不要退回你的既有知識,這裡沒寫到的就說沒有。
- 客戶的資料則被標示為僅供參考——是他的東西,有用,但不是政策的來源。
這個區別,正是「貴所的費用是 X」和「客戶因為自己上傳的某份文件裡這樣寫,所以認為費用是 X」的差別。一個分不出這兩者的代理,遲早會把客戶自己的錯誤原封不動地當成你的政策再講給他聽。
一個沒有任何相關段落的知識庫,什麼都不會貢獻——連標頭都不會出現。相關與否在模型看到任何東西之前,就已經由向量距離決定了,所以一個無關的知識庫不會杵在那裡消耗它的注意力。
每個知識庫可以各自調鬆緊
每個知識庫都有自己的相關度門檻,因為該多謹慎,在不同地方本來就不一樣。法規庫應該嚴:低於門檻就什麼都不回、直接說「我沒有這項資料」才是對的,遠好過端出一段講另一條途徑、只差一點點的文字。一般常見問答可以鬆一點,大致相關的答案還是有幫助。
知識庫不是訓練資料。你上傳的東西不會改變模型;它改變的是模型在回答的那一刻被允許讀什麼。這也是為什麼改一份文件,之後所有答案立刻跟著改——不用重新訓練,也不用重新部署。